0001321732-24-000060.txt : 20240507 0001321732-24-000060.hdr.sgml : 20240507 20240507164456 ACCESSION NUMBER: 0001321732-24-000060 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 71 CONFORMED PERIOD OF REPORT: 20240331 FILED AS OF DATE: 20240507 DATE AS OF CHANGE: 20240507 FILER: COMPANY DATA: COMPANY CONFORMED NAME: Penumbra Inc CENTRAL INDEX KEY: 0001321732 STANDARD INDUSTRIAL CLASSIFICATION: SURGICAL & MEDICAL INSTRUMENTS & APPARATUS [3841] ORGANIZATION NAME: 08 Industrial Applications and Services IRS NUMBER: 000000000 STATE OF INCORPORATION: DE FISCAL YEAR END: 1231 FILING VALUES: FORM TYPE: 10-Q SEC ACT: 1934 Act SEC FILE NUMBER: 001-37557 FILM NUMBER: 24922770 BUSINESS ADDRESS: STREET 1: ONE PENUMBRA PLACE CITY: ALAMEDA STATE: CA ZIP: 94502 BUSINESS PHONE: (510) 995-2486 MAIL ADDRESS: STREET 1: ONE PENUMBRA PLACE CITY: ALAMEDA STATE: CA ZIP: 94502 10-Q 1 pen-20240331.htm 10-Q pen-20240331
00013217322024Q1FALSE--12-3100013217322024-01-012024-03-3100013217322024-04-23xbrli:shares00013217322024-03-31iso4217:USD00013217322023-12-3100013217322023-01-012023-03-31iso4217:USDxbrli:shares0001321732us-gaap:CommonStockMember2023-12-310001321732us-gaap:AdditionalPaidInCapitalMember2023-12-310001321732us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-12-310001321732us-gaap:RetainedEarningsMember2023-12-310001321732us-gaap:CommonStockMember2024-01-012024-03-310001321732us-gaap:AdditionalPaidInCapitalMember2024-01-012024-03-310001321732us-gaap:AccumulatedOtherComprehensiveIncomeMember2024-01-012024-03-310001321732us-gaap:RetainedEarningsMember2024-01-012024-03-310001321732us-gaap:CommonStockMember2024-03-310001321732us-gaap:AdditionalPaidInCapitalMember2024-03-310001321732us-gaap:AccumulatedOtherComprehensiveIncomeMember2024-03-310001321732us-gaap:RetainedEarningsMember2024-03-310001321732us-gaap:CommonStockMember2022-12-310001321732us-gaap:AdditionalPaidInCapitalMember2022-12-310001321732us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-12-310001321732us-gaap:RetainedEarningsMember2022-12-3100013217322022-12-310001321732us-gaap:CommonStockMember2023-01-012023-03-310001321732us-gaap:AdditionalPaidInCapitalMember2023-01-012023-03-310001321732us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-01-012023-03-310001321732us-gaap:RetainedEarningsMember2023-01-012023-03-310001321732us-gaap:CommonStockMember2023-03-310001321732us-gaap:AdditionalPaidInCapitalMember2023-03-310001321732us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-03-310001321732us-gaap:RetainedEarningsMember2023-03-3100013217322023-03-31pen:activitypen:segment0001321732us-gaap:CommercialPaperNotIncludedWithCashAndCashEquivalentsMember2024-03-310001321732us-gaap:CertificatesOfDepositMember2024-03-310001321732us-gaap:USTreasurySecuritiesMember2024-03-310001321732us-gaap:USStatesAndPoliticalSubdivisionsMember2024-03-310001321732us-gaap:CorporateDebtSecuritiesMember2024-03-310001321732pen:NonMarketableInvestmentsMember2024-03-310001321732pen:MarketableAndNonMarketableInvestmentsMember2024-03-310001321732us-gaap:CommercialPaperNotIncludedWithCashAndCashEquivalentsMember2023-12-310001321732us-gaap:CertificatesOfDepositMember2023-12-310001321732us-gaap:USTreasurySecuritiesMember2023-12-310001321732us-gaap:USStatesAndPoliticalSubdivisionsMember2023-12-310001321732us-gaap:CorporateDebtSecuritiesMember2023-12-310001321732us-gaap:FairValueInputsLevel1Memberus-gaap:CommercialPaperNotIncludedWithCashAndCashEquivalentsMemberus-gaap:FairValueMeasurementsRecurringMember2024-03-310001321732us-gaap:FairValueInputsLevel2Memberus-gaap:CommercialPaperNotIncludedWithCashAndCashEquivalentsMemberus-gaap:FairValueMeasurementsRecurringMember2024-03-310001321732us-gaap:FairValueInputsLevel3Memberus-gaap:CommercialPaperNotIncludedWithCashAndCashEquivalentsMemberus-gaap:FairValueMeasurementsRecurringMember2024-03-310001321732us-gaap:FairValueMeasurementsRecurringMemberus-gaap:CommercialPaperNotIncludedWithCashAndCashEquivalentsMember2024-03-310001321732us-gaap:FairValueInputsLevel1Memberus-gaap:CertificatesOfDepositMemberus-gaap:FairValueMeasurementsRecurringMember2024-03-310001321732us-gaap:FairValueInputsLevel2Memberus-gaap:CertificatesOfDepositMemberus-gaap:FairValueMeasurementsRecurringMember2024-03-310001321732us-gaap:CertificatesOfDepositMemberus-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2024-03-310001321732us-gaap:CertificatesOfDepositMemberus-gaap:FairValueMeasurementsRecurringMember2024-03-310001321732us-gaap:FairValueInputsLevel1Memberus-gaap:MoneyMarketFundsMemberus-gaap:FairValueMeasurementsRecurringMember2024-03-310001321732us-gaap:FairValueInputsLevel2Memberus-gaap:MoneyMarketFundsMemberus-gaap:FairValueMeasurementsRecurringMember2024-03-310001321732us-gaap:MoneyMarketFundsMemberus-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2024-03-310001321732us-gaap:MoneyMarketFundsMemberus-gaap:FairValueMeasurementsRecurringMember2024-03-310001321732us-gaap:FairValueInputsLevel1Memberus-gaap:USTreasurySecuritiesMemberus-gaap:FairValueMeasurementsRecurringMember2024-03-310001321732us-gaap:FairValueInputsLevel2Memberus-gaap:USTreasurySecuritiesMemberus-gaap:FairValueMeasurementsRecurringMember2024-03-310001321732us-gaap:USTreasurySecuritiesMemberus-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2024-03-310001321732us-gaap:USTreasurySecuritiesMemberus-gaap:FairValueMeasurementsRecurringMember2024-03-310001321732us-gaap:FairValueInputsLevel1Memberus-gaap:CommercialPaperNotIncludedWithCashAndCashEquivalentsMemberus-gaap:FairValueMeasurementsRecurringMember2024-03-310001321732us-gaap:FairValueInputsLevel2Memberus-gaap:CommercialPaperNotIncludedWithCashAndCashEquivalentsMemberus-gaap:FairValueMeasurementsRecurringMember2024-03-310001321732us-gaap:CommercialPaperNotIncludedWithCashAndCashEquivalentsMemberus-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2024-03-310001321732us-gaap:CommercialPaperNotIncludedWithCashAndCashEquivalentsMemberus-gaap:FairValueMeasurementsRecurringMember2024-03-310001321732us-gaap:CertificatesOfDepositMemberus-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2024-03-310001321732us-gaap:FairValueInputsLevel2Memberus-gaap:CertificatesOfDepositMemberus-gaap:FairValueMeasurementsRecurringMember2024-03-310001321732us-gaap:CertificatesOfDepositMemberus-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2024-03-310001321732us-gaap:CertificatesOfDepositMemberus-gaap:FairValueMeasurementsRecurringMember2024-03-310001321732us-gaap:FairValueInputsLevel1Memberus-gaap:USTreasurySecuritiesMemberus-gaap:FairValueMeasurementsRecurringMember2024-03-310001321732us-gaap:FairValueInputsLevel2Memberus-gaap:USTreasurySecuritiesMemberus-gaap:FairValueMeasurementsRecurringMember2024-03-310001321732us-gaap:USTreasurySecuritiesMemberus-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2024-03-310001321732us-gaap:USTreasurySecuritiesMemberus-gaap:FairValueMeasurementsRecurringMember2024-03-310001321732us-gaap:FairValueInputsLevel1Memberus-gaap:USStatesAndPoliticalSubdivisionsMemberus-gaap:FairValueMeasurementsRecurringMember2024-03-310001321732us-gaap:FairValueInputsLevel2Memberus-gaap:USStatesAndPoliticalSubdivisionsMemberus-gaap:FairValueMeasurementsRecurringMember2024-03-310001321732us-gaap:USStatesAndPoliticalSubdivisionsMemberus-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2024-03-310001321732us-gaap:USStatesAndPoliticalSubdivisionsMemberus-gaap:FairValueMeasurementsRecurringMember2024-03-310001321732us-gaap:CorporateDebtSecuritiesMemberus-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2024-03-310001321732us-gaap:FairValueInputsLevel2Memberus-gaap:CorporateDebtSecuritiesMemberus-gaap:FairValueMeasurementsRecurringMember2024-03-310001321732us-gaap:CorporateDebtSecuritiesMemberus-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2024-03-310001321732us-gaap:CorporateDebtSecuritiesMemberus-gaap:FairValueMeasurementsRecurringMember2024-03-310001321732us-gaap:FairValueInputsLevel1Memberpen:NonMarketableInvestmentsMemberus-gaap:FairValueMeasurementsRecurringMember2024-03-310001321732us-gaap:FairValueInputsLevel2Memberpen:NonMarketableInvestmentsMemberus-gaap:FairValueMeasurementsRecurringMember2024-03-310001321732pen:NonMarketableInvestmentsMemberus-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2024-03-310001321732pen:NonMarketableInvestmentsMemberus-gaap:FairValueMeasurementsRecurringMember2024-03-310001321732us-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2024-03-310001321732us-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2024-03-310001321732us-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2024-03-310001321732us-gaap:FairValueMeasurementsRecurringMember2024-03-310001321732us-gaap:FairValueInputsLevel1Memberus-gaap:MoneyMarketFundsMemberus-gaap:FairValueMeasurementsRecurringMember2023-12-310001321732us-gaap:FairValueInputsLevel2Memberus-gaap:MoneyMarketFundsMemberus-gaap:FairValueMeasurementsRecurringMember2023-12-310001321732us-gaap:MoneyMarketFundsMemberus-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2023-12-310001321732us-gaap:MoneyMarketFundsMemberus-gaap:FairValueMeasurementsRecurringMember2023-12-310001321732us-gaap:FairValueInputsLevel1Memberus-gaap:CommercialPaperNotIncludedWithCashAndCashEquivalentsMemberus-gaap:FairValueMeasurementsRecurringMember2023-12-310001321732us-gaap:FairValueInputsLevel2Memberus-gaap:CommercialPaperNotIncludedWithCashAndCashEquivalentsMemberus-gaap:FairValueMeasurementsRecurringMember2023-12-310001321732us-gaap:CommercialPaperNotIncludedWithCashAndCashEquivalentsMemberus-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2023-12-310001321732us-gaap:CommercialPaperNotIncludedWithCashAndCashEquivalentsMemberus-gaap:FairValueMeasurementsRecurringMember2023-12-310001321732us-gaap:CertificatesOfDepositMemberus-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2023-12-310001321732us-gaap:FairValueInputsLevel2Memberus-gaap:CertificatesOfDepositMemberus-gaap:FairValueMeasurementsRecurringMember2023-12-310001321732us-gaap:CertificatesOfDepositMemberus-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2023-12-310001321732us-gaap:CertificatesOfDepositMemberus-gaap:FairValueMeasurementsRecurringMember2023-12-310001321732us-gaap:FairValueInputsLevel1Memberus-gaap:USTreasurySecuritiesMemberus-gaap:FairValueMeasurementsRecurringMember2023-12-310001321732us-gaap:FairValueInputsLevel2Memberus-gaap:USTreasurySecuritiesMemberus-gaap:FairValueMeasurementsRecurringMember2023-12-310001321732us-gaap:USTreasurySecuritiesMemberus-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2023-12-310001321732us-gaap:USTreasurySecuritiesMemberus-gaap:FairValueMeasurementsRecurringMember2023-12-310001321732us-gaap:FairValueInputsLevel1Memberus-gaap:USStatesAndPoliticalSubdivisionsMemberus-gaap:FairValueMeasurementsRecurringMember2023-12-310001321732us-gaap:FairValueInputsLevel2Memberus-gaap:USStatesAndPoliticalSubdivisionsMemberus-gaap:FairValueMeasurementsRecurringMember2023-12-310001321732us-gaap:USStatesAndPoliticalSubdivisionsMemberus-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2023-12-310001321732us-gaap:USStatesAndPoliticalSubdivisionsMemberus-gaap:FairValueMeasurementsRecurringMember2023-12-310001321732us-gaap:CorporateDebtSecuritiesMemberus-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2023-12-310001321732us-gaap:FairValueInputsLevel2Memberus-gaap:CorporateDebtSecuritiesMemberus-gaap:FairValueMeasurementsRecurringMember2023-12-310001321732us-gaap:CorporateDebtSecuritiesMemberus-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2023-12-310001321732us-gaap:CorporateDebtSecuritiesMemberus-gaap:FairValueMeasurementsRecurringMember2023-12-310001321732us-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2023-12-310001321732us-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2023-12-310001321732us-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2023-12-310001321732us-gaap:FairValueMeasurementsRecurringMember2023-12-3100013217322023-01-012023-12-310001321732us-gaap:DevelopedTechnologyRightsMember2024-01-012024-03-310001321732us-gaap:DevelopedTechnologyRightsMember2024-03-310001321732us-gaap:CustomerRelationshipsMember2024-01-012024-03-310001321732us-gaap:CustomerRelationshipsMember2024-03-310001321732us-gaap:TradeSecretsMember2024-01-012024-03-310001321732us-gaap:TradeSecretsMember2024-03-310001321732us-gaap:DevelopedTechnologyRightsMember2023-01-012023-12-310001321732us-gaap:DevelopedTechnologyRightsMember2023-12-310001321732us-gaap:CustomerRelationshipsMember2023-01-012023-12-310001321732us-gaap:CustomerRelationshipsMember2023-12-310001321732us-gaap:TradeSecretsMember2023-01-012023-12-310001321732us-gaap:TradeSecretsMember2023-12-310001321732us-gaap:CostOfSalesMember2024-01-012024-03-310001321732us-gaap:CostOfSalesMember2023-01-012023-03-310001321732us-gaap:SellingGeneralAndAdministrativeExpensesMember2024-01-012024-03-310001321732us-gaap:SellingGeneralAndAdministrativeExpensesMember2023-01-012023-03-310001321732us-gaap:RevolvingCreditFacilityMember2020-04-240001321732pen:RoyaltyAgreementMarch2005Member2018-12-310001321732pen:RoyaltyAgreementMarch2005Member2019-07-012019-07-310001321732pen:RoyaltyAgreementMarch2005Member2024-03-310001321732us-gaap:SubsequentEventMember2024-04-222024-04-220001321732us-gaap:PerformanceSharesMember2024-01-012024-03-310001321732us-gaap:ResearchAndDevelopmentExpenseMember2024-01-012024-03-310001321732us-gaap:ResearchAndDevelopmentExpenseMember2023-01-012023-03-310001321732pen:NonPerformanceSharesMember2024-03-310001321732pen:NonPerformanceSharesMember2024-01-012024-03-310001321732us-gaap:PerformanceSharesMember2024-03-310001321732us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember2023-12-310001321732us-gaap:AccumulatedTranslationAdjustmentMember2023-12-310001321732us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember2022-12-310001321732us-gaap:AccumulatedTranslationAdjustmentMember2022-12-310001321732us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember2024-01-012024-03-310001321732us-gaap:AccumulatedTranslationAdjustmentMember2024-01-012024-03-310001321732us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember2023-01-012023-03-310001321732us-gaap:AccumulatedTranslationAdjustmentMember2023-01-012023-03-310001321732us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember2024-03-310001321732us-gaap:AccumulatedTranslationAdjustmentMember2024-03-310001321732us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember2023-03-310001321732us-gaap:AccumulatedTranslationAdjustmentMember2023-03-31xbrli:pure0001321732country:US2024-01-012024-03-310001321732country:US2023-01-012023-03-310001321732pen:OtherNonUSMember2024-01-012024-03-310001321732pen:OtherNonUSMember2023-01-012023-03-310001321732pen:ThrombectomyMember2024-01-012024-03-310001321732pen:ThrombectomyMember2023-01-012023-03-310001321732pen:EmbolizationAndAccessMember2024-01-012024-03-310001321732pen:EmbolizationAndAccessMember2023-01-012023-03-31


UNITED STATES
SECURITIES AND EXCHANGE COMMISSION
Washington, D.C. 20549
FORM 10-Q
(Mark One)
QUARTERLY REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934
For the quarterly period ended March 31, 2024
OR 
TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934
For the transition period from_____ to _____         
Commission File Number: 001-37557
Penumbra, Inc.
(Exact name of registrant as specified in its charter)
Delaware05-0605598
(State or other jurisdiction of
incorporation or organization)
(I.R.S. Employer
Identification No.)

One Penumbra Place
Alameda, CA 94502
(Address of principal executive offices, including zip code)

(510) 748-3200
(Registrant’s telephone number, including area code)
Securities registered pursuant to Section 12(b) of the Act:
Title of each classTrading SymbolName of each exchange on which registered
Common Stock, Par value $0.001 per sharePENThe New York Stock Exchange
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.    Yes: ☒    No:  ☐
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 (§232.405 of this chapter) during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).    Yes:  ☒    No:  ☐
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 “large accelerated filer,” “accelerated filer,” “smaller reporting company” and “emerging growth company” in Rule 12b-2 of the Exchange Act.
Large accelerated filerAccelerated filer
Non-accelerated filerSmaller reporting company
Emerging growth company
If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with accounting standards provided pursuant to Section 13(a) of the Exchange Act.
Indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Exchange Act).    Yes:    No:  ☒
As of April 23, 2024, the registrant had 38,764,917 shares of common stock, par value $0.001 per share, outstanding.




FORM 10-Q
TABLE OF CONTENTS
 
Page



PART I - FINANCIAL INFORMATION
ITEM 1. CONDENSED CONSOLIDATED FINANCIAL STATEMENTS.
Penumbra, Inc.
Condensed Consolidated Balance Sheets
(unaudited)
(in thousands)
March 31, 2024December 31, 2023
Assets
Current assets:
Cash and cash equivalents$223,114 $167,486 
Marketable investments90,360 121,701 
Accounts receivable, net of allowance for credit losses of $3,020 and $3,169 at March 31, 2024 and December 31, 2023, respectively
191,989 201,768 
Inventories398,366 388,023 
Prepaid expenses and other current assets31,194 36,424 
Total current assets935,023 915,402 
Property and equipment, net75,744 72,691 
Operating lease right-of-use assets185,845 188,756 
Finance lease right-of-use assets30,234 31,092 
Intangible assets, net68,421 71,056 
Goodwill166,103 166,270 
Deferred taxes84,661 85,158 
Other non-current assets33,814 25,880 
Total assets$1,579,845 $1,556,305 
Liabilities and Stockholders’ Equity
Current liabilities:
Accounts payable$32,454 $27,155 
Accrued liabilities106,549 110,555 
Current operating lease liabilities11,520 11,203 
Current finance lease liabilities2,280 2,231 
Total current liabilities152,803 151,144 
Non-current operating lease liabilities194,537 197,229 
Non-current finance lease liabilities23,098 23,680 
Other non-current liabilities5,876 5,308 
Total liabilities376,314 377,361 
Commitments and contingencies (Note 8)
Stockholders’ equity:
Common stock39 39 
Additional paid-in capital1,062,470 1,047,198 
Accumulated other comprehensive loss (4,838)(3,151)
Retained earnings145,860 134,858 
Total stockholders’ equity1,203,531 1,178,944 
Total liabilities and stockholders’ equity$1,579,845 $1,556,305 

See accompanying notes to the unaudited condensed consolidated financial statements
2

Penumbra, Inc.
Condensed Consolidated Statements of Operations
(unaudited)
(in thousands, except share and per share amounts)
Three Months Ended March 31,
20242023
Revenue$278,655 $241,398 
Cost of revenue97,516 90,326 
Gross profit181,139 151,072 
Operating expenses:
Research and development 24,626 19,986 
Sales, general and administrative 144,412 123,078 
Total operating expenses 169,038 143,064 
Income from operations12,101 8,008 
Interest and other income, net2,525 644 
Income before income taxes14,626 8,652 
Provision for income taxes3,624 90 
Net income$11,002 $8,562 
Net income per share:
Basic$0.28 $0.22 
Diluted$0.28 $0.22 
Weighted average shares outstanding:
Basic38,717,334 38,186,342 
Diluted39,387,359 39,075,388 

See accompanying notes to the unaudited condensed consolidated financial statements
3

Penumbra, Inc.
Condensed Consolidated Statements of Comprehensive Income (Loss)
(unaudited)
(in thousands)
Three Months Ended March 31,
20242023
Net income$11,002 $8,562 
Other comprehensive (loss) income, net of tax:
Foreign currency translation adjustments, net of tax(1,853)403 
Net change in unrealized gains or losses on available-for-sale securities, net of tax166 860 
Total other comprehensive (loss) income, net of tax(1,687)1,263 
Comprehensive income$9,315 $9,825 

See accompanying notes to the unaudited condensed consolidated financial statements

4

Penumbra, Inc.
Condensed Consolidated Statements of Stockholders’ Equity
(unaudited)
(in thousands, except share amounts)
Common StockAdditional Paid-in CapitalAccumulated Other Comprehensive LossRetained Earnings Total Stockholders’ Equity
SharesAmount
Balance at December 31, 202338,681,549 $39 $1,047,198 $(3,151)$134,858 $1,178,944 
Issuance of common stock76,597 — 238 — — 238 
Shares held for tax withholdings(1,732)— (421)— — (421)
Stock-based compensation— — 15,455 — — 15,455 
Other comprehensive loss— — — (1,687)— (1,687)
Net income — — — — 11,002 11,002 
Balance at March 31, 202438,756,414 $39 $1,062,470 $(4,838)$145,860 $1,203,531 


Common StockAdditional Paid-in CapitalAccumulated Other Comprehensive LossRetained Earnings Total Stockholders’ Equity
SharesAmount
Balance at December 31, 202238,107,977 $38 $963,040 $(8,124)$43,904 $998,858 
Issuance of common stock134,936 — 2,209 — — 2,209 
Shares held for tax withholdings(813)— (204)— — (204)
Stock-based compensation— — 13,781 — — 13,781 
Other comprehensive income— — — 1,263 — 1,263 
Net income— — — — 8,562 8,562 
Balance at March 31, 202338,242,100 $38 $978,826 $(6,861)$52,466 $1,024,469 
See accompanying notes to the unaudited condensed consolidated financial statements
5

Penumbra, Inc.
Condensed Consolidated Statements of Cash Flows
(unaudited)
(in thousands)
 Three Months Ended March 31,
 20242023
CASH FLOWS FROM OPERATING ACTIVITIES:
Net income$11,002 $8,562 
Adjustments to reconcile net income to net cash provided by operating activities:
Depreciation and amortization7,519 6,575 
Stock-based compensation13,569 12,766 
Inventory write-downs358 1,009 
Deferred taxes475 (953)
Other(221)140 
Changes in operating assets and liabilities:
Accounts receivable8,460 (3,540)
Inventories(11,619)(10,641)
Prepaid expenses and other current and non-current assets4,565 (3,994)
Accounts payable5,209 2,074 
Accrued expenses and other non-current liabilities(1,022)1,131 
Net cash provided by operating activities38,295 13,129 
CASH FLOWS FROM INVESTING ACTIVITIES:
Purchases of non-marketable investments(10,000) 
Purchases of marketable investments(11,267) 
Proceeds from maturities of marketable investments43,375 14,605 
Purchases of property and equipment(5,824)(3,894)
Other2,100  
Net cash provided by investing activities18,384 10,711 
CASH FLOWS FROM FINANCING ACTIVITIES:
Proceeds from exercises of stock options238 2,209 
Payment of employee taxes related to vested stock(421)(204)
Payments of finance lease obligations(550)(474)
Other(61)(155)
 Net cash (used in) provided by financing activities(794)1,376 
Effect of foreign exchange rate changes on cash and cash equivalents(257)(386)
NET INCREASE IN CASH AND CASH EQUIVALENTS55,628 24,830 
CASH AND CASH EQUIVALENTS—Beginning of period167,486 69,858 
CASH AND CASH EQUIVALENTS—End of period$223,114 $94,688 
NONCASH INVESTING AND FINANCING ACTIVITIES:
Right-of-use assets obtained in exchange for operating lease obligations$292 $341 
Right-of-use assets obtained in exchange for finance lease obligations$17 $68 
Purchase of property and equipment funded through accounts payable and accrued liabilities$1,816 $1,781 
SUPPLEMENTAL CASH FLOW INFORMATION:
Cash paid for amounts included in the measurement of operating lease liabilities$5,337 $4,706 
Cash paid for income taxes$1,125 $1,413 
See accompanying notes to the unaudited condensed consolidated financial statements
6

Penumbra, Inc.
Notes to Condensed Consolidated Financial Statements
(unaudited)

1. Organization and Description of Business
Penumbra, Inc. (the “Company”) is a global healthcare company focused on innovative therapies. The Company designs, develops, manufactures and markets novel products and has a broad portfolio that addresses challenging medical conditions in markets with significant unmet need. The Company focuses on developing, manufacturing and marketing novel products for use by specialist physicians and other healthcare providers to drive improved clinical and health outcomes. The Company believes that the cost-effectiveness of our products is attractive to our customers.
2. Summary of Significant Accounting Policies
Basis of Presentation and Consolidation
The accompanying condensed consolidated balance sheet as of March 31, 2024, the condensed consolidated statements of operations, the condensed consolidated statements of comprehensive income (loss), and the condensed consolidated statements of stockholders’ equity for the three months ended March 31, 2024 and 2023, and the condensed consolidated statements of cash flows for the three months ended March 31, 2024 and 2023 are unaudited. The unaudited condensed consolidated financial statements included herein have been prepared by the Company in accordance with accounting principles generally accepted in the United States of America (“U.S. GAAP”) and the applicable rules and regulations of the U.S. Securities and Exchange Commission (the “SEC”) for interim financial information. Accordingly, they do not include all of the information and notes required by U.S. GAAP for complete financial statements. The condensed consolidated balance sheet data as of December 31, 2023 was derived from the audited financial statements as of that date.
The unaudited condensed consolidated financial statements have been prepared on the same basis as the audited consolidated financial statements and, in the opinion of management, reflect all adjustments of a normal recurring nature considered necessary to state fairly the Company’s financial position as of March 31, 2024, the results of its operations for the three months ended March 31, 2024 and 2023, the changes in its comprehensive income (loss) and stockholders’ equity for the three months ended March 31, 2024 and 2023, and its cash flows for the three months ended March 31, 2024 and 2023. The results for the three months ended March 31, 2024 are not necessarily indicative of the results that may be expected for the year ending December 31, 2024 or for any other future annual or interim period. Certain changes in presentation were made to interest income (expense), net and other income (expense), net in the condensed consolidated statements of operations for the three months ended March 31, 2023 to conform to the presentation for the three months ended March 31, 2024.
The information included in this Quarterly Report on Form 10-Q should be read in conjunction with the audited consolidated financial statements and notes thereto for the fiscal year ended December 31, 2023, included in the Company’s Annual Report on Form 10-K as filed with the SEC on February 22, 2024. There have been no changes to the Company’s significant accounting policies during the three months ended March 31, 2024, as compared to the significant accounting policies described in the Company’s Annual Report on Form 10-K for the fiscal year ended December 31, 2023.
The condensed consolidated financial statements include the accounts of the Company and its wholly-owned subsidiaries. All intercompany balances and transactions have been eliminated in consolidation.
Use of Estimates
The preparation of financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of assets, liabilities and equity accounts; disclosure of contingent assets and liabilities at the date of the financial statements; and the reported amounts of revenues and expenses during the reporting period. On an ongoing basis, the Company evaluates its estimates, including those related to marketable investments, allowances for credit losses, the amount of variable consideration included in the transaction price, warranty reserve, valuation of inventories, useful lives of property and equipment, intangibles, operating and financing lease right-of-use (“ROU”) assets and liabilities, income taxes, and other contingencies, including the probability of achieving performance targets associated with equity awards with performance conditions, among others. The Company bases its estimates on historical experience and on various other assumptions that are believed 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 data. Actual results could differ from those estimates.
Segments
7

Penumbra, Inc.
Notes to Condensed Consolidated Financial Statements
(unaudited)
The Company determined its operating segment on the same basis that it uses to evaluate its performance internally. The Company has one business activity: the design, development, manufacturing and marketing of innovative medical products, and operates as one operating segment. The Company’s chief operating decision-maker, its Chief Executive Officer, reviews its consolidated operating results for the purpose of allocating resources and evaluating financial performance.
Recently Issued Accounting Standards
In December 2023, the FASB issued Accounting Standards Update (“ASU”) No. 2023-09, Income Taxes— Improvements to Income Tax Disclosures. The standard enhances annual income tax disclosures, by requiring additional disaggregated information about an entity’s effective tax rate reconciliation and income taxes paid. The ASU adds guidance that requires public business entities to disclose additional information in specified categories with respect to the reconciliation of the effective tax rate to the statutory rate (the rate reconciliation) for federal, state, and foreign income taxes. It also requires greater detail about individual reconciling items in the rate reconciliation to the extent the impact of those items exceeds a specified threshold (5%). In addition to new disclosures associated with the rate reconciliation, the ASU requires information pertaining to taxes paid (net of refunds received) to be disaggregated for federal, state, and foreign taxes and further disaggregated for specific jurisdictions to the extent the related amounts exceed the quantitative threshold. For public business entities, the amendments in ASU 2023-09 are effective for annual periods beginning after December 15, 2024. Early adoption is permitted for annual financial statements not yet issued or made available for issuance. The Company is assessing the impact the new guidance will have on the disclosures within its consolidated financial statements and does not elect to early adopt as of March 31, 2024.
In November 2023, the FASB issued ASU 2023-07, Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures. The ASU expands public entities’ segment disclosures by requiring disclosure of significant segment expenses that are regularly reviewed by the CODM and included within each reported measure of segment profit or loss, an amount and description of its composition for other segment items, and interim disclosures of a reportable segment’s profit or loss and assets. The ASU also allows, in addition to the measure that is most consistent with U.S. GAAP, the disclosure of additional measures of segment profit or loss that are used by the CODM in assessing segment performance and deciding how to allocate resources. All disclosure requirements under ASU 2023-07 are also required for public entities with a single reportable segment. The ASU is effective for fiscal years beginning after December 15, 2023, and interim periods within fiscal years beginning after December 15, 2024, on a retrospective basis, with early adoption permitted. The Company is assessing the impact the new guidance will have on the disclosures within its consolidated financial statements and does not elect to early adopt as of March 31, 2024.
In March 2024, the SEC issued Release Nos. 33-11275; 34-99678 "The Enhancement and Standardization of Climate-Related Disclosures for Investors", which will require registrants to provide certain climate-related information in their registration statements and annual reports, including information about a registrant’s climate-related risks that have materially impacted, or are reasonably likely to have a material impact on, its business strategy, results of operations, or financial condition, as well as certain disclosures related to severe weather events and other natural conditions in a registrant’s audited financial statements. The disclosure requirements follow a phase-in timeline, with initial requirements beginning with the Company's annual report for the year ending December 31, 2025. On April 4, 2024, the SEC voluntarily stayed implementation of this new rule pending judicial review. The Company is currently analyzing the impact that the new climate-related rules will have on the disclosures within its consolidated financial statements and will continue to monitor the status of the rules while legal challenges are pending.
3. Investments and Fair Value of Financial Instruments
Marketable and Non-Marketable Investments
The Company’s marketable and non-marketable investments have been classified and accounted for as available-for-sale. The Company’s marketable and non-marketable investments as of March 31, 2024 and December 31, 2023 were as follows (in thousands):
8

Penumbra, Inc.
Notes to Condensed Consolidated Financial Statements
(unaudited)
March 31, 2024
Securities with net gains or losses in accumulated other comprehensive income (loss)
Amortized CostGross Unrealized GainsGross Unrealized LossesAllowance
 for
 Credit Loss
Fair Value
Marketable investments:
Commercial paper $31,449 $7 $(11)$ $31,445 
Certificate of Deposit4,632 4   4,636 
U.S. treasury13,210  (142)$ 13,068 
U.S. states and municipalities900  (9) 891 
Corporate bonds40,542 19 (241) 40,320 
Total90,733 30 (403) 90,360 
Non-marketable investments:
Non-marketable debt securities10,000    10,000 
Total10,000    10,000 
Total $100,733 $30 $(403)$ $100,360 
December 31, 2023
Securities with net gains or losses in accumulated other comprehensive income (loss)
Amortized CostGross Unrealized GainsGross Unrealized LossesAllowance
 for
 Credit Loss
Fair Value
Marketable investments:
Commercial paper $39,727 $32 $(3)$ $39,756 
Certificate of Deposit6,392 9   6,401 
U.S. treasury10,226  (160) 10,066 
U.S. states and municipalities2,950  (35) 2,915 
Corporate bonds62,964 29 (430) 62,563 
Total$122,259 $70 $(628)$ $121,701 
As of March 31, 2024, the total amortized cost basis of the Company’s available-for-sale debt securities, excluding non-marketable debt securities, is an unrealized loss position of $0.4 million, which was primarily attributable to rising interest rates since purchase. The Company reviewed its available-for-sale securities in an unrealized loss position and concluded that the decline in fair value was not related to credit losses and is recoverable. During the three months ended March 31, 2024, no allowance for credit losses was recorded and instead the unrealized losses are reported as a component of accumulated other comprehensive loss.
9

Penumbra, Inc.
Notes to Condensed Consolidated Financial Statements
(unaudited)
The following tables present the gross unrealized losses and the fair value for those marketable investments that were in an unrealized loss position for less than and more twelve months as of March 31, 2024 and December 31, 2023 (in thousands):
March 31, 2024
Less than 12 monthsMore than 12 monthsTotal
Fair ValueGross Unrealized LossesFair ValueGross Unrealized LossesFair ValueGross Unrealized Losses
Marketable investments:
Commercial paper$20,041 $(11)$ $ $20,041 $(11)
U.S. treasury5,666 (80)4,436 (62)10,102 (142)
U.S. states and municipalities  891 (9)891 (9)
Corporate bonds2,998 (3)13,421 (238)16,419 (241)
Total$28,705 $(94)$18,748 $(309)$47,453 $(403)
December 31, 2023
Less than 12 monthsMore than 12 monthsTotal
Fair ValueGross Unrealized LossesFair ValueGross Unrealized LossesFair ValueGross Unrealized Losses
Marketable investments:
Commercial paper$16,241 $(3)$ $ $16,241 $(3)
U.S. treasury5,677 (54)4,389 (106)10,066 (160)
U.S. states and municipalities  2,915 (35)2,915 (35)
Corporate bonds15,945 (2)30,912 (428)46,857 (430)
Total$37,863 $(59)$38,216 $(569)$76,079 $(628)
The contractual maturities of the Company’s marketable investments as of March 31, 2024 (in thousands):
March 31, 2024
Marketable investments:Amortized CostFair Value
Due in one year$87,922 $87,601 
Due in one to five years2,811 2,759 
Total$90,733 $90,360 
Non-Marketable Investments
During the three months ended March 31, 2024, the Company completed a strategic investment in a privately held company. Under the terms of the investment, the Company paid $10.0 million in exchange for shares of Series B preferred stock which represented an immaterial investment in the investment in outstanding equity securities of the privately held company. The Company determined that the investment did not meet the criteria to be accounted for as an equity method investment under ASC 323. The investment was accounted for as an available-for-sale debt security in accordance with ASC 320 as the preferred stock contains a contingent redemption feature at the Company’s option. The investment is included in other non-current assets on the condensed consolidated balance sheet and changes in fair value are recorded in total other comprehensive (loss) income, net of tax. There were no unrealized gains or losses recorded in connection with the Company’s non-marketable debt securities during the three months ended March 31, 2024.
Fair Value of Financial Instruments
Fair value is defined as the price that would be received to sell an asset or paid to transfer a liability (an exit price) in an orderly transaction between market participants at the reporting date. The accounting guidance establishes a three-tiered hierarchy, which prioritizes the inputs used in the valuation methodologies in measuring fair value:
Level 1 - Quoted prices in active markets for identical assets or liabilities.
10

Penumbra, Inc.
Notes to Condensed Consolidated Financial Statements
(unaudited)
Level 2 - Inputs other than Level 1 that are observable, either directly or indirectly, such as quoted prices in markets that are not active; or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities.
Level 3 - Unobservable inputs that are supported by little or no market activity and that are significant to the fair value of the assets or liabilities.
The categorization of a financial instrument within the valuation hierarchy is based on the lowest level of input that is significant to the fair value measurement.
The Company classifies its cash equivalents and marketable investments within Level 1 and Level 2, as it uses quoted market prices or alternative pricing sources and models utilizing market observable inputs. The Company classifies its non-marketable investments in preferred stock in privately held companies within Level 3, as they do not have a readily determinable fair value.
The Company determined the fair value of its Level 1 financial instruments, which are traded in active markets, using quoted market prices for identical instruments.
Marketable investments classified within Level 2 of the fair value hierarchy are valued based on other observable inputs, including broker or dealer quotations or alternative pricing sources. When quoted prices in active markets for identical assets or liabilities are not available, the Company relies on non-binding quotes from its investment managers, which are based on proprietary valuation models of independent pricing services. These models generally use inputs such as observable market data, quoted market prices for similar instruments, historical pricing trends of a security as relative to its peers. To validate the fair value determination provided by its investment managers, the Company reviews the pricing movement in the context of overall market trends and trading information from its investment managers. In addition, the Company assesses the inputs and methods used in determining the fair value in order to determine the classification of securities in the fair value hierarchy.
Non-marketable investments classified within Level 3 of the fair value hierarchy are valued based on unobservable inputs that are supported by little or no market activity. Current financial information of private companies may not be available and consequently the Company estimates the fair value using inputs that are based on the best available information at the measurement date, which may include the most recent financial information, financial projections, and financing transactions available for the investee and other quantitative and qualitative factors. Additionally, based on the timing, volume, and other characteristics of the available information, the Company may supplement this information by using one or more valuation techniques, including market and income approaches. The Company did not hold any non-marketable investments classified as Level 3 as of December 31, 2023.
The Company did not hold any Level 3 marketable investments as of March 31, 2024 or December 31, 2023. During the three months ended March 31, 2024 and 2023, the Company did not have any transfers between Level 1, Level 2 or Level 3 of the fair value hierarchy. Additionally, the Company did not have any financial assets and liabilities measured at fair value on a non-recurring basis as of March 31, 2024 or December 31, 2023.
11

Penumbra, Inc.
Notes to Condensed Consolidated Financial Statements
(unaudited)
The following tables set forth the Company’s financial assets and liabilities measured at fair value by level within the fair value hierarchy as of March 31, 2024 and December 31, 2023 (in thousands):
 As of March 31, 2024
 Level 1Level 2Level 3Fair Value
Financial Assets
Cash equivalents:
Commercial paper$ $30,555 $ $30,555 
Certificate of deposit 4,901  4,901 
Money market funds57,278   57,278 
U.S. treasury53,672   53,672 
Marketable investments:
Commercial paper 31,445  31,445 
Certificate of deposit 4,636  4,636 
U.S. treasury13,068   13,068 
U.S. states and municipalities 891  891 
Corporate bonds 40,320  40,320 
Non-marketable investments:
Non-marketable investments  10,000 10,000 
Total$124,018 $112,748 $10,000 $246,766 
 As of December 31, 2023
 Level 1Level 2Level 3Fair Value
Financial Assets
Cash equivalents:
Money market funds$86,991 $ $ $86,991 
Marketable investments:
Commercial paper 39,756  39,756 
Certificate of Deposit 6,401  6,401 
U.S. treasury10,066   10,066 
U.S. states and municipalities 2,915  2,915 
Corporate bonds 62,563  62,563 
Total$97,057 $111,635 $ $208,692 

4. Balance Sheet Components
Inventories
The components of inventories consisted of the following (in thousands):
 March 31, 2024December 31, 2023
Raw materials$121,134 $119,511 
Work in process36,815 34,489 
Finished goods240,417 234,023 
Inventories$398,366 $388,023 
12

Penumbra, Inc.
Notes to Condensed Consolidated Financial Statements
(unaudited)
Accrued Liabilities
The components of accrued liabilities consisted of the following (in thousands):
 March 31, 2024December 31, 2023
Payroll and employee-related expenses$59,481 $65,395 
Accrued expenses14,327 11,711 
Deferred revenue8,672 6,985 
Other accrued liabilities24,069 26,464 
Total accrued liabilities$106,549 $110,555 
The following table shows the changes in the Company’s estimated product warranty accrual, included in accrued liabilities, for the three months ended March 31, 2024 and twelve months ended December 31, 2023, respectively (in thousands):
 March 31, 2024December 31, 2023
Balance at the beginning of the period$5,755 $5,370 
Accruals of warranties issued, net(3,141)1,865 
Settlements of warranty claims(536)(1,480)
Balance at the end of the period$2,078 $5,755 
5. Intangible Assets
The following table presents details of the Company’s acquired intangible assets as of March 31, 2024 and December 31, 2023 (in thousands, except weighted-average amortization period):
As of March 31, 2024Weighted-Average Amortization PeriodGross Carrying AmountAccumulated AmortizationNet
Finite-lived intangible assets:
Developed technology8.8 years$83,289 $(22,020)$61,269 
Customer relationships15.0 years6,434 (2,895)3,539 
Trade secrets and processes20.0 years5,256 (1,643)3,613 
Total intangible assets 9.6 years$94,979 $(26,558)$68,421 
As of December 31, 2023Weighted-Average
Amortization Period
Gross Carrying AmountAccumulated AmortizationNet
Finite-lived intangible assets:
Developed technology8.8 years$83,289 $(19,640)$63,649 
Customer relationships15.0 years6,579 (2,851)3,728 
Trade secrets and processes20.0 years5,256 (1,577)3,679 
Total intangible assets9.6 years$95,124 $(24,068)$71,056 
The gross carrying amount and accumulated amortization of the customer relationships are the only intangible assets subject to foreign currency translation effects. The Company’s $5.3 million trade secrets and processes intangible asset was recognized in connection with a royalty buyout agreement in 2018.
The following table presents the amortization recorded related to the Company’s finite-lived intangible assets for the three months ended March 31, 2024 and 2023 (in thousands):
13

Penumbra, Inc.
Notes to Condensed Consolidated Financial Statements
(unaudited)
 Three Months Ended March 31,
 20242023
Cost of revenue$66 $66 
Sales, general and administrative2,487 2,486 
Total$2,553 $2,552 
6. Goodwill
The following table presents the changes in goodwill during the three months ended March 31, 2024 (in thousands):
Total Company
Balance as of December 31, 2023$166,270 
Foreign currency translation (167)
Balance as of March 31, 2024$166,103 
Goodwill Impairment Review
The Company reviews goodwill for impairment annually on October 31, or more frequently if events or circumstances indicate that an impairment loss may have occurred. The Company determined there were no impairment indicators as of March 31, 2024.
7. Indebtedness
Credit Agreement
On April 24, 2020, the Company entered into a Credit Agreement (the “Credit Agreement”) with JPMorgan Chase Bank, N.A., as administrative agent and lender, and Bank of America, N.A. and Citibank, N.A. as lenders. The Credit Agreement was secured and provided for up to $100 million in available revolving borrowing capacity with an option, subject to certain conditions, for the Company to increase the aggregate borrowing capacity to up to $150 million, and originally matured on April 23, 2021. During the three months ended March 31, 2021, 2022 and 2023, the Credit Agreement was amended to extend the maturity date and make other changes to the terms of the Credit Agreement. The Credit Agreement matured on February 16, 2024 and was not renewed.
8. Commitments and Contingencies
Royalty Obligations
In March 2005, the Company entered into a license agreement that requires the Company to make minimum royalty payments to the licensor on a quarterly basis. As of December 31, 2018, the license agreement required minimum annual royalty payments of $0.1 million in equal quarterly installments. In July 2019, the Company amended the license agreement to extend its term for an additional ten years and to increase the required minimum annual royalty payments by $0.2 million for a required minimum annual royalty payment of $0.3 million. Unless terminated earlier, the term of the amended license agreement shall expire June 30, 2029.
Royalty expense included in cost of sales for the three months ended March 31, 2024 and 2023 was $0.6 million and $0.7 million, respectively.
Contingencies
From time to time, the Company may have certain contingent liabilities that arise in the ordinary course of business. The Company accrues a liability for such matters when it is probable that future expenditures will be made and such expenditures can be reasonably estimated.
Indemnification
The Company enters into standard indemnification arrangements in the ordinary course of business. In many such arrangements, the Company agrees to indemnify, hold harmless, and reimburse the indemnified parties for losses suffered or
14

Penumbra, Inc.
Notes to Condensed Consolidated Financial Statements
(unaudited)
incurred by the indemnified parties in connection with any trade secret, copyright, patent or other intellectual property infringement claim by any third-party with respect to the Company’s technology. The Company also agrees to indemnify many indemnified parties for product defect and similar claims. The term of these indemnification agreements is generally perpetual. The maximum potential amount of future payments the Company could be required to make under these agreements is not determinable because it involves claims that may be made against the Company in the future, but have not yet been made.
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, other than liabilities arising from willful misconduct of the individual.
The Company has not incurred costs to defend lawsuits or settle claims related to these indemnification agreements. No liability associated with any of these indemnification requirements has been recorded to date.
Litigation
From time to time, the Company is subject to certain legal proceedings, as well as demands, claims and threatened litigation that arise in the normal course of our business. The Company reviews the status of each significant matter quarterly and assesses its potential financial exposure. If the potential loss from a claim or legal proceeding is considered probable and the amount can be reasonably estimated, the Company records a liability and an expense for the estimated loss and discloses it in the Company’s financial statements if it is significant. If the Company determines that a loss is possible and the range of the loss can be reasonably determined, the Company does not record a liability or an expense but the Company discloses the range of the possible loss. The Company bases its judgments on the best information available at the time. As additional information becomes available, the Company reassesses the potential liability related to its pending claims and litigation and may revise its estimates.
On April 7, 2023, a former contractor who had been retained by the Company through a third party staffing agency filed a putative class action lawsuit as well as a Private Attorney General Act (“PAGA”) representative action complaint against the Company in the Superior Court of the State of California for the County of Alameda, on behalf of the contractor and similarly situated Company contractors and employees in California, alleging various claims pursuant to the California Labor Code related to wages, overtime, meal and rest breaks, reimbursement of business expenses, wage statements and records, and other similar allegations. Additionally, on April 10, 2023, a current employee of the Company filed a PAGA representative action complaint against the Company in the Superior Court of the State of California for the County of Alameda, on behalf of the employee and similarly situated Company employees in California, alleging similar claims. The complaints seek payment of various alleged unpaid wages, penalties, interest and attorneys’ fees in unspecified amounts. On April 22, 2024, the Company engaged in mediation, following which the parties agreed to settle the claims for an aggregate amount of $4.6 million, subject to negotiation of a mutually agreeable settlement agreement and approval by the court. As a result, the Company recorded an accrual of $4.6 million in its financial statements for the three months ended March 31, 2024 related to these matters.
9. Stockholders’ Equity
Stock-based Compensation
Stock-based compensation expense is associated with restricted stock units (“RSUs”), RSUs with performance conditions (“PSUs”), stock options, and the Company’s Employee Stock Purchase Plan (“ESPP”).
Certain PSUs granted to senior management during the three months ended March 31, 2024, will vest subject to the achievement of pre-established financial performance targets for the year ending December 31, 2024, and continued service. The fair value of these PSUs is based on the closing price of the Company's common stock on the date of grant. Stock-based compensation costs associated with these PSUs are recognized over the requisite service period of 4.25 years using graded vesting which results in more accelerated expense recognition compared to traditional time-based vesting over the same vesting period. Each reporting period, the Company monitors the probability of achieving the performance targets and may adjust periodic stock-based compensation expense based on its determination of the likelihood of achieving these performance targets and the estimated number of shares of common stock that will vest. The actual number of PSUs awarded is based on the actual performance during the performance period compared to the performance targets.
The following table sets forth the stock-based compensation expense included in the Company’s condensed consolidated statements of operations for the three months ended March 31, 2024 and 2023 (in thousands):
15

Penumbra, Inc.
Notes to Condensed Consolidated Financial Statements
(unaudited)
 Three Months Ended March 31,
 20242023
Cost of revenue$1,194 $1,191 
Research and development2,168 2,278 
Sales, general and administrative10,207 9,297 
Total$13,569 $12,766 
As of March 31, 2024, total unrecognized compensation cost related to unvested share-based compensation arrangements, excluding PSUs, was $56.4 million, which is expected to be recognized over a weighted average period of 2.6 years.
As of March 31, 2024, total unrecognized compensation cost related to unvested PSU share-based compensation arrangements was $27.3 million, which is expected to be recognized over a weighted average period of 3.5 years.
The total stock-based compensation cost capitalized in inventory was $1.2 million and $1.3 million as of March 31, 2024 and December 31, 2023, respectively.
10. Accumulated Other Comprehensive Income
Other comprehensive (loss) income consists of two components: unrealized gains or losses on the Company’s available-for-sale marketable investments and gains or losses from foreign currency translation adjustments. Until realized and reported as a component of consolidated net income, these comprehensive income items accumulate and are included within accumulated other comprehensive income. Unrealized gains and losses on our marketable investments are reclassified from accumulated other comprehensive income into earnings when realized upon sale, and are determined based on specific identification of securities sold. Gains and losses from the translation of assets and liabilities denominated in non-U.S. dollar functional currencies are included in accumulated other comprehensive income.
The following table summarizes the changes in the accumulated balances during the period, and includes information regarding the manner in which the reclassifications out of accumulated other comprehensive income into earnings affect our condensed consolidated statements of comprehensive income (loss) (in thousands):    
Three Months Ended March 31, 2024Three Months Ended March 31, 2023
 Marketable
Investments
 Currency Translation
Adjustments
 Total Marketable
Investments
 Currency Translation
Adjustments
 Total
Balance, beginning of the period$(558)$(2,593)$(3,151)$(3,500)$(4,624)$(8,124)
Other comprehensive loss before reclassifications:
Unrealized gains — marketable investments(1)
166  166 860  860 
Foreign currency translation (losses) gains (1,857)(1,857) 403 403 
Income tax effect — expense 4 4    
Net of tax166 (1,853)(1,687)860 403 1,263 
Net current-year other comprehensive income (loss)166 (1,853)(1,687)860 403 1,263 
Balance, end of the period$(392)$(4,446)$(4,838)$(2,640)$(4,221)$(6,861)
(1) There were no unrealized gains or losses recorded in connection with the Company’s non-marketable debt securities as of March 31, 2024.
11. Income Taxes
The Company’s income tax expense (benefit), deferred tax assets and liabilities, and reserves for unrecognized tax benefits reflect management’s best assessment of estimated current and future taxes to be paid. The Company is subject to income taxes in both the United States and foreign jurisdictions. Significant judgment and estimates are required in determining the consolidated income tax expense (benefit).
During interim periods, the Company generally utilizes the estimated annual effective tax rate (“AETR”) method which involves the use of forecasted information. Under the AETR method, the provision is calculated by applying the estimated
16

Penumbra, Inc.
Notes to Condensed Consolidated Financial Statements
(unaudited)
AETR for the full fiscal year to “ordinary” income or loss (pretax income or loss excluding unusual or infrequently occurring discrete items) for the reporting period. Jurisdictions with tax assets for which the Company believes a tax benefit cannot be realized are excluded from the computation of its AETR.
The Company’s provision for income taxes was $3.6 million for the three months ended March 31, 2024, compared to $0.1 million for the three months ended March 31, 2023. The effective tax rate was 24.8% for the three months ended March 31, 2024, compared to 1.0% for the three months ended March 31, 2023. The change in effective tax rate was primarily attributable to an increase in tax expense due to profit increase and a decrease in excess tax benefits from stock-based compensation attributable to its U.S. jurisdiction.
Significant domestic deferred tax assets (“DTAs”) were generated in recent years, primarily due to excess tax benefits from stock option exercises and vesting of restricted stock units. The Company evaluates all available positive and negative evidence, objective and subjective in nature, in each reporting period to determine if sufficient taxable income will be generated to realize the benefits of its DTAs and, if not, a valuation allowance to reduce the DTAs is recorded.
As of March 31, 2024, the Company maintains a valuation allowance primarily against its California R&D tax credit DTAs for which the Company does not believe a tax benefit is more likely than not to be realized due to the computation of California taxes under the single sales factor and non-conformity of the Section 174 capitalization rule.
The Company maintains that all foreign earnings, with the exception of a portion of the earnings of its German subsidiary, are permanently reinvested outside the United States and therefore deferred taxes attributable to such earnings are not provided for in the Company’s condensed consolidated financial statements as of March 31, 2024.
12. Net Income per Share
The Company computed basic net income per share based on the weighted average number of shares of common stock outstanding during the period. The Company computed diluted net income per share based on the weighted average number of shares of common stock outstanding plus potentially dilutive common stock equivalents outstanding during the period. For the purposes of this calculation, stock options, restricted stock units, performance stock units, and stock sold through the ESPP are considered common stock equivalents.
A reconciliation of the numerator and denominator used in the calculation of the basic and diluted net income per share is as follows (in thousands, except share and per share amounts):
 Three Months Ended March 31,
 20242023
Numerator:
Net income$11,002 $8,562 
Denominator:
Weighted average shares used to compute net income attributable to common stockholders:
Basic38,717,334 38,186,342 
Potential dilutive stock-based options and awards670,025 889,046 
Diluted39,387,359 39,075,388 
Net income per share:
Basic$0.28 $0.22 
Diluted$0.28 $0.22 
For the three months ended March 31, 2024 and 2023, outstanding stock-based awards of 26 thousand and 26 thousand shares, respectively, were excluded from the computation of diluted net income per share because their effect would have been anti-dilutive in the periods presented.
13. Interest and other income (expense), net
17

Penumbra, Inc.
Notes to Condensed Consolidated Financial Statements
(unaudited)
The following table shows the components of interest and other income (expense), net for the three months ended March 31, 2024 and 2023 and (in thousands):
 Three Months Ended March 31,
 20242023
Interest income$3,293 $970 
Interest expense(402)(416)
Other income (expense), net(1)
(366)90 
Interest and other income, net$2,525 $644 
(1) Consists primarily of the effects of foreign currency gains or losses.
14. Revenues
Revenue Recognition
Revenue is recognized in an amount that reflects the consideration the Company expects to be entitled to in exchange for goods or services. All revenue recognized in the condensed consolidated statements of operations is considered to be revenue from contracts with customers.
Certain changes in presentation were made to the Company’s revenues disaggregated by product categories for the period ended March 31, 2023 to conform to the presentation for the period ended March 31, 2024. During the year ended December 31, 2023, the Company made changes to its product categories to provide investors with more meaningful information to understand the performance of its business and strategic direction.
The Company’s revenues disaggregated by geography, based on the destination to which the Company ships its products, for the three months ended March 31, 2024 and 2023 was as follows (in thousands):
 Three Months Ended March 31,
 20242023
United States$209,644 $171,879 
International69,011 69,519 
Total$278,655 $241,398 
The Company’s revenues disaggregated by product category for the three months ended March 31, 2024 and 2023 was as follows (in thousands):
 Three Months Ended March 31,
 20242023
Thrombectomy$187,703 $144,980 
Embolization and Access90,952 96,418 
Total$278,655 $241,398 
Performance Obligations
Delivery of products - The Company’s contracts with customers, other than the China licensing arrangements described below, typically contain a single performance obligation, delivery of the Company’s products. Satisfaction of that performance obligation occurs when control of the promised goods transfers to the customer, which is generally upon shipment or receipt by customer for non-consignment sale agreements and upon utilization for consignment sale agreements.
Payment terms - The Company’s payment terms vary by the type and location of our customer. The timing between fulfillment of performance obligations and when payment is due is not significant and does not give rise to financing transactions. The Company did not have any contracts with significant financing components as of March 31, 2024 and 2023.
Product returns - The Company may allow customers to return products purchased at the Company’s discretion. The Company estimates the amount of its product sales that may be returned by its customers and records this estimate as a
18

Penumbra, Inc.
Notes to Condensed Consolidated Financial Statements
(unaudited)
reduction of revenue in the period in which the related product revenue is recognized. The Company currently estimates product return liabilities using its own historic sales information, trends, industry data, and other relevant data points.
Warranties - The Company offers its standard warranty to all customers and it is not available for sale on a standalone basis. The Company’s standard warranty represents its guarantee that its products function as intended, are free from defects, and comply with agreed-upon specifications and quality standards. This assurance does not constitute a service and is not a separate performance obligation.
Transaction Price
Revenue is recorded at the net sales price, which includes estimates of variable consideration such as product returns utilizing historical return rates, rebates, discounts, and other adjustments to net revenue. To the extent the transaction price includes variable consideration, the Company estimates the amount of variable consideration that should be included in the transaction price. When determining if variable consideration should be constrained, management considers whether there are factors that could result in a significant reversal of revenue and the likelihood of a potential reversal. Variable consideration is included in revenue only to the extent that it is probable that a significant reversal of the revenue recognized will not occur when the uncertainty associated with the variable consideration is subsequently resolved. These estimates are reassessed each reporting period as required. During the three months ended March 31, 2024 and 2023, the Company made no material changes in estimates for variable consideration. When the Company performs shipping and handling activities after control of goods is transferred to the customer, they are considered as fulfillment activities, and costs are accrued for when the related revenue is recognized. Taxes collected from customers relating to product sales and remitted to governmental authorities are excluded from revenues.
Contract assets and liabilities
The following information summarizes the Company’s contract assets and liabilities (in thousands):
March 31, 2024December 31, 2023
Contract assets$18,000 $18,000 
Contract liabilities$7,261 $6,496 
Contract assets for the periods presented primarily represent the difference between the revenue that was recognized based on the relative standalone selling price of the related performance obligations satisfied and the contractual billing terms in the licensing arrangements.
Contract liabilities represents amounts that the Company has already invoiced and are ultimately expected to be recognized as revenue, but for which not all revenue recognition criteria have been met and is recognized as the associated performance obligations are satisfied.
China Distribution and Technology Licensing Agreement
In December 2020, the Company entered into a distribution and technology licensing arrangement with its existing distribution partner in China. In addition to modifying the Company’s standard distribution agreement with its partner in China, the Company agreed to license the technology for certain products to its partner in China to permit the manufacturing and commercialization of such products in China as well as provide certain regulatory support. During the three months ended March 31, 2022, the Company further amended the distribution agreement and entered into an additional license arrangement, pursuant to which the Company agreed to license the technology for additional products to its partner in China on substantially the same terms as the existing license arrangement. Apart from the standard distribution agreement, the Company will receive fixed payments upon transferring its distinct licensed technology and providing related regulatory support. During the three months ended September 30, 2023, the Company entered into an additional licensing arrangement, pursuant to which the Company agreed to license the technology for additional products to its partner in China and will receive fixed payments upon transferring its distinct licensed technology and providing related regulatory support and royalty payments on the down-stream sale of the licensed products. During the three months ended March 31, 2024, the Company entered into another licensing agreement, pursuant to which the Company agreed to license the technology for additional products to its partner in China and will receive fixed payments upon transferring its distinct licensed technology and providing related regulatory support.

19

ITEM 2. MANAGEMENT’S DISCUSSION AND ANALYSIS OF FINANCIAL CONDITION AND RESULTS OF OPERATIONS.
The following discussion and analysis of our financial condition and results of operations should be read in conjunction with the unaudited condensed consolidated financial statements and the related notes thereto included elsewhere in this Quarterly Report on Form 10-Q and the audited consolidated financial statements and notes thereto and management’s discussion and analysis of financial condition and results of operations for the year ended December 31, 2023, included in our Annual Report on Form 10-K filed with the Securities and Exchange Commission (“SEC”) on February 22, 2024.
This Quarterly Report on Form 10-Q contains “forward-looking statements” within the meaning of Section 21E of the Securities Exchange Act of 1934, as amended (the “Exchange Act”). In some cases, you can identify these statements by forward-looking words such as “may,” “will,” “expect,” “believe,” “anticipate,” “intend,” “could,” “should,” “estimate,” or “continue,” and similar expressions or variations, but these words are not the exclusive means for identifying such statements. Such forward-looking statements are subject to risks, uncertainties and other factors that could cause actual results and the timing of certain events to differ materially from future results and timing expressed or implied by such forward-looking statements. Factors that could cause or contribute to such differences include, but are not limited to, those identified below, and those discussed in the section titled “Risk Factors” in Part I, Item 1A of our Annual Report on Form 10-K for the year ended December 31, 2023. The forward-looking statements in this Quarterly Report on Form 10-Q represent our views as of the date of this Quarterly Report on Form 10-Q. Except as may be required by law, we assume no obligation to update these forward-looking statements or the reasons that results could differ from these forward-looking statements. You should, therefore, not rely on these forward-looking statements as representing our views as of any date subsequent to the date of this Quarterly Report on Form 10-Q.
Overview
References herein to “we,” “us,” “our,” the “Company,” and “Penumbra,” refer to Penumbra, Inc. and its consolidated subsidiaries unless expressly indicated or the context requires otherwise.
Penumbra is a global healthcare company focused on innovative therapies. We design, develop, manufacture and market novel products and have a broad portfolio that addresses challenging medical conditions in markets with significant unmet need. Our team focuses on developing, manufacturing and marketing novel products for use by specialist physicians and healthcare providers to drive improved clinical and health outcomes. We believe that the cost-effectiveness of our products is attractive to our customers.
Since our founding in 2004, we have invested heavily in our product development and commercial expansion that has established the foundation of our global organization. We have successfully developed, obtained regulatory clearance or approval for, and introduced products into the thrombectomy market since 2007, access market since 2008, embolization market since 2011, neurosurgical market since 2014, and immersive healthcare market since 2020.
We expect to continue to develop and build our portfolio of products, including our thrombectomy, embolization, access and immersive healthcare technologies, while iterating on our currently available products. Generally, when we introduce a next generation product or a new product designed to replace a current product, sales of the earlier generation product or the product replaced decline. Our research and development activities are centered around the development of new products and clinical activities designed to support our regulatory submissions and demonstrate the effectiveness of our products.
To address the challenging and significant clinical needs of our key markets, we have developed products that fall into the following broad product families:
Our thrombectomy products fall into two broad product families:
Peripheral thrombectomy - INDIGO System, including Lightning, Bolt and CAT RX, designed for continuous or modulated aspiration, computer-assisted vacuum thrombectomy, including aspiration catheters, microprocessor-controlled software algorithms that orchestrate the interaction of our pump and catheters, separators, aspiration pump and accessories, including delivery catheters used in peripheral thrombectomy procedures
Neuro thrombectomy - Penumbra System, Penumbra RED, JET, ACE, and BMX, MAX catheters and the 3D Revascularization Device, Penumbra ENGINE and other components and accessories
Our embolization and access products fall into four broad product families:
Peripheral embolization - RUBY Coil System, Ruby LP, LANTERN Delivery Microcatheter and the POD System (POD and POD Packing Coil)
20

Neuro embolization - Penumbra SMART COIL, Penumbra Coil 400, POD400 and PAC400
Access - delivery catheters, consisting of Neuron, Neuron MAX Select, BENCHMARK, BMX, DDC, PX SLIM and SENDit
Neurosurgical - Artemis Neuro Evacuation Device
Our immersive healthcare products fall into one broad product family:
REAL Immersive System - portfolio of products that leverages immersive computer-based technologies to deliver engaging, immersive therapeutics to promote better health, motor function and cognition
We support healthcare providers, hospitals and clinics in more than 100 countries. In the three months ended March 31, 2024 and 2023, 24.8% and 28.8% of our revenue, respectively, was generated from customers located outside of the United States. Our sales outside of the United States are denominated principally in the euro, with some sales being denominated in other currencies. As a result, we have foreign exchange exposure but do not currently engage in hedging.
We generated revenue of $278.7 million and $241.4 million for the three months ended March 31, 2024 and 2023, respectively, an increase of $37.3 million. We generated income from operations of $12.1 million and $8.0 million for the three months ended March 31, 2024 and 2023, respectively.
Factors Affecting Our Performance
There are a number of factors that have impacted, and we believe will continue to impact, our results of operations and growth. These factors include: 
The rate at which we grow our salesforce and the speed at which newly hired salespeople become fully effective can impact our revenue growth or our costs incurred in anticipation of such growth.
Our industry is intensely competitive and, in particular, we compete with a number of large, well-capitalized companies. We must continue to successfully compete in light of our competitors’ existing and future products and their resources to successfully market to the specialist physicians who use our products.
We must continue to successfully introduce new products that gain acceptance with specialist physicians and other healthcare providers and successfully transition from existing products to new products, ensuring adequate supply. In addition, as we introduce new products and expand our production capacity, we anticipate additional personnel will be hired and trained to build our inventory of components and finished goods in advance of sales, which may cause quarterly fluctuations in our operating results and financial condition.
Publications of clinical results by us, our competitors and other third parties can have a significant influence on whether, and the degree to which, our products are used by specialist physicians and the procedures and treatments those physicians choose to administer for a given condition.
The specialist physicians who use our interventional products may not perform procedures during certain times of the year, such as those periods when they are at major medical conferences or are away from their practices for other reasons, the timing of which occurs irregularly during the year and from year to year.
Most of our sales outside of the United States are denominated in the local currency of the country in which we sell our products. As a result, our revenue from international sales can be significantly impacted by fluctuations in foreign currency exchange rates.
The availability and levels of reimbursement within the relevant healthcare payment system for healthcare providers for procedures in which our products are used.
21

In addition, we have experienced and expect to continue to experience meaningful variability in our quarterly revenue, gross profit and gross margin percentage as a result of a number of factors, including, but not limited to: the number of available selling days, which can be impacted by holidays; the mix of products sold; the geographic mix of where products are sold; the demand for our products and the products of our competitors; the timing of or failure to obtain regulatory approvals or clearances for products; increased competition; the timing of customer orders; inventory write-offs due to obsolescence; costs, benefits and timing of new product introductions; costs, benefits and timing of the acquisition and integration of businesses and product lines we may acquire; the availability and cost of components and raw materials; and fluctuations in foreign currency exchange rates. We may experience quarters in which we have significant revenue growth sequentially followed by quarters of moderate or no revenue growth. Additionally, we may experience quarters in which operating expenses, in particular research and development expenses, fluctuate depending on the stage and timing of product development.
Components of Results of Operations
Revenue. We sell our interventional products directly to hospitals and other healthcare providers and through distributors for use in procedures performed by specialist physicians to treat patients in two key markets: thrombectomy and embolization and access. We sell our products through purchase orders, and we do not have long term purchase commitments from our customers. Revenue from product sales is recognized either on the date of shipment or the date of receipt by the customer, but is deferred for certain transactions when control has not yet transferred. With respect to products that we consign to hospitals, which primarily consist of coils, we recognize revenue at the time hospitals utilize products in a procedure. Revenue also includes shipping and handling costs that we charge to customers.
Cost of Revenue. Cost of revenue consists primarily of the cost of raw materials and components, personnel costs, including stock-based compensation, inbound freight charges, receiving costs, inspection and testing costs, warehousing costs, royalty expense, shipping and handling costs, and other labor and overhead costs incurred in the manufacturing of products. We manufacture substantially all of our products in our manufacturing facilities in Alameda and Roseville, California.
Operating Expenses
Research and Development (“R&D”). R&D expenses primarily consist of product development, clinical and regulatory expenses, materials, depreciation and other costs associated with the development of our products. R&D expenses also include salaries, benefits and other related costs, including stock-based compensation, for personnel and consultants. We expense R&D costs as they are incurred.
Sales, General and Administrative (“SG&A”). SG&A expenses primarily consist of salaries, benefits and other related costs, including stock-based compensation, for personnel and consultants engaged in sales, marketing, finance, legal, compliance, administrative, facilities and information technology and human resource activities. Our SG&A expenses also include marketing trials, medical education, training, commissions, generally based on sales, to direct sales representatives, amortization of acquired intangible assets and acquisition-related costs.
Income Taxes
We are taxed at the rates applicable within each jurisdiction in which we operate. The composite income tax rate, tax provisions, deferred tax assets (“DTAs”) and deferred tax liabilities will vary according to the jurisdiction in which profits arise. Tax laws are complex and subject to different interpretations by management and the respective governmental taxing authorities, and require us to exercise judgment in determining our income tax provision, our deferred tax assets and deferred tax liabilities and the potential valuation allowance recorded against our net DTAs. Deferred tax assets and liabilities are determined using the enacted tax rates in effect for the years in which those tax assets are expected to be realized. A valuation allowance is established when it is more likely than not that the future realization of all or some of the DTAs will not be achieved.
22

Results of Operations
The following table sets forth the components of our condensed consolidated statements of operations in dollars and as a percentage of revenue for the periods presented:
 Three Months Ended March 31,
 20242023
 (in thousands, except for percentages)
Revenue$278,655 100.0 %$241,398 100.0 %
Cost of revenue97,516 35.0 90,326 37.4 
Gross profit181,139 65.0 151,072 62.6 
Operating expenses:
Research and development24,626 8.8 19,986 8.3 
Sales, general and administrative144,412 51.8 123,078 51.0 
Total operating expenses169,038 60.7 143,064 59.3 
Income from operations12,101 4.3 8,008 3.3 
Interest and other income, net2,525 0.9 644 0.3 
Income before income taxes14,626 5.2 8,652 3.6 
Provision for income taxes3,624 1.3 90 — 
Net income$11,002 3.9 %$8,562 3.5 %

Three Months Ended March 31, 2024 Compared to the Three Months Ended March 31, 2023
Certain changes in presentation were made to the Company’s revenues disaggregated by product categories for the period ended March 31, 2023 to conform to the presentation for the period ended March 31, 2024. During the year ended December 31, 2023, the Company made changes to its product categories to provide investors with more meaningful information to understand the performance of its business and strategic direction.
Revenue
 Three Months Ended March 31,Change
 20242023$%
 (in thousands, except for percentages)
Thrombectomy$187,703 $144,980 $42,723 29.5 %
Embolization and Access90,952 96,418 (5,466)(5.7)%
Total$278,655 $241,398 $37,257 15.4 %
Revenue increased $37.3 million, or 15.4%, to $278.7 million in the three months ended March 31, 2024, from $241.4 million in the three months ended March 31, 2023. Overall revenue growth was primarily due to an increase in sales of our existing thrombectomy products.
Revenue from our global thrombectomy products increased $42.7 million, or 29.5%, to $187.7 million in the three months ended March 31, 2024, from $145.0 million in the three months ended March 31, 2023. The increase in our global thrombectomy products was primarily attributable to higher sales volume in the United States as a result of sales and further market penetration of our existing products. This increase was driven by sales of our U.S. thrombectomy products, which increased by 35.2% in the three months ended March 31, 2024. Prices for our thrombectomy products remained substantially unchanged during the period.
Revenue from our global embolization and access products decreased $5.5 million, or 5.7%, to $91.0 million in the three months ended March 31, 2024, from $96.4 million in the three months ended March 31, 2023. The decrease in our global embolization and access products was primarily driven by our international embolization and access products, which decreased by 11.6% in the three months ended March 31, 2024. Prices for our embolization and access products remained substantially unchanged during the period.
Revenue by Geographic Area
The following table presents revenue by geographic area, based on our customers’ shipping destinations:
23

Three Months Ended March 31,Change
20242023$%
 (in thousands, except for percentages)
United States$209,644 75.2 %$171,879 71.2 %$37,765 22.0 %
International69,011 24.8 %69,519 28.8 %(508)(0.7)%
Total$278,655 100.0 %$241,398 100.0 %$37,257 15.4 %
Revenue from product sales in international markets decreased $0.5 million, or 0.7%, to $69.0 million in the three months ended March 31, 2024, from $69.5 million in the three months ended March 31, 2023. Revenue from international sales represented 24.8% and 28.8% of our total revenue for the three months ended March 31, 2024 and 2023, respectively.
Gross Margin
 Three Months Ended March 31,Change
 20242023$%
 (in thousands, except for percentages)
Cost of revenue$97,516 $90,326 $7,190 8.0 %
Gross profit$181,139 $151,072 $30,067 19.9 %
Gross margin %65.0 %62.6 %
Gross margin increased by 2.4 percentage points to 65.0% in the three months ended March 31, 2024, from 62.6% in the three months ended March 31, 2023. Gross margin is impacted by product mix, regional mix, and production initiatives to support demand and create future efficiencies. As such, with favorable product mix, improvement in productivity, and by leveraging our fixed costs on higher volume of new product sales during the year, our gross margin may be positively impacted in the future.
Research and Development (“R&D”)
 Three Months Ended March 31,Change
 20242023$%
 (in thousands, except for percentages)
R&D$24,626 $19,986 $4,640 23.2 %
R&D as a percentage of revenue8.8 %8.3 %
R&D expenses increased by $4.6 million, or 23.2%, to $24.6 million in the three months ended March 31, 2024, from $20.0 million in the three months ended March 31, 2023. The increase was primarily due to a $2.0 million increase in personnel-related expenses driven by an increase in headcount and related expenses to support our growth and a $1.3 million increase in product development and testing costs.
We have continued to make investments, and plan to continue to make investments, in the development of our products. As part of our ongoing investment in the development of our products, we may incur additional expenses related to research and development milestones. In addition, we have experienced in the past, and may continue to experience in the future, variability in expenses incurred due to the timing and costs of clinical trials and product development, which may include additional personnel-related expenses in conjunction with the launch of new products.
Sales, General and Administrative (“SG&A”)
 Three Months Ended March 31,Change
 20242023$%
 (in thousands, except for percentages)
SG&A$144,412 $123,078 $21,334 17.3 %
SG&A as a percentage of revenue51.8 %51.0 %
SG&A expenses increased by $21.3 million, or 17.3%, to $144.4 million in the three months ended March 31, 2024, from $123.1 million in the three months ended March 31, 2023. The increase was primarily due to a $6.4 million increase in personnel-related expenses driven by an increase in headcount and related expenses to support our growth, $4.8 million in non-recurring litigation related expenses, including settlement costs and legal fees, associated with wage and hour complaints filed against the Company in 2023, a $3.0 million increase in costs related to marketing events, and a $2.1 million increase in other professional services.
24

As we continue to invest in our growth, we have expanded and may continue to expand our sales, marketing, and general and administrative teams through the hiring of additional employees in critical roles that support our strategic initiatives. In addition, we have experienced in the past, and may continue to experience in the future, variability in expenses incurred due to the timing and costs of investments to support the business.
Provision for income taxes
 Three Months Ended March 31,Change
 20242023$%
 (in thousands, except for percentages)
Provision for income taxes$3,624 $90 $3,534 3,926.7 %
Effective tax rate24.8 %1.0 %
Our provision for income taxes was $3.6 million for the three months ended March 31, 2024, compared to $0.1 million for the three months ended March 31, 2023. Our effective tax rate was 24.8% for the three months ended March 31, 2024, compared to 1.0% for the three months ended March 31, 2023. The change in effective tax rate was primarily attributable to an increase in tax expense due to profit increase and a decrease in excess tax benefits from stock-based compensation attributable to our U.S. jurisdiction.
Prospectively, our effective tax rate will likely be driven by (1) permanent differences in taxable income for tax and financial reporting purposes, (2) tax expense or benefit attributable to our worldwide financial result, and (3) discrete tax adjustments such as excess tax benefits or deficiencies related to stock-based compensation. Our income tax provision is subject to volatility as the amount of excess tax benefits or deficiencies can fluctuate from period to period based on the price of our stock, the volume of share-based grants settled or vested, and the fair value assigned to equity awards under U.S. GAAP.

Liquidity and Capital Resources
As of March 31, 2024, we had $782.2 million in working capital, which included $223.1 million in cash and cash equivalents and $90.4 million in marketable investments. As of March 31, 2024, we held approximately 7.7% of our cash and cash equivalents in foreign entities.
We believe our current sources of liquidity will be sufficient to meet our liquidity requirements for at least the next 12 months. Our principal liquidity requirements are to fund our operations, expand manufacturing operations which includes, but is not limited to, maintaining sufficient levels of inventory to meet the anticipated demand of our customers, fund research and development activities and fund our capital expenditures. We may also lease or purchase additional facilities to facilitate our growth. We expect to continue to make investments as we launch new products, expand our manufacturing operations and information technology infrastructures and further expand into international markets. We may, however, require or elect to secure additional financing as we continue to execute our business strategy. If we require or elect to raise additional funds, we may do so through equity or debt financing, which may not be available on favorable terms, could result in dilution to our stockholders, and could require us to agree to covenants that limit our operating flexibility.
The following table summarizes our cash and cash equivalents, marketable investments and selected working capital data as of March 31, 2024 and December 31, 2023:
 March 31, 2024December 31, 2023
 (in thousands)
Cash and cash equivalents$223,114 $167,486 
Marketable investments90,360 121,701 
Accounts receivable, net191,989 201,768 
Accounts payable32,454 27,155 
Accrued liabilities106,549 110,555 
Working capital(1)
782,220 764,258 
(1) Working capital consists of total current assets less total current liabilities.
25

The following table sets forth, for the periods indicated, our beginning balance of cash and cash equivalents, net cash flows provided by (used in) operating, investing and financing activities and our ending balance of cash and cash equivalents:
 Three Months Ended March 31,
 20242023
 (in thousands)
Cash and cash equivalents at beginning of period$167,486 $69,858 
Net cash provided by operating activities38,295 13,129 
Net cash provided by investing activities18,384 10,711 
Net cash (used in) provided by financing activities(794)1,376 
Cash and cash equivalents and at end of period223,114 94,688 
Net Cash Provided By Operating Activities
Net cash provided by operating activities consists primarily of net income adjusted for certain non-cash items (including depreciation and amortization, stock-based compensation expense, inventory write-offs and write-downs, changes in deferred tax balances, and the effect of changes in working capital and other activities).
Net cash provided by operating activities was $38.3 million during the three months ended March 31, 2024 and consisted of consolidated net income of $11.0 million and non-cash items of $21.7 million, offset by net changes in operating assets and liabilities of $5.6 million. The change in operating assets and liabilities primarily relates to a decrease in accounts receivable of $8.5 million due to timing of invoicing and collections, an increase in accounts payable of $5.2 million due to timing of payments, and a decrease in prepaid expenses and other current and non-current assets of $4.6 million. This was partially offset by an increase in inventories of $11.6 million to support our growth and a decrease in accrued expenses and other non-current liabilities of $1.0 million due to timing of payments.
Net cash provided by operating activities was $13.1 million during the three months ended March 31, 2023 and consisted of consolidated net income of $8.6 million and non-cash items of $19.5 million, offset by net changes in operating assets and liabilities of $15.0 million. The change in operating assets and liabilities includes an increase in inventories of $10.6 million to support our growth, an increase in accounts receivable of $3.5 million due to timing of receipt of payment, and an increase in prepaid expenses and other current and non-current assets of $4.0 million. This was partially offset by an increase in accounts payable of $2.1 million and an increase in accrued expenses and other non-current liabilities of $1.1 million.
Net Cash Provided By Investing Activities
Net cash provided by investing activities relates primarily to purchases of marketable and non-marketable investments and capital expenditures, partially offset by proceeds from maturities of marketable investments.
Net cash provided by investing activities was $18.4 million during the three months ended March 31, 2024 and primarily consisted of $32.1 million in proceeds from maturities of marketable investments, net of purchases, partially offset by purchases of non-marketable investments of $10.0 million and capital expenditures of $5.8 million.
Net cash provided by investing activities was $10.7 million during the three months ended March 31, 2023 and primarily consisted of proceeds from maturities of marketable investments of $14.6 million, partially offset by capital expenditures of $3.9 million.
Net Cash (Used In) Provided By Financing Activities
Net cash (used in) provided by financing activities primarily relates to proceeds from exercises of stock options and issuances of common stock under our employee stock purchase plan, partially offset by payments of employee taxes related to vested restricted stock units and payments towards the reduction of our finance lease obligations.
26

Net cash used in financing activities was $0.8 million during the three months ended March 31, 2024 and primarily consisted of $0.6 million in payments towards finance leases and $0.4 million of payments of employee taxes related to vested restricted stock units, partially offset by proceeds from exercises of stock options of $0.2 million.
Net cash provided by financing activities was $1.4 million during the three months ended March 31, 2023 and primarily consisted of proceeds from exercises of stock options of $2.2 million, partially offset by $0.5 million in payments towards finance leases and $0.2 million of payments of employee taxes related to vested restricted stock units.
Contractual Obligations and Commitments
There have been no other material changes to our contractual obligations and commitments as of March 31, 2024 from those disclosed in our Annual Report on Form 10-K for the year ended December 31, 2023.
Critical Accounting Policies and Estimates
We have prepared our financial statements in accordance with U.S. GAAP. Our preparation of these financial statements requires us to make estimates, assumptions, and judgments that affect the reported amounts of assets, liabilities, expenses, and related disclosures at the date of the financial statements, as well as revenue and expenses recorded during the reporting periods. We evaluate our estimates and judgments on an ongoing basis. We base our estimates on historical experience and on various other factors that we believe are reasonable under the circumstances, the results of which form the basis for making judgments about the carrying value of assets and liabilities that are not readily apparent from other sources. Actual results could therefore differ materially from these estimates under different assumptions or conditions.
There have been no material changes to our critical accounting policies from those described in “Management’s Discussion and Analysis of Financial Condition and Results of Operations” included in our Annual Report on Form 10-K for the year ended December 31, 2023.
Recently Issued Accounting Standards
For information with respect to recently issued accounting standards and the impact of these standards on our consolidated financial statements, refer to Note “2. Summary of Significant Accounting Policies” to our consolidated financial statements in Part I, Item 1 of this Form 10-Q.
27

ITEM 3. QUANTITATIVE AND QUALITATIVE DISCLOSURES ABOUT MARKET RISK.
We are exposed to various market risks, which may result in potential losses arising from adverse changes in market rates, such as interest rates and foreign exchange rates. We do not enter into derivatives or other financial instruments for trading or speculative purposes and do not believe we are exposed to material market risk with respect to our cash and cash equivalents and/or our marketable investments.
Interest Rate Risk. We had cash and cash equivalents of $223.1 million as of March 31, 2024, which consisted of funds held in money market funds, general checking and savings accounts. In addition, we had marketable investments of $90.4 million, which consisted primarily of corporate bonds, commercial paper, U.S. treasury securities, certificates of deposit, and U.S. states and municipalities. Our investment policy is focused on the preservation of capital and supporting our liquidity needs. Under the policy, we invest in highly rated securities, while limiting the amount of credit exposure to any one issuer other than the U.S. government. We do not invest in financial instruments for trading or speculative purposes, nor do we use leveraged financial instruments. We utilize external investment managers who adhere to the guidelines of our investment policy. A hypothetical 100 basis point change in interest rates would not have a material impact on the value of our cash and cash equivalents or marketable investments.
Foreign Exchange Risk Management. We operate in countries other than the United States, and, therefore, we are exposed to foreign currency risks. We bill most sales outside of the United States in local currencies, primarily in euros, with some sales being denominated in other currencies. When sales or expenses are not denominated in U.S. dollars, a fluctuation in exchange rates could affect our net income. We do not believe our net income would be materially impacted by an immediate 10% adverse change in foreign exchange rates. We do not currently hedge our exposure to foreign currency exchange rate fluctuations; however, we may choose to hedge our exposure in the future.
While our gross margin for the three months ended March 31, 2024 was primarily impacted by product mix, regional mix, and production initiatives to support demand and create future efficiencies, changes in prices did not have a significant impact on our results of operations for any periods presented on our consolidated financial statements.

28

ITEM 4. CONTROLS AND PROCEDURES.
Evaluation of Disclosure Controls and Procedures
An evaluation as of March 31, 2024 was carried out under the supervision and with the participation of our management, including our principal executive officer and principal financial officer, of the effectiveness of our “disclosure controls and procedures,” which are defined in Rules 13a-15(e) and 15d-15(e) under the Securities Exchange Act of 1934, as amended (the “Exchange Act”), as controls and other procedures of a company that are designed to ensure that the 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’s rules and forms, and that such information is accumulated and communicated to the company’s management, including its principal executive officer and principal financial officer, as appropriate, to allow timely decisions regarding required disclosure. Based upon that evaluation, our principal executive officer and principal financial officer concluded that our disclosure controls and procedures were effective as of March 31, 2024.
Changes in Internal Control Over Financial Reporting
There was no change in our internal control over financial reporting (as defined in Rules 13a-15(f) and 15d-15(f) under the Exchange Act) that occurred during the quarterly period ended March 31, 2024 that has materially affected, or is reasonably likely to materially affect, our internal control over financial reporting.
Limitations on the Effectiveness of Controls
A control system, no matter how well conceived and operated, can provide only reasonable, not absolute, assurance that the objectives of the control system are met. Because of inherent limitations in all control systems, no evaluation of controls can provide absolute assurance that all control issues, if any, within a company have been detected. Accordingly, our disclosure controls and procedures are designed to provide reasonable, not absolute, assurance that the objectives of our disclosure control system are met.
29

PART II - OTHER INFORMATION

ITEM 1. LEGAL PROCEEDINGS.
For information with respect to Legal Proceedings, see Note “8. Commitments and Contingencies” to our condensed consolidated financial statements in Part I, Item 1 of this Quarterly Report on Form 10-Q.

ITEM 1A. RISK FACTORS.
There have been no material changes to our risk factors reported in, or new risk factors identified since the filing of, our Annual Report on Form 10-K for the year ended December 31, 2023, which was filed with the SEC on February 22, 2024.

ITEM 2. UNREGISTERED SALES OF EQUITY SECURITIES AND USE OF PROCEEDS.
None.

ITEM 3. DEFAULTS UPON SENIOR SECURITIES.
None.

ITEM 4. MINE SAFETY DISCLOSURE.
None.

ITEM 5. OTHER INFORMATION.
Rule 10b5-1 Trading Plans
During the quarterly period ended March 31, 2024, no director or officer adopted or terminated any “Rule 10b5-1 trading arrangement” or “non-Rule 10b5-1 trading arrangement”, as each term is defined in Item 408(a) of Regulation S-K.
30

ITEM 6. EXHIBITS.
Exhibit NumberDescriptionFormFile No.Exhibit(s)Filing Date
Certification of Principal Executive Officer Required Under Rule 13a-14(a) and 15d-14(a) of the Securities Exchange Act of 1934, as amended.
Certification of Principal Financial Officer Required Under Rule 13a-14(a) and 15d-14(a) of the Securities Exchange Act of 1934, as amended.
Certification of Principal Executive Officer and Principal Financial Officer Required Under Rule 13a-14(b) of the Securities Exchange Act of 1934, as amended, and 18 U.S.C. §1350.
101The following materials from the Company’s Quarterly Report on Form 10-Q for the quarter ended March 31, 2024 formatted in Inline Extensible Business Reporting Language (iXBRL) includes: (i) Condensed Consolidated Balance Sheets as of March 31, 2024 and December 31, 2023, (ii) Condensed Consolidated Statements of Operations for the three months ended March 31, 2024 and 2023, (ii) Condensed Consolidated Statements of Comprehensive Income (Loss) for the three months ended March 31, 2024 and 2023, (iii) Condensed Consolidated Statements of Stockholders’ Equity for the three months ended March 31, 2024 and 2023, (iv) Condensed Consolidated Statements of Cash Flows for the three months ended March 31, 2024 and 2023, and (v) Notes to Condensed Consolidated Financial Statements.
104Cover Page Interactive Data File (formatted as iXBRL with applicable taxonomy extension information contained in Exhibit 101).
* Furnished herewith.
31

SIGNATURES
 
Pursuant to the requirements of the Securities Exchange Act of 1934, the registrant has duly caused this report to be signed on its behalf by the undersigned hereunto duly authorized.
 
 PENUMBRA, INC.
Date: May 7, 2024 
 By: /s/ Maggie Yuen
 Maggie Yuen
 Chief Financial Officer
(Principal Financial Officer)

32
EX-31.1 2 pen-33124xexhibit311.htm EX-31.1 Document

Exhibit 31.1
CERTIFICATION OF PRINCIPAL EXECUTIVE OFFICER
PURSUANT TO RULE 13a-14(a) AND 15d-14(a) OF THE SECURITIES EXCHANGE ACT, AS ADOPTED PURSUANT TO SECTION 302 OF THE SARBANES-OXLEY ACT OF 2002
I, Adam Elsesser, certify that:
1.I have reviewed this Quarterly Report on Form 10-Q of Penumbra, Inc.;
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;
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;
4.The registrant’s other certifying officer 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:
(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;
(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;
(c)Evaluated the effectiveness of the registrant’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
(d)Disclosed in this report any change in the registrant’s internal control over financial reporting that occurred during the registrant’s most recent fiscal quarter (the registrant’s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant’s internal control over financial reporting; and
5.The registrant’s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant’s auditors and the audit committee of the registrant’s board of directors (or persons performing the equivalent functions):
(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’s ability to record, process, summarize and report financial information; and
(b)Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant’s internal control over financial reporting.
 

Date: May 7, 2024
 
/s/ Adam Elsesser
Adam Elsesser
Chairman, Chief Executive Officer and President


EX-31.2 3 pen-33124xexhibit312.htm EX-31.2 Document

Exhibit 31.2
CERTIFICATION OF PRINCIPAL FINANCIAL OFFICER
PURSUANT TO RULE 13a-14(a) AND 15d-14(a) OF THE SECURITIES EXCHANGE ACT, AS ADOPTED PURSUANT TO SECTION 302 OF THE SARBANES-OXLEY ACT OF 2002
I, Maggie Yuen, certify that:
1.I have reviewed this Quarterly Report on Form 10-Q of Penumbra, Inc.;
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;
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;
4.The registrant’s other certifying officer 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:
(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;
(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;
(c)Evaluated the effectiveness of the registrant’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
(d)Disclosed in this report any change in the registrant’s internal control over financial reporting that occurred during the registrant’s most recent fiscal quarter (the registrant’s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant’s internal control over financial reporting; and
5.The registrant’s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant’s auditors and the audit committee of the registrant’s board of directors (or persons performing the equivalent functions):
(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’s ability to record, process, summarize and report financial information; and
(b)Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant’s internal control over financial reporting.
 

Date: May 7, 2024
 
/s/ Maggie Yuen
Maggie Yuen
   Chief Financial Officer


EX-32.1 4 pen-33124xexhibit321.htm EX-32.1 Document

Exhibit 32.1
PENUMBRA, INC.
CERTIFICATION PURSUANT TO
18 U.S.C. SECTION 1350,
AS ADOPTED PURSUANT TO
SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002
In connection with the Quarterly Report of Penumbra, Inc. (the “Company”) on Form 10-Q for the fiscal quarter ended March 31, 2024, as filed with the Securities and Exchange Commission (the “Report”), Adam Elsesser, Chairman, Chief Executive Officer and President of the Company, and Maggie Yuen, Chief Financial Officer of the Company, respectively, do each hereby certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that:
The Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934; and
The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company at the dates and for the periods presented.
 

 Date: May 7, 2024
/s/ Adam Elsesser
Adam Elsesser
Chairman, Chief Executive Officer and President
/s/ Maggie Yuen
Maggie Yuen
   Chief Financial Officer


EX-101.SCH 5 pen-20240331.xsd XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT 0000001 - Document - Cover link:presentationLink link:calculationLink link:definitionLink 0000002 - Statement - Condensed Consolidated Balance Sheets link:presentationLink link:calculationLink link:definitionLink 0000003 - Statement - Condensed Consolidated Balance Sheets (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 0000004 - Statement - Condensed Consolidated Statements of Operations link:presentationLink link:calculationLink link:definitionLink 0000005 - Statement - Condensed Consolidated Statements of Comprehensive (Loss) Income link:presentationLink link:calculationLink link:definitionLink 0000006 - Statement - Consolidated Statements of Stockholders' Equity (Deficit) link:presentationLink link:calculationLink link:definitionLink 0000007 - Statement - Condensed Consolidated Statements of Cash Flows link:presentationLink link:calculationLink link:definitionLink 0000008 - Disclosure - Organization and Description of Business link:presentationLink link:calculationLink link:definitionLink 0000009 - Disclosure - Summary of Significant Accounting Policies link:presentationLink link:calculationLink link:definitionLink 0000010 - Disclosure - Investments and Fair Value of Financial Instruments link:presentationLink link:calculationLink link:definitionLink 0000011 - Disclosure - Balance Sheet Components link:presentationLink link:calculationLink link:definitionLink 0000012 - Disclosure - Intangible Assets link:presentationLink link:calculationLink link:definitionLink 0000013 - Disclosure - Goodwill link:presentationLink link:calculationLink link:definitionLink 0000014 - Disclosure - Indebtedness link:presentationLink link:calculationLink link:definitionLink 0000015 - Disclosure - Commitments and Contingencies link:presentationLink link:calculationLink link:definitionLink 0000016 - Disclosure - Stockholder's Equity link:presentationLink link:calculationLink link:definitionLink 0000017 - Disclosure - Accumulated Other Comprehensive Income link:presentationLink link:calculationLink link:definitionLink 0000018 - Disclosure - Income Taxes link:presentationLink link:calculationLink link:definitionLink 0000019 - Disclosure - Net Income per Share link:presentationLink link:calculationLink link:definitionLink 0000020 - Disclosure - Interest and other income (expense), net link:presentationLink link:calculationLink link:definitionLink 0000021 - Disclosure - Revenues link:presentationLink link:calculationLink link:definitionLink 9954471 - Disclosure - Summary of Significant Accounting Policies (Policies) link:presentationLink link:calculationLink link:definitionLink 9954472 - Disclosure - Investments and Fair Value of Financial Instruments (Tables) link:presentationLink link:calculationLink link:definitionLink 9954473 - Disclosure - Balance Sheet Components Balance Sheet Components (Tables) link:presentationLink link:calculationLink link:definitionLink 9954474 - Disclosure - Intangible Assets Intangible Assets (Tables) link:presentationLink link:calculationLink link:definitionLink 9954475 - Disclosure - Goodwill (Tables) link:presentationLink link:calculationLink link:definitionLink 9954476 - Disclosure - Stockholder's Equity (Tables) link:presentationLink link:calculationLink link:definitionLink 9954477 - Disclosure - Accumulated Other Comprehensive Income (Tables) link:presentationLink link:calculationLink link:definitionLink 9954478 - Disclosure - Net Income per Share (Tables) link:presentationLink link:calculationLink link:definitionLink 9954479 - Disclosure - Interest and other income (expense), net (Tables) link:presentationLink link:calculationLink link:definitionLink 9954480 - Disclosure - Revenues Revenues (Tables) link:presentationLink link:calculationLink link:definitionLink 9954481 - Disclosure - Summary of Significant Accounting Policies - Additional Disclosures (Details) link:presentationLink link:calculationLink link:definitionLink 9954482 - Disclosure - Investments and Fair Value of Financial Instruments - Gains and Losses of Marketable Investments (Details) link:presentationLink link:calculationLink link:definitionLink 9954483 - Disclosure - Investments and Fair Value of Financial Instruments - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954484 - Disclosure - Investments and Fair Value of Financial Instruments - Marketable Securities in an Unrealized Loss Position (Details) link:presentationLink link:calculationLink link:definitionLink 9954485 - Disclosure - Investments and Fair Value of Financial Instruments - Contractual Maturities of Marketable Investments (Details) link:presentationLink link:calculationLink link:definitionLink 9954486 - Disclosure - Investments and Fair Value of Financial Instruments - Financial Assets and Liabilities Measured at Fair Value (Details) link:presentationLink link:calculationLink link:definitionLink 9954487 - Disclosure - Balance Sheet Components - Inventories (Details) link:presentationLink link:calculationLink link:definitionLink 9954488 - Disclosure - Balance Sheet Components - Accrued Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 9954489 - Disclosure - Balance Sheet Components - Product Warranty (Details) link:presentationLink link:calculationLink link:definitionLink 9954490 - Disclosure - Intangible Assets - Intangible Assets (Details) link:presentationLink link:calculationLink link:definitionLink 9954491 - Disclosure - Goodwill (Details) link:presentationLink link:calculationLink link:definitionLink 9954492 - Disclosure - Indebtedness (Details) link:presentationLink link:calculationLink link:definitionLink 9954493 - Disclosure - Commitments and Contingencies - Royalty Obligations (Details) link:presentationLink link:calculationLink link:definitionLink 9954494 - Disclosure - Stockholder's Equity - Stock-based Compensation Expense (Details) link:presentationLink link:calculationLink link:definitionLink 9954495 - Disclosure - Accumulated Other Comprehensive Income (Details) link:presentationLink link:calculationLink link:definitionLink 9954496 - Disclosure - Income Taxes Income Taxes (Details) link:presentationLink link:calculationLink link:definitionLink 9954497 - Disclosure - Net Income per Share - Basic and Diluted Earnings per Share (Details) link:presentationLink link:calculationLink link:definitionLink 9954498 - Disclosure - Net Income per Share - Antidilutive Securities (Details) link:presentationLink link:calculationLink link:definitionLink 9954499 - Disclosure - Interest and other income (expense), net (Details) link:presentationLink link:calculationLink link:definitionLink 9954500 - Disclosure - Revenues - Disaggregation of Revenue (Details) link:presentationLink link:calculationLink link:definitionLink 9954501 - Disclosure - Revenues - Summary of Contract Assets and Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 6 pen-20240331_cal.xml XBRL TAXONOMY EXTENSION CALCULATION LINKBASE DOCUMENT EX-101.DEF 7 pen-20240331_def.xml XBRL TAXONOMY EXTENSION DEFINITION LINKBASE DOCUMENT EX-101.LAB 8 pen-20240331_lab.xml XBRL TAXONOMY EXTENSION LABEL LINKBASE DOCUMENT Deferred taxes Deferred Income Taxes and Tax Credits Thrombectomy Thrombectomy [Member] Thrombectomy Stock Appreciation Rights (SARs) Stock Appreciation Rights (SARs) [Member] Pay vs Performance Disclosure [Line Items] Schedule of Accrued Liabilities Schedule of Accrued Liabilities [Table Text Block] Accrued liabilities Total accrued liabilities Accrued Liabilities, Current Borrowing capacity Line of Credit Facility, Maximum Borrowing Capacity Changes in operating assets and liabilities: Increase (Decrease) in Operating Capital [Abstract] Underlying Security Market Price Change Underlying Security Market Price Change, Percent Equity Award [Domain] Award Type [Domain] Fair Value as of Grant Date Award Grant Date Fair Value Indebtedness Debt Disclosure [Text Block] Statement of Stockholders' Equity [Abstract] Statement of Stockholders' Equity [Abstract] Revolving Credit Facility Revolving Credit Facility [Member] Schedule of Marketable Investments Schedule of Available-for-Sale Securities Reconciliation [Table Text Block] Effect of foreign exchange rate changes on cash and cash equivalents Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Continuing Operations MNPI Disclosure Timed for Compensation Value MNPI Disclosure Timed for Compensation Value [Flag] Performance Shares Performance Shares [Member] Accounts payable Accounts Payable, Current Restatement Determination Date: Restatement Determination Date [Axis] Corporate bonds Corporate Debt Securities [Member] Interest and other income, net Nonoperating Income (Expense) Commitments and contingencies Commitments and Contingencies Insider Trading Policies and Procedures [Line Items] Rule 10b5-1 Arrangement Terminated Rule 10b5-1 Arrangement Terminated [Flag] Disaggregation of Revenue [Line Items] Disaggregation of Revenue [Line Items] Restatement does not require Recovery Restatement Does Not Require Recovery [Text Block] Stockholder's Equity Equity [Text Block] Geographical [Axis] Geographical [Axis] Line of Credit Facility [Line Items] Line of Credit Facility [Line Items] Inventory write-downs Inventory Write-down Award requisite service period Share-Based Compensation Arrangement by Share-Based Payment Award, Award Requisite Service Period Income Taxes Income Tax Disclosure [Text Block] Settlements of warranty claims Standard and Extended Product Warranty Accrual, Decrease for Payments Current liabilities: Liabilities, Current [Abstract] Subsequent Event Type [Domain] Subsequent Event Type [Domain] Fair Value Measurements, Recurring and Nonrecurring [Table] Fair Value, Recurring and Nonrecurring [Table] Diluted (in dollars per share) Earnings Per Share, Diluted Minimum annual royalty payments Royalty Obligations, Minimum Annual Royalty Payments Royalty Obligations, Minimum Annual Royalty Payments PEO Total Compensation Amount PEO Total Compensation Amount Accounts receivable, net of allowance for credit losses of $3,020 and $3,169 at March 31, 2024 and December 31, 2023, respectively Accounts Receivable, after Allowance for Credit Loss, Current Goodwill [Roll Forward] Goodwill [Roll Forward] SUPPLEMENTAL CASH FLOW INFORMATION: Supplemental Cash Flow Elements [Abstract] Trading Arrangements, by Individual Trading Arrangements, by Individual [Table] Embolization and Access Embolization and Access [Member] Embolization and Access Level 3 Fair Value, Inputs, Level 3 [Member] Increase in minimum annual royalty payments Royalty Obligations, Increase (Decrease) In Minimum Annual Royalty Payments Royalty Obligations, Increase (Decrease) In Minimum Annual Royalty Payments Trading Symbol Trading Symbol Non-PEO NEO Average Compensation Actually Paid Amount Non-PEO NEO Average Compensation Actually Paid Amount Net income Net income Net income (loss) Net Income (Loss) Total current liabilities Liabilities, Current Fair Value Disclosures [Abstract] Fair Value Disclosures [Abstract] Changed Peer Group, Footnote Changed Peer Group, Footnote [Text Block] Company Selected Measure Name Company Selected Measure Name Due in one to five years Debt Securities, Available-for-Sale, Amortized Cost, Maturity, Allocated and Single Maturity Date, after Year One Through Five Liabilities and Stockholders’ Equity Liabilities and Equity [Abstract] Finite-Lived Intangible Assets [Line Items] Finite-Lived Intangible Assets [Line Items] Cash and Cash Equivalents [Domain] Cash and Cash Equivalents [Domain] Gross Unrealized Losses Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Loss, before Tax Contract liabilities Contract with Customer, Liability Reconciliation of the Numerator and Denominator used in the Calculation of the Basic and Diluted Earnings per Share Schedule of Earnings Per Share, Basic and Diluted [Table Text Block] Executive Category: Executive Category [Axis] Weighted-Average Amortization Period Acquired Finite-Lived Intangible Assets, Weighted Average Useful Life Other Commitments [Table] Other Commitments [Table] Summary of Significant Accounting Policies Significant Accounting Policies [Text Block] Level 1 Fair Value, Inputs, Level 1 [Member] Name Measure Name Name Forgone Recovery, Individual Name Goodwill Goodwill Goodwill Goodwill Equity Components [Axis] Equity Components [Axis] Financial Instruments [Domain] Financial Instruments [Domain] Additional 402(v) Disclosure Additional 402(v) Disclosure [Text Block] Certificate of Deposit Certificates of Deposit [Member] Underlying Securities Award Underlying Securities Amount Entity Small Business Entity Small Business Accumulated Other Comprehensive Income Comprehensive Income (Loss) Note [Text Block] Local Phone Number Local Phone Number Accounts receivable Increase (Decrease) in Accounts Receivable Recovery of Erroneously Awarded Compensation Disclosure [Line Items] Line of credit, increase limit Line Of Credit Facility, Accordian Feature, Increase Limit Line Of Credit Facility, Accordian Feature, Increase Limit Sales, general and administrative Selling, General and Administrative Expenses [Member] Accruals of warranties issued, net Standard and Extended Product Warranty Accrual, Increase (Decrease) for Preexisting Warranties Net change in unrealized gains or losses on available-for-sale securities, net of tax OCI, Debt Securities, Available-for-Sale, Unrealized Holding Gain (Loss), before Adjustment, after Tax Measurement Frequency [Axis] Measurement Frequency [Axis] Non-current operating lease liabilities Operating Lease, Liability, Noncurrent Schedule of Contractual Maturities of Marketable Investments Investments Classified by Contractual Maturity Date [Table Text Block] Forgone Recovery due to Violation of Home Country Law, Amount Forgone Recovery due to Violation of Home Country Law, Amount Line of Credit Facility [Table] Line of Credit Facility [Table] Income Statement Location [Axis] Income Statement Location [Axis] Financial Assets Financial Instruments, Financial Assets, Balance Sheet Groupings [Abstract] Research and development Research and Development Expense (Excluding Acquired in Process Cost) Shares held for tax withholdings Share-Based Payment Arrangement, Decrease for Tax Withholding Obligation Revenue Revenues Product and Service [Domain] Product and Service [Domain] Other Performance Measure, Amount Other Performance Measure, Amount Aggregate Available Trading Arrangement, Securities Aggregate Available Amount Inventories Increase (Decrease) in Inventories Research and development Research and Development Expense [Member] CASH FLOWS FROM INVESTING ACTIVITIES: Net Cash Provided by (Used in) Investing Activities [Abstract] Insider Trading Policies and Procedures Not Adopted Insider Trading Policies and Procedures Not Adopted [Text Block] Antidilutive securities excluded from the computation of earnings per share (in shares) Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount Award Type [Axis] Award Type [Axis] Document Quarterly Report Document Quarterly Report NONCASH INVESTING AND FINANCING ACTIVITIES: Noncash Investing and Financing Items [Abstract] Interest expense Interest Expense Purchase of property and equipment funded through accounts payable and accrued liabilities Capital Expenditures Incurred but Not yet Paid Fair Value Hierarchy and NAV [Domain] Fair Value Hierarchy and NAV [Domain] Right-of-use assets obtained in exchange for lease obligations Right-of-Use Asset Obtained in Exchange for Operating Lease Liability Trading Arrangement: Trading Arrangement [Axis] Use of Estimates Use of Estimates, Policy [Policy Text Block] PEO Actually Paid Compensation Amount PEO Actually Paid Compensation Amount Schedule of Other Operating Cost and Expense, by Component Schedule of Other Operating Cost and Expense, by Component [Table Text Block] Entity File Number Entity File Number Current operating lease liabilities Operating Lease, Liability, Current Marketable Investments AOCI, Accumulated Gain (Loss), Debt Securities, Available-for-Sale, Parent [Member] Allowance for Credit Loss Debt Securities, Available-for-Sale, Allowance for Credit Loss Total amortization of finite lived intangible assets Amortization of Intangible Assets Entity Shell Company Entity Shell Company Net of tax OCI, before Reclassifications, Net of Tax, Attributable to Parent Finite lived intangible assets: net Finite-Lived Intangible Assets, Net Recently Issued Accounting Standards New Accounting Pronouncements, Policy [Policy Text Block] Restatement Determination Date Restatement Determination Date Rule 10b5-1 Arrangement Adopted Rule 10b5-1 Arrangement Adopted [Flag] CASH AND CASH EQUIVALENTS—Beginning of period CASH AND CASH EQUIVALENTS—End of period Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents Accumulated amortization Finite-Lived Intangible Assets, Accumulated Amortization Interest income Investment Income, Interest Stock Price or TSR Estimation Method Stock Price or TSR Estimation Method [Text Block] Weighted average shares outstanding: Denominator: Weighted Average Number of Shares Outstanding Reconciliation [Abstract] 12 Months of more: Fair Value Debt Securities, Available-for-Sale, Continuous Unrealized Loss Position, 12 Months or Longer Gross profit Gross Profit Deferred revenue Contract with Customer, Liability, Current Security Exchange Name Security Exchange Name Assets, Fair Value Disclosure Assets, Fair Value Disclosure Total: Gross Unrealized Losses Debt Securities, Available-for-Sale, Unrealized Loss Position, Accumulated Loss Sales, general and administrative Selling, General and Administrative Expense Accumulated other comprehensive loss Accumulated Other Comprehensive Income (Loss), Net of Tax Employee Stock Option Employee Stock Option [Member] Currency Translation Adjustments Accumulated Foreign Currency Adjustment Attributable to Parent [Member] Finite-lived Intangible Assets Amortization Expense Finite-Lived Intangible Assets Amortization Expense [Table Text Block] Unrecognized compensation cost, expected recognition period (in years) Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition Other Proceeds from (Payments for) Other Financing Activities Comprehensive income Comprehensive Income (Loss), Net of Tax, Attributable to Parent Unrecognized compensation cost related to unvested share-based compensation arrangements Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount Document Type Document Type International Other Non-US [Member] Other Non-US [Member] Tabular List, Table Tabular List [Table Text Block] Entity Address, Address Description Entity Address, Address Line One Product Warranty, Increase (Decrease) [Roll Forward] Movement in Standard and Extended Product Warranty Accrual, Increase (Decrease) [Roll Forward] Basis of Presentation Basis of Accounting, Policy [Policy Text Block] Purchases of marketable investments Payments to Acquire Debt Securities, Available-for-Sale Subsequent Event Subsequent Event [Member] Schedule of Finite-lived Intangible Assets Schedule of Finite-Lived Intangible Assets [Table Text Block] Income Statement [Abstract] Raw materials Inventory, Raw Materials, Net of Reserves Title of 12(b) Security Title of 12(b) Security Insider Trading Policies and Procedures Adopted Insider Trading Policies and Procedures Adopted [Flag] Cash equivalents Cash and Cash Equivalents, Fair Value Disclosure Income tax effect — expense Other Comprehensive Income (Loss) before Reclassifications, Tax Allowance for credit loss Debt Securities, Available-for-Sale, Allowance for Credit Loss, Period Increase (Decrease) Aggregate Erroneous Compensation Not Yet Determined Aggregate Erroneous Compensation Not Yet Determined [Text Block] Issuance of common stock Shares Issued, Value, Share-Based Payment Arrangement, after Forfeiture Income Tax Disclosure [Abstract] Income Tax Disclosure [Abstract] Forgone Recovery due to Expense of Enforcement, Amount Forgone Recovery due to Expense of Enforcement, Amount Disclosure of Compensation Related Costs, Share-based Payments [Abstract] Share-Based Payment Arrangement [Abstract] Entity Tax Identification Number Entity Tax Identification Number Other Commitments [Domain] Other Commitments [Domain] Inventories Inventories Inventory, Net Share-based compensation expense, capitalized in inventory Share-Based Payment Arrangement, Amount Capitalized Financial Instrument [Axis] Financial Instrument [Axis] Entity Interactive Data Current Entity Interactive Data Current Disaggregation of Revenue [Table] Disaggregation of Revenue [Table] Debt Securities, Available-for-Sale [Table] Debt Securities, Available-for-Sale [Table] Adjustments to reconcile net income to net cash provided by operating activities: Adjustments, Noncash Items, to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract] Total Shareholder Return Amount Total Shareholder Return Amount Entity Common Stock, Shares Outstanding Entity Common Stock, Shares Outstanding Adjustment To PEO Compensation, Footnote Adjustment To PEO Compensation, Footnote [Text Block] Fair Value Hierarchy and NAV [Axis] Fair Value Hierarchy and NAV [Axis] Non-marketable investments Non-Marketable Investments [Member] Non-Marketable Investments Retained earnings Retained Earnings (Accumulated Deficit) Measure: Measure [Axis] Commitments and Contingencies Disclosure [Abstract] Commitments and Contingencies Disclosure [Abstract] Name Outstanding Recovery, Individual Name Entity Incorporation, State or Country Code Entity Incorporation, State or Country Code Current assets: Assets, Current [Abstract] Other Commitments [Line Items] Other Commitments [Line Items] Entity Address, State or Province Entity Address, State or Province Compensation Actually Paid vs. Total Shareholder Return Compensation Actually Paid vs. Total Shareholder Return [Text Block] CASH FLOWS FROM OPERATING ACTIVITIES: Net Cash Provided by (Used in) Operating Activities [Abstract] Cash paid for amounts included in the measurement of operating lease liabilities Operating Lease, Payments Proceeds from maturities of marketable investments Proceeds from Maturities, Prepayments and Calls of Debt Securities, Available-for-Sale Other Income and Expenses [Abstract] PEO PEO [Member] Other Other Operating Activities, Cash Flow Statement Beginning balance (in shares) Ending balance (in shares) Shares, Outstanding AOCI Including Portion Attributable to Noncontrolling Interest, Net of Tax [Roll Forward] AOCI Including Portion Attributable to Noncontrolling Interest, Net of Tax [Roll Forward] Accumulated Other Comprehensive Income (Loss) [Line Items] Accumulated Other Comprehensive Income (Loss) [Line Items] Foreign currency translation and other adjustments Goodwill, Other Increase (Decrease) Net cash provided by (used in) investing activities Net Cash Provided by (Used in) Investing Activities Schedule of Inventories Schedule of Inventory, Current [Table Text Block] Outstanding Aggregate Erroneous Compensation Amount Outstanding Aggregate Erroneous Compensation Amount Effective tax rate Effective Income Tax Rate Reconciliation, Percent Credit Facility [Axis] Credit Facility [Axis] Total liabilities Liabilities Total Shareholder Return Vs Peer Group Total Shareholder Return Vs Peer Group [Text Block] Share-based Compensation Arrangement by Share-based Payment Award, Compensation Cost [Line Items] Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Line Items] Prepaid expenses and other current and non-current assets Increase (Decrease) in Prepaid Expense and Other Assets Accumulated Other Comprehensive Income (Loss) Total AOCI Attributable to Parent [Member] Aggregate Erroneous Compensation Amount Aggregate Erroneous Compensation Amount Total: Fair Value Debt Securities, Available-for-Sale, Unrealized Loss Position Fair Value, Measurement Frequency [Domain] Measurement Frequency [Domain] All Executive Categories All Executive Categories [Member] Trade secrets and processes Trade Secrets [Member] Accumulated Other Comprehensive Income (Loss) [Table] Accumulated Other Comprehensive Income (Loss) [Table] Non-Rule 10b5-1 Arrangement Adopted Non-Rule 10b5-1 Arrangement Adopted [Flag] Debt Disclosure [Abstract] Royalty Agreement, March 2005 Royalty Agreement, March 2005 [Member] Royalty Agreement, March 2005 [Member] Net income per share: Earnings Per Share [Abstract] Marketable and Non-Marketable Investments Marketable Securities, Policy [Policy Text Block] Foreign currency translation (losses) gains Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, before Tax Common stock Common Stock, Value, Issued Less than 12 months: Fair Value Debt Securities, Available-for-Sale, Continuous Unrealized Loss Position, Less than 12 Months Due in one to five years Debt Securities, Available-for-Sale, Fair Value, Maturity, Allocated and Single Maturity Date, after Year One Through Five Organization, Consolidation and Presentation of Financial Statements [Abstract] Organization, Consolidation and Presentation of Financial Statements [Abstract] Awards Close in Time to MNPI Disclosures, Table Awards Close in Time to MNPI Disclosures [Table Text Block] Segments Segment Reporting, Policy [Policy Text Block] Total current assets Assets, Current Payments of finance lease obligations Finance Lease, Principal Payments Revenue from Contract with Customer [Abstract] Revenue from Contract with Customer [Abstract] All Individuals All Individuals [Member] Other comprehensive loss before reclassifications: Other Comprehensive Income (Loss) before Reclassifications, Tax [Abstract] NonPerformanceShares [Member] Non-Performance Shares [Member] Share-based payment arrangement in which award of equity shares are granted without performance or market vesting conditions. Other income, net Other Nonoperating Income (Expense) Entity Filer Category Entity Filer Category Non-PEO NEO Average Total Compensation Amount Non-PEO NEO Average Total Compensation Amount Statement [Table] Statement [Table] Current Fiscal Year End Date Current Fiscal Year End Date PEO Name PEO Name Accrued expenses Other Sundry Liabilities, Current Schedule of Accumulated Other Comprehensive Income (Loss) Schedule of Accumulated Other Comprehensive Income (Loss) [Table Text Block] Schedule of Goodwill Schedule of Goodwill [Table Text Block] Net cash provided by (used in) operating activities Net Cash Provided by (Used in) Operating Activities Erroneously Awarded Compensation Recovery Erroneously Awarded Compensation Recovery [Table] Marketable investments Fair Value Total Debt Securities, Available-for-Sale, Current Other accrued liabilities Other Accrued Liabilities, Current Organization and Description of Business Nature of Operations [Text Block] Depreciation and amortization Depreciation, Depletion and Amortization Litigation settlement, amount agreed upon Litigation Settlement, Amount Awarded to Other Party Award Timing, How MNPI Considered Award Timing, How MNPI Considered [Text Block] Balance at the beginning of the period Balance at the end of the period Standard and Extended Product Warranty Accrual Statement of Financial Position [Abstract] Total Penumbra, Inc. stockholders’ equity Beginning balance Ending balance Equity, Attributable to Parent Schedule of Finite-Lived Intangible Assets [Table] Schedule of Finite-Lived Intangible Assets [Table] Goodwill impairment Goodwill, Impairment Loss Finite-Lived Intangible Assets, Major Class Name [Domain] Finite-Lived Intangible Assets, Major Class Name [Domain] Foreign currency translation adjustments, net of tax Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax Income before income taxes Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest Interest and other income (expense), net Other Income and Other Expense Disclosure [Text Block] Net income per share: Earnings Per Share Reconciliation [Abstract] U.S. states and municipalities US States and Political Subdivisions Debt Securities [Member] Other comprehensive income before reclassifications OCI, before Reclassifications, before Tax, Attributable to Parent Level 2 Fair Value, Inputs, Level 2 [Member] Entity Emerging Growth Company Entity Emerging Growth Company Fair Value Debt Securities, Available-for-Sale, Fair Value, Fiscal Year Maturity [Abstract] Intangible assets, net Intangible Assets, Net (Excluding Goodwill) Schedule of Estimated Product Warranty Accrual Schedule of Product Warranty Liability [Table Text Block] Increase (Decrease) in Stockholders' Equity [Roll Forward] Increase (Decrease) in Stockholders' Equity [Roll Forward] Named Executive Officers, Footnote Named Executive Officers, Footnote [Text Block] Document Fiscal Period Focus Document Fiscal Period Focus Accrued expenses and other non-current liabilities Increase (Decrease) in Accrued Liabilities and Other Operating Liabilities Pay vs Performance Disclosure, Table Pay vs Performance [Table Text Block] Title Trading Arrangement, Individual Title Stock-based compensation Share-Based Payment Arrangement, Noncash Expense Common Stock Common Stock [Member] Individual: Individual [Axis] City Area Code City Area Code Entity Address, Postal Zip Code Entity Address, Postal Zip Code Product and Service [Axis] Product and Service [Axis] Net Income (Loss) per Share Earnings Per Share [Text Block] Income Statement Location [Domain] Income Statement Location [Domain] Document Fiscal Year Focus Document Fiscal Year Focus Geographical [Domain] Geographical [Domain] Property and equipment, net Property, Plant and Equipment, Net Exercise Price Award Exercise Price Finite-Lived Intangible Assets by Major Class [Axis] Finite-Lived Intangible Assets by Major Class [Axis] Total other comprehensive (loss) income, net of tax Other comprehensive income (loss) Total other comprehensive (loss) income, net of tax Other Comprehensive Income (Loss), Net of Tax Statement of Cash Flows [Abstract] Assets Assets [Abstract] Award Timing MNPI Disclosure Award Timing MNPI Disclosure [Text Block] Goodwill and Intangible Assets Disclosure [Abstract] Goodwill and Intangible Assets Disclosure [Abstract] Payment of employee taxes related to vested stock Payment, Tax Withholding, Share-Based Payment Arrangement Net income Net Income (Loss), Including Portion Attributable to Noncontrolling Interest U.S. treasury US Treasury Securities [Member] Net cash (used in) provided by financing activities Net Cash Provided by (Used in) Financing Activities Deferred taxes Deferred Income Tax Assets, Net Commitments and Contingencies Commitments and Contingencies Disclosure [Text Block] Other Payments for (Proceeds from) Other Investing Activities Developed technology Developed Technology Rights [Member] Retained Earnings (Accumulated Deficit) Retained Earnings [Member] Schedule of Stock-based Compensation Expense Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block] Adjustment to Non-PEO NEO Compensation Footnote Adjustment to Non-PEO NEO Compensation Footnote [Text Block] Total liabilities and stockholders’ equity Liabilities and Equity Amortized Cost Total Debt Securities, Available-for-Sale, Amortized Cost Other non-current assets Other Assets, Noncurrent Peer Group Total Shareholder Return Amount Peer Group Total Shareholder Return Amount Basic (in dollars per share) Earnings Per Share, Basic Operating lease right-of-use assets Operating Lease, Right-of-Use Asset Accounting Policies [Abstract] Accounting Policies [Abstract] Equity Valuation Assumption Difference, Footnote Equity Valuation Assumption Difference, Footnote [Text Block] Erroneous Compensation Analysis Erroneous Compensation Analysis [Text Block] Arrangement Duration Trading Arrangement Duration Minimum quarterly royalty payments Royalty Obligations, Minimum Quarterly Royalty Payments Royalty Obligations, Minimum Quarterly Royalty Payments Debt Securities, Available-for-sale, Unrealized Loss Position, Fair Value Debt Securities, Available-for-Sale, Unrealized Loss Position, Fair Value [Table Text Block] Entity Address, City or Town Entity Address, City or Town Award Timing MNPI Considered Award Timing MNPI Considered [Flag] Cash paid for income taxes Income Taxes Paid Consolidation Consolidation, Policy [Policy Text Block] Balance Sheet Components Supplemental Balance Sheet Disclosures [Text Block] Document Transition Report Document Transition Report Award Timing Predetermined Award Timing Predetermined [Flag] Termination Date Trading Arrangement Termination Date Accounts payable Increase (Decrease) in Accounts Payable Marketable investments Debt Securities, Available-for-Sale Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] Gross Unrealized Gains Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Gain, before Tax All Trading Arrangements All Trading Arrangements [Member] Due in one year Debt Securities, Available-for-Sale, Amortized Cost, Maturity, Allocated and Single Maturity Date, Year One All Adjustments to Compensation All Adjustments to Compensation [Member] Award Timing Disclosures [Line Items] Compensation Amount Outstanding Recovery Compensation Amount Royalty expense Royalty Expense Interest and other income, net Interest and Other Income Other Commitments [Axis] Other Commitments [Axis] Additional paid-in capital Additional Paid in Capital Subsequent Event Type [Axis] Subsequent Event Type [Axis] Proceeds from exercises of stock options Proceeds from Stock Options Exercised Statement of Comprehensive Income [Abstract] Statement of Comprehensive Income [Abstract] Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Table] Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table] Prepaid expenses and other current assets Prepaid Expense and Other Assets, Current Weighted average shares used to compute net income attributable to common stockholders: Weighted Average Number of Shares Outstanding, Basic and Diluted [Abstract] Weighted Average Number of Shares Outstanding, Basic and Diluted Insider Trading Arrangements [Line Items] Allowance for credit losses Accounts Receivable, Allowance for Credit Loss Issuance of common stock (in shares) Shares Issued, Shares, Share-Based Payment Arrangement, after Forfeiture Entity Registrant Name Entity Registrant Name Material Terms of Trading Arrangement Material Terms of Trading Arrangement [Text Block] Award Timing Method Award Timing Method [Text Block] Potential dilutive stock-based options and awards (in shares) Incremental Common Shares Attributable to Dilutive Effect of Share-Based Payment Arrangements Adjustment to Compensation, Amount Adjustment to Compensation Amount Cost of revenue Cost of revenue Cost of Sales [Member] Document Period End Date Document Period End Date Marketable And Non-Marketable Investments Marketable And Non-Marketable Investments [Member] Marketable And Non-Marketable Investments Compensation Actually Paid vs. Net Income Compensation Actually Paid vs. Net Income [Text Block] Adoption Date Trading Arrangement Adoption Date Peer Group Issuers, Footnote Peer Group Issuers, Footnote [Text Block] Schedule of Fair Value of Assets and Liabilities Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis [Table Text Block] Non-current finance lease liabilities Finance Lease, Liability, Noncurrent Entity Central Index Key Entity Central Index Key Contingent liability Loss Contingency Accrual Stock-based compensation expense Share-Based Payment Arrangement, Expense Non-Rule 10b5-1 Arrangement Terminated Non-Rule 10b5-1 Arrangement Terminated [Flag] Finite lived intangible assets: gross carrying amount Finite-Lived Intangible Assets, Gross Provision for income taxes Income Tax Expense (Benefit) Finished goods Inventory, Finished Goods, Net of Reserves Finance lease right-of-use assets Finance Lease, Right-of-Use Asset, after Accumulated Amortization Payroll and employee-related expenses Employee-related Liabilities, Current Investments and Fair Value of Financial Instruments Fair Value Disclosures [Text Block] Number of operating segments Number of Operating Segments Name Trading Arrangement, Individual Name Disaggregation of Revenue Disaggregation of Revenue [Table Text Block] 12 months or more: Gross Unrealized Losses Debt Securities, Available-for-Sale, Continuous Unrealized Loss Position, 12 Months or Longer, Accumulated Loss Equity [Abstract] Equity [Abstract] Debt Securities, Available-for-sale [Line Items] Debt Securities, Available-for-Sale [Line Items] Revenue from contract with customer Revenue from Contract with Customer, Excluding Assessed Tax Compensation Actually Paid vs. Company Selected Measure Compensation Actually Paid vs. Company Selected Measure [Text Block] Amendment Flag Amendment Flag Intangible Assets Intangible Assets Disclosure [Text Block] Money market funds Money Market Funds [Member] Cash and Cash Equivalents [Axis] Cash and Cash Equivalents [Axis] Less than 12 months: Gross Unrealized Losses Debt Securities, Available-for-Sale, Continuous Unrealized Loss Position, Less than 12 Months, Accumulated Loss Cash and cash equivalents Cash and Cash Equivalents, at Carrying Value Shares held for tax withholdings (in shares) Share-Based Payment Arrangement, Shares Withheld for Tax Withholding Obligation Due in one year Debt Securities, Available-for-Sale, Fair Value, Maturity, Allocated and Single Maturity Date, Year One Credit Facility [Domain] Credit Facility [Domain] Compensation Actually Paid vs. Other Measure Compensation Actually Paid vs. Other Measure [Text Block] Numerator: Net Income (Loss) Available to Common Stockholders, Basic [Abstract] Goodwill Goodwill Disclosure [Text Block] Diluted (in shares) Diluted (in shares) Weighted Average Number of Shares Outstanding, Diluted Forgone Recovery, Explanation of Impracticability Forgone Recovery, Explanation of Impracticability [Text Block] Summary of Contract Assets and Liabilities Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block] Right-of-use assets obtained in exchange for finance lease obligations Right-of-Use Asset Obtained in Exchange for Finance Lease Liability Intangible Assets, Net (Excluding Goodwill) [Abstract] Intangible Assets, Net (Excluding Goodwill) [Abstract] Operating expenses: Operating Expenses [Abstract] Revenues Revenue from Contract with Customer [Text Block] Purchases of property and equipment Payments to Acquire Property, Plant, and Equipment Company Selected Measure Amount Company Selected Measure Amount Additional Paid-in Capital Additional Paid-in Capital [Member] Total assets Assets Name Awards Close in Time to MNPI Disclosures, Individual Name Cover page. Cover [Abstract] Commercial paper Commercial Paper, Not Included with Cash and Cash Equivalents [Member] Stock-based compensation APIC, Share-Based Payment Arrangement, Increase for Cost Recognition United States UNITED STATES Recurring Fair Value, Recurring [Member] Other non-current liabilities Other Liabilities, Noncurrent Non-NEOs Non-NEOs [Member] Total operating expenses Operating Expenses Number of business activities Number of Business Activities Number of Business Activities NET INCREASE IN CASH AND CASH EQUIVALENTS Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect CASH FLOWS FROM FINANCING ACTIVITIES: Net Cash Provided by (Used in) Financing Activities [Abstract] Purchases of non-marketable investments Payments for non-marketable investment Payments To Acquire Convertible Preferred Stock Payments To Acquire Convertible Preferred Stock Non-PEO NEO Non-PEO NEO [Member] Equity Component [Domain] Equity Component [Domain] Current finance lease liabilities Finance Lease, Liability, Current Adjustment to Compensation: Adjustment to Compensation [Axis] Extended term of agreement Royalty Obligations, Extended Term of Agreement Royalty Obligations, Extended Term of Agreement Work in process Inventory, Work in Process, Net of Reserves Non-GAAP Measure Description Non-GAAP Measure Description [Text Block] Contract assets Contract with Customer, Asset, after Allowance for Credit Loss Basic (in shares) Weighted Average Number of Shares Outstanding, Basic Entity Current Reporting Status Entity Current Reporting Status Income from operations Operating Income (Loss) Cost of revenue Cost of Revenue Pay vs Performance Disclosure Pay vs Performance Disclosure [Table] Statement [Line Items] Statement [Line Items] Other comprehensive (loss) income, net of tax: Other Comprehensive Income (Loss), Net of Tax [Abstract] Forgone Recovery due to Disqualification of Tax Benefits, Amount Forgone Recovery due to Disqualification of Tax Benefits, Amount Awards Close in Time to MNPI Disclosures Awards Close in Time to MNPI Disclosures [Table] Customer relationships Customer Relationships [Member] Stockholders’ equity: Equity, Including Portion Attributable to Noncontrolling Interest [Abstract] Amortized Cost Debt Securities, Available-for-Sale, Amortized Cost, Fiscal Year Maturity [Abstract] EX-101.PRE 9 pen-20240331_pre.xml XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE DOCUMENT XML 11 R1.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Cover - shares
3 Months Ended
Mar. 31, 2024
Apr. 23, 2024
Cover [Abstract]    
Document Type 10-Q  
Document Quarterly Report true  
Document Period End Date Mar. 31, 2024  
Document Transition Report false  
Entity File Number 001-37557  
Entity Registrant Name Penumbra, Inc  
Entity Address, Address Description One Penumbra Place  
Entity Address, City or Town Alameda  
Entity Address, State or Province CA  
Entity Incorporation, State or Country Code DE  
Entity Tax Identification Number 05-0605598  
Entity Address, Postal Zip Code 94502  
City Area Code 510  
Local Phone Number 748-3200  
Title of 12(b) Security Common Stock, Par value $0.001 per share  
Trading Symbol PEN  
Security Exchange Name NYSE  
Entity Current Reporting Status Yes  
Entity Interactive Data Current Yes  
Entity Filer Category Large Accelerated Filer  
Entity Small Business false  
Entity Emerging Growth Company false  
Entity Shell Company false  
Entity Common Stock, Shares Outstanding   38,764,917
Entity Central Index Key 0001321732  
Current Fiscal Year End Date --12-31  
Document Fiscal Year Focus 2024  
Document Fiscal Period Focus Q1  
Amendment Flag false  
XML 12 R2.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Condensed Consolidated Balance Sheets - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Current assets:    
Cash and cash equivalents $ 223,114 $ 167,486
Marketable investments 90,360 121,701
Accounts receivable, net of allowance for credit losses of $3,020 and $3,169 at March 31, 2024 and December 31, 2023, respectively 191,989 201,768
Inventories 398,366 388,023
Prepaid expenses and other current assets 31,194 36,424
Total current assets 935,023 915,402
Property and equipment, net 75,744 72,691
Operating lease right-of-use assets 185,845 188,756
Finance lease right-of-use assets 30,234 31,092
Intangible assets, net 68,421 71,056
Goodwill 166,103 166,270
Deferred taxes 84,661 85,158
Other non-current assets 33,814 25,880
Total assets 1,579,845 1,556,305
Current liabilities:    
Accounts payable 32,454 27,155
Accrued liabilities 106,549 110,555
Current operating lease liabilities 11,520 11,203
Current finance lease liabilities 2,280 2,231
Total current liabilities 152,803 151,144
Non-current operating lease liabilities 194,537 197,229
Non-current finance lease liabilities 23,098 23,680
Other non-current liabilities 5,876 5,308
Total liabilities 376,314 377,361
Commitments and contingencies
Stockholders’ equity:    
Common stock 39 39
Additional paid-in capital 1,062,470 1,047,198
Accumulated other comprehensive loss (4,838) (3,151)
Retained earnings 145,860 134,858
Total Penumbra, Inc. stockholders’ equity 1,203,531 1,178,944
Total liabilities and stockholders’ equity $ 1,579,845 $ 1,556,305
XML 13 R3.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Condensed Consolidated Balance Sheets (Parenthetical) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Statement of Financial Position [Abstract]    
Allowance for credit losses $ 3,020 $ 3,169
XML 14 R4.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Condensed Consolidated Statements of Operations - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Income Statement [Abstract]    
Revenue $ 278,655 $ 241,398
Cost of revenue 97,516 90,326
Gross profit 181,139 151,072
Operating expenses:    
Research and development 24,626 19,986
Sales, general and administrative 144,412 123,078
Total operating expenses 169,038 143,064
Income from operations 12,101 8,008
Interest and other income, net 2,525 644
Income before income taxes 14,626 8,652
Provision for income taxes 3,624 90
Net income $ 11,002 $ 8,562
Net income per share:    
Basic (in dollars per share) $ 0.28 $ 0.22
Diluted (in dollars per share) $ 0.28 $ 0.22
Weighted average shares outstanding:    
Basic (in shares) 38,717,334 38,186,342
Diluted (in shares) 39,387,359 39,075,388
XML 15 R5.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Condensed Consolidated Statements of Comprehensive (Loss) Income - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Statement of Comprehensive Income [Abstract]    
Net income $ 11,002 $ 8,562
Other comprehensive (loss) income, net of tax:    
Foreign currency translation adjustments, net of tax (1,853) 403
Net change in unrealized gains or losses on available-for-sale securities, net of tax 166 860
Total other comprehensive (loss) income, net of tax (1,687) 1,263
Comprehensive income $ 9,315 $ 9,825
XML 16 R6.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Consolidated Statements of Stockholders' Equity (Deficit) - USD ($)
$ in Thousands
Total
Common Stock
Additional Paid-in Capital
Accumulated Other Comprehensive Income (Loss)
Retained Earnings (Accumulated Deficit)
Beginning balance (in shares) at Dec. 31, 2022   38,107,977      
Beginning balance at Dec. 31, 2022 $ 998,858 $ 38 $ 963,040 $ (8,124) $ 43,904
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Issuance of common stock (in shares)   134,936      
Issuance of common stock 2,209   2,209    
Shares held for tax withholdings (in shares)   (813)      
Shares held for tax withholdings (204)   (204)    
Stock-based compensation 13,781   13,781    
Other comprehensive income (loss) 1,263     1,263  
Net income (loss) 8,562       8,562
Ending balance (in shares) at Mar. 31, 2023   38,242,100      
Ending balance at Mar. 31, 2023 1,024,469 $ 38 978,826 (6,861) 52,466
Beginning balance (in shares) at Dec. 31, 2023   38,681,549      
Beginning balance at Dec. 31, 2023 1,178,944 $ 39 1,047,198 (3,151) 134,858
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Issuance of common stock (in shares)   76,597      
Issuance of common stock 238   238    
Shares held for tax withholdings (in shares)   (1,732)      
Shares held for tax withholdings (421)   (421)    
Stock-based compensation 15,455   15,455    
Other comprehensive income (loss) (1,687)     (1,687)  
Net income (loss) 11,002       11,002
Ending balance (in shares) at Mar. 31, 2024   38,756,414      
Ending balance at Mar. 31, 2024 $ 1,203,531 $ 39 $ 1,062,470 $ (4,838) $ 145,860
XML 17 R7.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Condensed Consolidated Statements of Cash Flows - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
CASH FLOWS FROM OPERATING ACTIVITIES:    
Net income $ 11,002 $ 8,562
Adjustments to reconcile net income to net cash provided by operating activities:    
Depreciation and amortization 7,519 6,575
Stock-based compensation 13,569 12,766
Inventory write-downs 358 1,009
Deferred taxes 475 (953)
Other (221) 140
Changes in operating assets and liabilities:    
Accounts receivable 8,460 (3,540)
Inventories (11,619) (10,641)
Prepaid expenses and other current and non-current assets 4,565 (3,994)
Accounts payable 5,209 2,074
Accrued expenses and other non-current liabilities (1,022) 1,131
Net cash provided by (used in) operating activities 38,295 13,129
CASH FLOWS FROM INVESTING ACTIVITIES:    
Purchases of non-marketable investments (10,000) 0
Purchases of marketable investments (11,267) 0
Proceeds from maturities of marketable investments 43,375 14,605
Purchases of property and equipment (5,824) (3,894)
Other 2,100 0
Net cash provided by (used in) investing activities 18,384 10,711
CASH FLOWS FROM FINANCING ACTIVITIES:    
Proceeds from exercises of stock options 238 2,209
Payment of employee taxes related to vested stock (421) (204)
Payments of finance lease obligations (550) (474)
Other (61) (155)
Net cash (used in) provided by financing activities (794) 1,376
Effect of foreign exchange rate changes on cash and cash equivalents (257) (386)
NET INCREASE IN CASH AND CASH EQUIVALENTS 55,628 24,830
CASH AND CASH EQUIVALENTS—Beginning of period 167,486 69,858
CASH AND CASH EQUIVALENTS—End of period 223,114 94,688
NONCASH INVESTING AND FINANCING ACTIVITIES:    
Right-of-use assets obtained in exchange for lease obligations 292 341
Right-of-use assets obtained in exchange for finance lease obligations 17 68
Purchase of property and equipment funded through accounts payable and accrued liabilities 1,816 1,781
SUPPLEMENTAL CASH FLOW INFORMATION:    
Cash paid for amounts included in the measurement of operating lease liabilities 5,337 4,706
Cash paid for income taxes $ 1,125 $ 1,413
XML 18 R8.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Organization and Description of Business
3 Months Ended
Mar. 31, 2024
Organization, Consolidation and Presentation of Financial Statements [Abstract]  
Organization and Description of Business
1. Organization and Description of Business
Penumbra, Inc. (the “Company”) is a global healthcare company focused on innovative therapies. The Company designs, develops, manufactures and markets novel products and has a broad portfolio that addresses challenging medical conditions in markets with significant unmet need. The Company focuses on developing, manufacturing and marketing novel products for use by specialist physicians and other healthcare providers to drive improved clinical and health outcomes. The Company believes that the cost-effectiveness of our products is attractive to our customers.
XML 19 R9.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Summary of Significant Accounting Policies
3 Months Ended
Mar. 31, 2024
Accounting Policies [Abstract]  
Summary of Significant Accounting Policies
2. Summary of Significant Accounting Policies
Basis of Presentation and Consolidation
The accompanying condensed consolidated balance sheet as of March 31, 2024, the condensed consolidated statements of operations, the condensed consolidated statements of comprehensive income (loss), and the condensed consolidated statements of stockholders’ equity for the three months ended March 31, 2024 and 2023, and the condensed consolidated statements of cash flows for the three months ended March 31, 2024 and 2023 are unaudited. The unaudited condensed consolidated financial statements included herein have been prepared by the Company in accordance with accounting principles generally accepted in the United States of America (“U.S. GAAP”) and the applicable rules and regulations of the U.S. Securities and Exchange Commission (the “SEC”) for interim financial information. Accordingly, they do not include all of the information and notes required by U.S. GAAP for complete financial statements. The condensed consolidated balance sheet data as of December 31, 2023 was derived from the audited financial statements as of that date.
The unaudited condensed consolidated financial statements have been prepared on the same basis as the audited consolidated financial statements and, in the opinion of management, reflect all adjustments of a normal recurring nature considered necessary to state fairly the Company’s financial position as of March 31, 2024, the results of its operations for the three months ended March 31, 2024 and 2023, the changes in its comprehensive income (loss) and stockholders’ equity for the three months ended March 31, 2024 and 2023, and its cash flows for the three months ended March 31, 2024 and 2023. The results for the three months ended March 31, 2024 are not necessarily indicative of the results that may be expected for the year ending December 31, 2024 or for any other future annual or interim period. Certain changes in presentation were made to interest income (expense), net and other income (expense), net in the condensed consolidated statements of operations for the three months ended March 31, 2023 to conform to the presentation for the three months ended March 31, 2024.
The information included in this Quarterly Report on Form 10-Q should be read in conjunction with the audited consolidated financial statements and notes thereto for the fiscal year ended December 31, 2023, included in the Company’s Annual Report on Form 10-K as filed with the SEC on February 22, 2024. There have been no changes to the Company’s significant accounting policies during the three months ended March 31, 2024, as compared to the significant accounting policies described in the Company’s Annual Report on Form 10-K for the fiscal year ended December 31, 2023.
The condensed consolidated financial statements include the accounts of the Company and its wholly-owned subsidiaries. All intercompany balances and transactions have been eliminated in consolidation.
Use of Estimates
The preparation of financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of assets, liabilities and equity accounts; disclosure of contingent assets and liabilities at the date of the financial statements; and the reported amounts of revenues and expenses during the reporting period. On an ongoing basis, the Company evaluates its estimates, including those related to marketable investments, allowances for credit losses, the amount of variable consideration included in the transaction price, warranty reserve, valuation of inventories, useful lives of property and equipment, intangibles, operating and financing lease right-of-use (“ROU”) assets and liabilities, income taxes, and other contingencies, including the probability of achieving performance targets associated with equity awards with performance conditions, among others. The Company bases its estimates on historical experience and on various other assumptions that are believed 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 data. Actual results could differ from those estimates.
Segments
The Company determined its operating segment on the same basis that it uses to evaluate its performance internally. The Company has one business activity: the design, development, manufacturing and marketing of innovative medical products, and operates as one operating segment. The Company’s chief operating decision-maker, its Chief Executive Officer, reviews its consolidated operating results for the purpose of allocating resources and evaluating financial performance.
Recently Issued Accounting Standards
In December 2023, the FASB issued Accounting Standards Update (“ASU”) No. 2023-09, Income Taxes— Improvements to Income Tax Disclosures. The standard enhances annual income tax disclosures, by requiring additional disaggregated information about an entity’s effective tax rate reconciliation and income taxes paid. The ASU adds guidance that requires public business entities to disclose additional information in specified categories with respect to the reconciliation of the effective tax rate to the statutory rate (the rate reconciliation) for federal, state, and foreign income taxes. It also requires greater detail about individual reconciling items in the rate reconciliation to the extent the impact of those items exceeds a specified threshold (5%). In addition to new disclosures associated with the rate reconciliation, the ASU requires information pertaining to taxes paid (net of refunds received) to be disaggregated for federal, state, and foreign taxes and further disaggregated for specific jurisdictions to the extent the related amounts exceed the quantitative threshold. For public business entities, the amendments in ASU 2023-09 are effective for annual periods beginning after December 15, 2024. Early adoption is permitted for annual financial statements not yet issued or made available for issuance. The Company is assessing the impact the new guidance will have on the disclosures within its consolidated financial statements and does not elect to early adopt as of March 31, 2024.
In November 2023, the FASB issued ASU 2023-07, Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures. The ASU expands public entities’ segment disclosures by requiring disclosure of significant segment expenses that are regularly reviewed by the CODM and included within each reported measure of segment profit or loss, an amount and description of its composition for other segment items, and interim disclosures of a reportable segment’s profit or loss and assets. The ASU also allows, in addition to the measure that is most consistent with U.S. GAAP, the disclosure of additional measures of segment profit or loss that are used by the CODM in assessing segment performance and deciding how to allocate resources. All disclosure requirements under ASU 2023-07 are also required for public entities with a single reportable segment. The ASU is effective for fiscal years beginning after December 15, 2023, and interim periods within fiscal years beginning after December 15, 2024, on a retrospective basis, with early adoption permitted. The Company is assessing the impact the new guidance will have on the disclosures within its consolidated financial statements and does not elect to early adopt as of March 31, 2024.
XML 20 R10.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Investments and Fair Value of Financial Instruments
3 Months Ended
Mar. 31, 2024
Fair Value Disclosures [Abstract]  
Investments and Fair Value of Financial Instruments
3. Investments and Fair Value of Financial Instruments
Marketable and Non-Marketable Investments
The Company’s marketable and non-marketable investments have been classified and accounted for as available-for-sale. The Company’s marketable and non-marketable investments as of March 31, 2024 and December 31, 2023 were as follows (in thousands):
March 31, 2024
Securities with net gains or losses in accumulated other comprehensive income (loss)
Amortized CostGross Unrealized GainsGross Unrealized LossesAllowance
 for
 Credit Loss
Fair Value
Marketable investments:
Commercial paper $31,449 $$(11)$— $31,445 
Certificate of Deposit4,632 — — 4,636 
U.S. treasury13,210 — (142)$— 13,068 
U.S. states and municipalities900 — (9)— 891 
Corporate bonds40,542 19 (241)— 40,320 
Total90,733 30 (403)— 90,360 
Non-marketable investments:
Non-marketable debt securities10,000 — — — 10,000 
Total10,000 — — — 10,000 
Total $100,733 $30 $(403)$— $100,360 
December 31, 2023
Securities with net gains or losses in accumulated other comprehensive income (loss)
Amortized CostGross Unrealized GainsGross Unrealized LossesAllowance
 for
 Credit Loss
Fair Value
Marketable investments:
Commercial paper $39,727 $32 $(3)$— $39,756 
Certificate of Deposit6,392 — — 6,401 
U.S. treasury10,226 — (160)— 10,066 
U.S. states and municipalities2,950 — (35)— 2,915 
Corporate bonds62,964 29 (430)— 62,563 
Total$122,259 $70 $(628)$— $121,701 
As of March 31, 2024, the total amortized cost basis of the Company’s available-for-sale debt securities, excluding non-marketable debt securities, is an unrealized loss position of $0.4 million, which was primarily attributable to rising interest rates since purchase. The Company reviewed its available-for-sale securities in an unrealized loss position and concluded that the decline in fair value was not related to credit losses and is recoverable. During the three months ended March 31, 2024, no allowance for credit losses was recorded and instead the unrealized losses are reported as a component of accumulated other comprehensive loss.
The following tables present the gross unrealized losses and the fair value for those marketable investments that were in an unrealized loss position for less than and more twelve months as of March 31, 2024 and December 31, 2023 (in thousands):
March 31, 2024
Less than 12 monthsMore than 12 monthsTotal
Fair ValueGross Unrealized LossesFair ValueGross Unrealized LossesFair ValueGross Unrealized Losses
Marketable investments:
Commercial paper$20,041 $(11)$— $— $20,041 $(11)
U.S. treasury5,666 (80)4,436 (62)10,102 (142)
U.S. states and municipalities— — 891 (9)891 (9)
Corporate bonds2,998 (3)13,421 (238)16,419 (241)
Total$28,705 $(94)$18,748 $(309)$47,453 $(403)
December 31, 2023
Less than 12 monthsMore than 12 monthsTotal
Fair ValueGross Unrealized LossesFair ValueGross Unrealized LossesFair ValueGross Unrealized Losses
Marketable investments:
Commercial paper$16,241 $(3)$— $— $16,241 $(3)
U.S. treasury5,677 (54)4,389 (106)10,066 (160)
U.S. states and municipalities— — 2,915 (35)2,915 (35)
Corporate bonds15,945 (2)30,912 (428)46,857 (430)
Total$37,863 $(59)$38,216 $(569)$76,079 $(628)
The contractual maturities of the Company’s marketable investments as of March 31, 2024 (in thousands):
March 31, 2024
Marketable investments:Amortized CostFair Value
Due in one year$87,922 $87,601 
Due in one to five years2,811 2,759 
Total$90,733 $90,360 
Non-Marketable Investments
During the three months ended March 31, 2024, the Company completed a strategic investment in a privately held company. Under the terms of the investment, the Company paid $10.0 million in exchange for shares of Series B preferred stock which represented an immaterial investment in the investment in outstanding equity securities of the privately held company. The Company determined that the investment did not meet the criteria to be accounted for as an equity method investment under ASC 323. The investment was accounted for as an available-for-sale debt security in accordance with ASC 320 as the preferred stock contains a contingent redemption feature at the Company’s option. The investment is included in other non-current assets on the condensed consolidated balance sheet and changes in fair value are recorded in total other comprehensive (loss) income, net of tax. There were no unrealized gains or losses recorded in connection with the Company’s non-marketable debt securities during the three months ended March 31, 2024.
Fair Value of Financial Instruments
Fair value is defined as the price that would be received to sell an asset or paid to transfer a liability (an exit price) in an orderly transaction between market participants at the reporting date. The accounting guidance establishes a three-tiered hierarchy, which prioritizes the inputs used in the valuation methodologies in measuring fair value:
Level 1 - Quoted prices in active markets for identical assets or liabilities.
Level 2 - Inputs other than Level 1 that are observable, either directly or indirectly, such as quoted prices in markets that are not active; or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities.
Level 3 - Unobservable inputs that are supported by little or no market activity and that are significant to the fair value of the assets or liabilities.
The categorization of a financial instrument within the valuation hierarchy is based on the lowest level of input that is significant to the fair value measurement.
The Company classifies its cash equivalents and marketable investments within Level 1 and Level 2, as it uses quoted market prices or alternative pricing sources and models utilizing market observable inputs. The Company classifies its non-marketable investments in preferred stock in privately held companies within Level 3, as they do not have a readily determinable fair value.
The Company determined the fair value of its Level 1 financial instruments, which are traded in active markets, using quoted market prices for identical instruments.
Marketable investments classified within Level 2 of the fair value hierarchy are valued based on other observable inputs, including broker or dealer quotations or alternative pricing sources. When quoted prices in active markets for identical assets or liabilities are not available, the Company relies on non-binding quotes from its investment managers, which are based on proprietary valuation models of independent pricing services. These models generally use inputs such as observable market data, quoted market prices for similar instruments, historical pricing trends of a security as relative to its peers. To validate the fair value determination provided by its investment managers, the Company reviews the pricing movement in the context of overall market trends and trading information from its investment managers. In addition, the Company assesses the inputs and methods used in determining the fair value in order to determine the classification of securities in the fair value hierarchy.
Non-marketable investments classified within Level 3 of the fair value hierarchy are valued based on unobservable inputs that are supported by little or no market activity. Current financial information of private companies may not be available and consequently the Company estimates the fair value using inputs that are based on the best available information at the measurement date, which may include the most recent financial information, financial projections, and financing transactions available for the investee and other quantitative and qualitative factors. Additionally, based on the timing, volume, and other characteristics of the available information, the Company may supplement this information by using one or more valuation techniques, including market and income approaches. The Company did not hold any non-marketable investments classified as Level 3 as of December 31, 2023.
The Company did not hold any Level 3 marketable investments as of March 31, 2024 or December 31, 2023. During the three months ended March 31, 2024 and 2023, the Company did not have any transfers between Level 1, Level 2 or Level 3 of the fair value hierarchy. Additionally, the Company did not have any financial assets and liabilities measured at fair value on a non-recurring basis as of March 31, 2024 or December 31, 2023.
The following tables set forth the Company’s financial assets and liabilities measured at fair value by level within the fair value hierarchy as of March 31, 2024 and December 31, 2023 (in thousands):
 As of March 31, 2024
 Level 1Level 2Level 3Fair Value
Financial Assets
Cash equivalents:
Commercial paper$— $30,555 $— $30,555 
Certificate of deposit— 4,901 — 4,901 
Money market funds57,278 — — 57,278 
U.S. treasury53,672 — — 53,672 
Marketable investments:
Commercial paper— 31,445 — 31,445 
Certificate of deposit— 4,636 — 4,636 
U.S. treasury13,068 — — 13,068 
U.S. states and municipalities— 891 — 891 
Corporate bonds— 40,320 — 40,320 
Non-marketable investments:
Non-marketable investments— — 10,000 10,000 
Total$124,018 $112,748 $10,000 $246,766 
 As of December 31, 2023
 Level 1Level 2Level 3Fair Value
Financial Assets
Cash equivalents:
Money market funds$86,991 $— $— $86,991 
Marketable investments:
Commercial paper— 39,756 — 39,756 
Certificate of Deposit— 6,401 — 6,401 
U.S. treasury10,066 — — 10,066 
U.S. states and municipalities— 2,915 — 2,915 
Corporate bonds— 62,563 — 62,563 
Total$97,057 $111,635 $— $208,692 
XML 21 R11.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Balance Sheet Components
3 Months Ended
Mar. 31, 2024
Organization, Consolidation and Presentation of Financial Statements [Abstract]  
Balance Sheet Components
4. Balance Sheet Components
Inventories
The components of inventories consisted of the following (in thousands):
 March 31, 2024December 31, 2023
Raw materials$121,134 $119,511 
Work in process36,815 34,489 
Finished goods240,417 234,023 
Inventories$398,366 $388,023 
Accrued Liabilities
The components of accrued liabilities consisted of the following (in thousands):
 March 31, 2024December 31, 2023
Payroll and employee-related expenses$59,481 $65,395 
Accrued expenses14,327 11,711 
Deferred revenue8,672 6,985 
Other accrued liabilities24,069 26,464 
Total accrued liabilities$106,549 $110,555 
The following table shows the changes in the Company’s estimated product warranty accrual, included in accrued liabilities, for the three months ended March 31, 2024 and twelve months ended December 31, 2023, respectively (in thousands):
 March 31, 2024December 31, 2023
Balance at the beginning of the period$5,755 $5,370 
Accruals of warranties issued, net(3,141)1,865 
Settlements of warranty claims(536)(1,480)
Balance at the end of the period$2,078 $5,755 
XML 22 R12.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Intangible Assets
3 Months Ended
Mar. 31, 2024
Intangible Assets, Net (Excluding Goodwill) [Abstract]  
Intangible Assets
5. Intangible Assets
The following table presents details of the Company’s acquired intangible assets as of March 31, 2024 and December 31, 2023 (in thousands, except weighted-average amortization period):
As of March 31, 2024Weighted-Average Amortization PeriodGross Carrying AmountAccumulated AmortizationNet
Finite-lived intangible assets:
Developed technology8.8 years$83,289 $(22,020)$61,269 
Customer relationships15.0 years6,434 (2,895)3,539 
Trade secrets and processes20.0 years5,256 (1,643)3,613 
Total intangible assets 9.6 years$94,979 $(26,558)$68,421 
As of December 31, 2023Weighted-Average
Amortization Period
Gross Carrying AmountAccumulated AmortizationNet
Finite-lived intangible assets:
Developed technology8.8 years$83,289 $(19,640)$63,649 
Customer relationships15.0 years6,579 (2,851)3,728 
Trade secrets and processes20.0 years5,256 (1,577)3,679 
Total intangible assets9.6 years$95,124 $(24,068)$71,056 
The gross carrying amount and accumulated amortization of the customer relationships are the only intangible assets subject to foreign currency translation effects. The Company’s $5.3 million trade secrets and processes intangible asset was recognized in connection with a royalty buyout agreement in 2018.
The following table presents the amortization recorded related to the Company’s finite-lived intangible assets for the three months ended March 31, 2024 and 2023 (in thousands):
 Three Months Ended March 31,
 20242023
Cost of revenue$66 $66 
Sales, general and administrative2,487 2,486 
Total$2,553 $2,552 
XML 23 R13.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Goodwill
3 Months Ended
Mar. 31, 2024
Goodwill and Intangible Assets Disclosure [Abstract]  
Goodwill
6. Goodwill
The following table presents the changes in goodwill during the three months ended March 31, 2024 (in thousands):
Total Company
Balance as of December 31, 2023$166,270 
Foreign currency translation (167)
Balance as of March 31, 2024$166,103 
Goodwill Impairment Review
The Company reviews goodwill for impairment annually on October 31, or more frequently if events or circumstances indicate that an impairment loss may have occurred. The Company determined there were no impairment indicators as of March 31, 2024.
XML 24 R14.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Indebtedness
3 Months Ended
Mar. 31, 2024
Debt Disclosure [Abstract]  
Indebtedness
7. Indebtedness
Credit Agreement
On April 24, 2020, the Company entered into a Credit Agreement (the “Credit Agreement”) with JPMorgan Chase Bank, N.A., as administrative agent and lender, and Bank of America, N.A. and Citibank, N.A. as lenders. The Credit Agreement was secured and provided for up to $100 million in available revolving borrowing capacity with an option, subject to certain conditions, for the Company to increase the aggregate borrowing capacity to up to $150 million, and originally matured on April 23, 2021. During the three months ended March 31, 2021, 2022 and 2023, the Credit Agreement was amended to extend the maturity date and make other changes to the terms of the Credit Agreement. The Credit Agreement matured on February 16, 2024 and was not renewed.
XML 25 R15.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Commitments and Contingencies
3 Months Ended
Mar. 31, 2024
Commitments and Contingencies Disclosure [Abstract]  
Commitments and Contingencies
8. Commitments and Contingencies
Royalty Obligations
In March 2005, the Company entered into a license agreement that requires the Company to make minimum royalty payments to the licensor on a quarterly basis. As of December 31, 2018, the license agreement required minimum annual royalty payments of $0.1 million in equal quarterly installments. In July 2019, the Company amended the license agreement to extend its term for an additional ten years and to increase the required minimum annual royalty payments by $0.2 million for a required minimum annual royalty payment of $0.3 million. Unless terminated earlier, the term of the amended license agreement shall expire June 30, 2029.
Royalty expense included in cost of sales for the three months ended March 31, 2024 and 2023 was $0.6 million and $0.7 million, respectively.
Contingencies
From time to time, the Company may have certain contingent liabilities that arise in the ordinary course of business. The Company accrues a liability for such matters when it is probable that future expenditures will be made and such expenditures can be reasonably estimated.
Indemnification
The Company enters into standard indemnification arrangements in the ordinary course of business. In many such arrangements, the Company agrees to indemnify, hold harmless, and reimburse the indemnified parties for losses suffered or
incurred by the indemnified parties in connection with any trade secret, copyright, patent or other intellectual property infringement claim by any third-party with respect to the Company’s technology. The Company also agrees to indemnify many indemnified parties for product defect and similar claims. The term of these indemnification agreements is generally perpetual. The maximum potential amount of future payments the Company could be required to make under these agreements is not determinable because it involves claims that may be made against the Company in the future, but have not yet been made.
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, other than liabilities arising from willful misconduct of the individual.
The Company has not incurred costs to defend lawsuits or settle claims related to these indemnification agreements. No liability associated with any of these indemnification requirements has been recorded to date.
Litigation
From time to time, the Company is subject to certain legal proceedings, as well as demands, claims and threatened litigation that arise in the normal course of our business. The Company reviews the status of each significant matter quarterly and assesses its potential financial exposure. If the potential loss from a claim or legal proceeding is considered probable and the amount can be reasonably estimated, the Company records a liability and an expense for the estimated loss and discloses it in the Company’s financial statements if it is significant. If the Company determines that a loss is possible and the range of the loss can be reasonably determined, the Company does not record a liability or an expense but the Company discloses the range of the possible loss. The Company bases its judgments on the best information available at the time. As additional information becomes available, the Company reassesses the potential liability related to its pending claims and litigation and may revise its estimates.
On April 7, 2023, a former contractor who had been retained by the Company through a third party staffing agency filed a putative class action lawsuit as well as a Private Attorney General Act (“PAGA”) representative action complaint against the Company in the Superior Court of the State of California for the County of Alameda, on behalf of the contractor and similarly situated Company contractors and employees in California, alleging various claims pursuant to the California Labor Code related to wages, overtime, meal and rest breaks, reimbursement of business expenses, wage statements and records, and other similar allegations. Additionally, on April 10, 2023, a current employee of the Company filed a PAGA representative action complaint against the Company in the Superior Court of the State of California for the County of Alameda, on behalf of the employee and similarly situated Company employees in California, alleging similar claims. The complaints seek payment of various alleged unpaid wages, penalties, interest and attorneys’ fees in unspecified amounts. On April 22, 2024, the Company engaged in mediation, following which the parties agreed to settle the claims for an aggregate amount of $4.6 million, subject to negotiation of a mutually agreeable settlement agreement and approval by the court. As a result, the Company recorded an accrual of $4.6 million in its financial statements for the three months ended March 31, 2024 related to these matters.
XML 26 R16.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Stockholder's Equity
3 Months Ended
Mar. 31, 2024
Share-Based Payment Arrangement [Abstract]  
Stockholder's Equity
9. Stockholders’ Equity
Stock-based Compensation
Stock-based compensation expense is associated with restricted stock units (“RSUs”), RSUs with performance conditions (“PSUs”), stock options, and the Company’s Employee Stock Purchase Plan (“ESPP”).
Certain PSUs granted to senior management during the three months ended March 31, 2024, will vest subject to the achievement of pre-established financial performance targets for the year ending December 31, 2024, and continued service. The fair value of these PSUs is based on the closing price of the Company's common stock on the date of grant. Stock-based compensation costs associated with these PSUs are recognized over the requisite service period of 4.25 years using graded vesting which results in more accelerated expense recognition compared to traditional time-based vesting over the same vesting period. Each reporting period, the Company monitors the probability of achieving the performance targets and may adjust periodic stock-based compensation expense based on its determination of the likelihood of achieving these performance targets and the estimated number of shares of common stock that will vest. The actual number of PSUs awarded is based on the actual performance during the performance period compared to the performance targets.
The following table sets forth the stock-based compensation expense included in the Company’s condensed consolidated statements of operations for the three months ended March 31, 2024 and 2023 (in thousands):
 Three Months Ended March 31,
 20242023
Cost of revenue$1,194 $1,191 
Research and development2,168 2,278 
Sales, general and administrative10,207 9,297 
Total$13,569 $12,766 
As of March 31, 2024, total unrecognized compensation cost related to unvested share-based compensation arrangements, excluding PSUs, was $56.4 million, which is expected to be recognized over a weighted average period of 2.6 years.
As of March 31, 2024, total unrecognized compensation cost related to unvested PSU share-based compensation arrangements was $27.3 million, which is expected to be recognized over a weighted average period of 3.5 years.
The total stock-based compensation cost capitalized in inventory was $1.2 million and $1.3 million as of March 31, 2024 and December 31, 2023, respectively.
XML 27 R17.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Accumulated Other Comprehensive Income
3 Months Ended
Mar. 31, 2024
Equity [Abstract]  
Accumulated Other Comprehensive Income
10. Accumulated Other Comprehensive Income
Other comprehensive (loss) income consists of two components: unrealized gains or losses on the Company’s available-for-sale marketable investments and gains or losses from foreign currency translation adjustments. Until realized and reported as a component of consolidated net income, these comprehensive income items accumulate and are included within accumulated other comprehensive income. Unrealized gains and losses on our marketable investments are reclassified from accumulated other comprehensive income into earnings when realized upon sale, and are determined based on specific identification of securities sold. Gains and losses from the translation of assets and liabilities denominated in non-U.S. dollar functional currencies are included in accumulated other comprehensive income.
The following table summarizes the changes in the accumulated balances during the period, and includes information regarding the manner in which the reclassifications out of accumulated other comprehensive income into earnings affect our condensed consolidated statements of comprehensive income (loss) (in thousands):    
Three Months Ended March 31, 2024Three Months Ended March 31, 2023
 Marketable
Investments
 Currency Translation
Adjustments
 Total Marketable
Investments
 Currency Translation
Adjustments
 Total
Balance, beginning of the period$(558)$(2,593)$(3,151)$(3,500)$(4,624)$(8,124)
Other comprehensive loss before reclassifications:
Unrealized gains — marketable investments(1)
166 — 166 860 — 860 
Foreign currency translation (losses) gains— (1,857)(1,857)— 403 403 
Income tax effect — expense— — — — 
Net of tax166 (1,853)(1,687)860 403 1,263 
Net current-year other comprehensive income (loss)166 (1,853)(1,687)860 403 1,263 
Balance, end of the period$(392)$(4,446)$(4,838)$(2,640)$(4,221)$(6,861)
(1) There were no unrealized gains or losses recorded in connection with the Company’s non-marketable debt securities as of March 31, 2024.
XML 28 R18.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Income Taxes
3 Months Ended
Mar. 31, 2024
Income Tax Disclosure [Abstract]  
Income Taxes
11. Income Taxes
The Company’s income tax expense (benefit), deferred tax assets and liabilities, and reserves for unrecognized tax benefits reflect management’s best assessment of estimated current and future taxes to be paid. The Company is subject to income taxes in both the United States and foreign jurisdictions. Significant judgment and estimates are required in determining the consolidated income tax expense (benefit).
During interim periods, the Company generally utilizes the estimated annual effective tax rate (“AETR”) method which involves the use of forecasted information. Under the AETR method, the provision is calculated by applying the estimated
AETR for the full fiscal year to “ordinary” income or loss (pretax income or loss excluding unusual or infrequently occurring discrete items) for the reporting period. Jurisdictions with tax assets for which the Company believes a tax benefit cannot be realized are excluded from the computation of its AETR.
The Company’s provision for income taxes was $3.6 million for the three months ended March 31, 2024, compared to $0.1 million for the three months ended March 31, 2023. The effective tax rate was 24.8% for the three months ended March 31, 2024, compared to 1.0% for the three months ended March 31, 2023. The change in effective tax rate was primarily attributable to an increase in tax expense due to profit increase and a decrease in excess tax benefits from stock-based compensation attributable to its U.S. jurisdiction.
Significant domestic deferred tax assets (“DTAs”) were generated in recent years, primarily due to excess tax benefits from stock option exercises and vesting of restricted stock units. The Company evaluates all available positive and negative evidence, objective and subjective in nature, in each reporting period to determine if sufficient taxable income will be generated to realize the benefits of its DTAs and, if not, a valuation allowance to reduce the DTAs is recorded.
As of March 31, 2024, the Company maintains a valuation allowance primarily against its California R&D tax credit DTAs for which the Company does not believe a tax benefit is more likely than not to be realized due to the computation of California taxes under the single sales factor and non-conformity of the Section 174 capitalization rule.
The Company maintains that all foreign earnings, with the exception of a portion of the earnings of its German subsidiary, are permanently reinvested outside the United States and therefore deferred taxes attributable to such earnings are not provided for in the Company’s condensed consolidated financial statements as of March 31, 2024.
XML 29 R19.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Net Income per Share
3 Months Ended
Mar. 31, 2024
Earnings Per Share [Abstract]  
Net Income (Loss) per Share
12. Net Income per Share
The Company computed basic net income per share based on the weighted average number of shares of common stock outstanding during the period. The Company computed diluted net income per share based on the weighted average number of shares of common stock outstanding plus potentially dilutive common stock equivalents outstanding during the period. For the purposes of this calculation, stock options, restricted stock units, performance stock units, and stock sold through the ESPP are considered common stock equivalents.
A reconciliation of the numerator and denominator used in the calculation of the basic and diluted net income per share is as follows (in thousands, except share and per share amounts):
 Three Months Ended March 31,
 20242023
Numerator:
Net income$11,002 $8,562 
Denominator:
Weighted average shares used to compute net income attributable to common stockholders:
Basic38,717,334 38,186,342 
Potential dilutive stock-based options and awards670,025 889,046 
Diluted39,387,359 39,075,388 
Net income per share:
Basic$0.28 $0.22 
Diluted$0.28 $0.22 
For the three months ended March 31, 2024 and 2023, outstanding stock-based awards of 26 thousand and 26 thousand shares, respectively, were excluded from the computation of diluted net income per share because their effect would have been anti-dilutive in the periods presented.
XML 30 R20.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Interest and other income (expense), net
3 Months Ended
Mar. 31, 2024
Other Income and Expenses [Abstract]  
Interest and other income (expense), net
13. Interest and other income (expense), net
The following table shows the components of interest and other income (expense), net for the three months ended March 31, 2024 and 2023 and (in thousands):
 Three Months Ended March 31,
 20242023
Interest income$3,293 $970 
Interest expense(402)(416)
Other income (expense), net(1)
(366)90 
Interest and other income, net$2,525 $644 
(1) Consists primarily of the effects of foreign currency gains or losses.
XML 31 R21.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Revenues
3 Months Ended
Mar. 31, 2024
Revenue from Contract with Customer [Abstract]  
Revenues
14. Revenues
Revenue Recognition
Revenue is recognized in an amount that reflects the consideration the Company expects to be entitled to in exchange for goods or services. All revenue recognized in the condensed consolidated statements of operations is considered to be revenue from contracts with customers.
Certain changes in presentation were made to the Company’s revenues disaggregated by product categories for the period ended March 31, 2023 to conform to the presentation for the period ended March 31, 2024. During the year ended December 31, 2023, the Company made changes to its product categories to provide investors with more meaningful information to understand the performance of its business and strategic direction.
The Company’s revenues disaggregated by geography, based on the destination to which the Company ships its products, for the three months ended March 31, 2024 and 2023 was as follows (in thousands):
 Three Months Ended March 31,
 20242023
United States$209,644 $171,879 
International69,011 69,519 
Total$278,655 $241,398 
The Company’s revenues disaggregated by product category for the three months ended March 31, 2024 and 2023 was as follows (in thousands):
 Three Months Ended March 31,
 20242023
Thrombectomy$187,703 $144,980 
Embolization and Access90,952 96,418 
Total$278,655 $241,398 
Performance Obligations
Delivery of products - The Company’s contracts with customers, other than the China licensing arrangements described below, typically contain a single performance obligation, delivery of the Company’s products. Satisfaction of that performance obligation occurs when control of the promised goods transfers to the customer, which is generally upon shipment or receipt by customer for non-consignment sale agreements and upon utilization for consignment sale agreements.
Payment terms - The Company’s payment terms vary by the type and location of our customer. The timing between fulfillment of performance obligations and when payment is due is not significant and does not give rise to financing transactions. The Company did not have any contracts with significant financing components as of March 31, 2024 and 2023.
Product returns - The Company may allow customers to return products purchased at the Company’s discretion. The Company estimates the amount of its product sales that may be returned by its customers and records this estimate as a
reduction of revenue in the period in which the related product revenue is recognized. The Company currently estimates product return liabilities using its own historic sales information, trends, industry data, and other relevant data points.
Warranties - The Company offers its standard warranty to all customers and it is not available for sale on a standalone basis. The Company’s standard warranty represents its guarantee that its products function as intended, are free from defects, and comply with agreed-upon specifications and quality standards. This assurance does not constitute a service and is not a separate performance obligation.
Transaction Price
Revenue is recorded at the net sales price, which includes estimates of variable consideration such as product returns utilizing historical return rates, rebates, discounts, and other adjustments to net revenue. To the extent the transaction price includes variable consideration, the Company estimates the amount of variable consideration that should be included in the transaction price. When determining if variable consideration should be constrained, management considers whether there are factors that could result in a significant reversal of revenue and the likelihood of a potential reversal. Variable consideration is included in revenue only to the extent that it is probable that a significant reversal of the revenue recognized will not occur when the uncertainty associated with the variable consideration is subsequently resolved. These estimates are reassessed each reporting period as required. During the three months ended March 31, 2024 and 2023, the Company made no material changes in estimates for variable consideration. When the Company performs shipping and handling activities after control of goods is transferred to the customer, they are considered as fulfillment activities, and costs are accrued for when the related revenue is recognized. Taxes collected from customers relating to product sales and remitted to governmental authorities are excluded from revenues.
Contract assets and liabilities
The following information summarizes the Company’s contract assets and liabilities (in thousands):
March 31, 2024December 31, 2023
Contract assets$18,000 $18,000 
Contract liabilities$7,261 $6,496 
Contract assets for the periods presented primarily represent the difference between the revenue that was recognized based on the relative standalone selling price of the related performance obligations satisfied and the contractual billing terms in the licensing arrangements.
Contract liabilities represents amounts that the Company has already invoiced and are ultimately expected to be recognized as revenue, but for which not all revenue recognition criteria have been met and is recognized as the associated performance obligations are satisfied.
China Distribution and Technology Licensing Agreement
In December 2020, the Company entered into a distribution and technology licensing arrangement with its existing distribution partner in China. In addition to modifying the Company’s standard distribution agreement with its partner in China, the Company agreed to license the technology for certain products to its partner in China to permit the manufacturing and commercialization of such products in China as well as provide certain regulatory support. During the three months ended March 31, 2022, the Company further amended the distribution agreement and entered into an additional license arrangement, pursuant to which the Company agreed to license the technology for additional products to its partner in China on substantially the same terms as the existing license arrangement. Apart from the standard distribution agreement, the Company will receive fixed payments upon transferring its distinct licensed technology and providing related regulatory support. During the three months ended September 30, 2023, the Company entered into an additional licensing arrangement, pursuant to which the Company agreed to license the technology for additional products to its partner in China and will receive fixed payments upon transferring its distinct licensed technology and providing related regulatory support and royalty payments on the down-stream sale of the licensed products. During the three months ended March 31, 2024, the Company entered into another licensing agreement, pursuant to which the Company agreed to license the technology for additional products to its partner in China and will receive fixed payments upon transferring its distinct licensed technology and providing related regulatory support.
XML 32 R22.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Pay vs Performance Disclosure - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Pay vs Performance Disclosure    
Net income $ 11,002 $ 8,562
XML 33 R23.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Insider Trading Arrangements
3 Months Ended
Mar. 31, 2024
Trading Arrangements, by Individual  
Rule 10b5-1 Arrangement Adopted false
Non-Rule 10b5-1 Arrangement Adopted false
Rule 10b5-1 Arrangement Terminated false
Non-Rule 10b5-1 Arrangement Terminated false
XML 34 R24.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Summary of Significant Accounting Policies (Policies)
3 Months Ended
Mar. 31, 2024
Accounting Policies [Abstract]  
Basis of Presentation
Basis of Presentation and Consolidation
The accompanying condensed consolidated balance sheet as of March 31, 2024, the condensed consolidated statements of operations, the condensed consolidated statements of comprehensive income (loss), and the condensed consolidated statements of stockholders’ equity for the three months ended March 31, 2024 and 2023, and the condensed consolidated statements of cash flows for the three months ended March 31, 2024 and 2023 are unaudited. The unaudited condensed consolidated financial statements included herein have been prepared by the Company in accordance with accounting principles generally accepted in the United States of America (“U.S. GAAP”) and the applicable rules and regulations of the U.S. Securities and Exchange Commission (the “SEC”) for interim financial information. Accordingly, they do not include all of the information and notes required by U.S. GAAP for complete financial statements. The condensed consolidated balance sheet data as of December 31, 2023 was derived from the audited financial statements as of that date.
The unaudited condensed consolidated financial statements have been prepared on the same basis as the audited consolidated financial statements and, in the opinion of management, reflect all adjustments of a normal recurring nature considered necessary to state fairly the Company’s financial position as of March 31, 2024, the results of its operations for the three months ended March 31, 2024 and 2023, the changes in its comprehensive income (loss) and stockholders’ equity for the three months ended March 31, 2024 and 2023, and its cash flows for the three months ended March 31, 2024 and 2023. The results for the three months ended March 31, 2024 are not necessarily indicative of the results that may be expected for the year ending December 31, 2024 or for any other future annual or interim period. Certain changes in presentation were made to interest income (expense), net and other income (expense), net in the condensed consolidated statements of operations for the three months ended March 31, 2023 to conform to the presentation for the three months ended March 31, 2024.
The information included in this Quarterly Report on Form 10-Q should be read in conjunction with the audited consolidated financial statements and notes thereto for the fiscal year ended December 31, 2023, included in the Company’s Annual Report on Form 10-K as filed with the SEC on February 22, 2024. There have been no changes to the Company’s significant accounting policies during the three months ended March 31, 2024, as compared to the significant accounting policies described in the Company’s Annual Report on Form 10-K for the fiscal year ended December 31, 2023.
Consolidation
The condensed consolidated financial statements include the accounts of the Company and its wholly-owned subsidiaries. All intercompany balances and transactions have been eliminated in consolidation.
Use of Estimates
Use of Estimates
The preparation of financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of assets, liabilities and equity accounts; disclosure of contingent assets and liabilities at the date of the financial statements; and the reported amounts of revenues and expenses during the reporting period. On an ongoing basis, the Company evaluates its estimates, including those related to marketable investments, allowances for credit losses, the amount of variable consideration included in the transaction price, warranty reserve, valuation of inventories, useful lives of property and equipment, intangibles, operating and financing lease right-of-use (“ROU”) assets and liabilities, income taxes, and other contingencies, including the probability of achieving performance targets associated with equity awards with performance conditions, among others. The Company bases its estimates on historical experience and on various other assumptions that are believed 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 data. Actual results could differ from those estimates.
Segments
Segments
The Company determined its operating segment on the same basis that it uses to evaluate its performance internally. The Company has one business activity: the design, development, manufacturing and marketing of innovative medical products, and operates as one operating segment. The Company’s chief operating decision-maker, its Chief Executive Officer, reviews its consolidated operating results for the purpose of allocating resources and evaluating financial performance.
Marketable and Non-Marketable Investments
Marketable and Non-Marketable Investments
The Company’s marketable and non-marketable investments have been classified and accounted for as available-for-sale.
Recently Issued Accounting Standards
Recently Issued Accounting Standards
In December 2023, the FASB issued Accounting Standards Update (“ASU”) No. 2023-09, Income Taxes— Improvements to Income Tax Disclosures. The standard enhances annual income tax disclosures, by requiring additional disaggregated information about an entity’s effective tax rate reconciliation and income taxes paid. The ASU adds guidance that requires public business entities to disclose additional information in specified categories with respect to the reconciliation of the effective tax rate to the statutory rate (the rate reconciliation) for federal, state, and foreign income taxes. It also requires greater detail about individual reconciling items in the rate reconciliation to the extent the impact of those items exceeds a specified threshold (5%). In addition to new disclosures associated with the rate reconciliation, the ASU requires information pertaining to taxes paid (net of refunds received) to be disaggregated for federal, state, and foreign taxes and further disaggregated for specific jurisdictions to the extent the related amounts exceed the quantitative threshold. For public business entities, the amendments in ASU 2023-09 are effective for annual periods beginning after December 15, 2024. Early adoption is permitted for annual financial statements not yet issued or made available for issuance. The Company is assessing the impact the new guidance will have on the disclosures within its consolidated financial statements and does not elect to early adopt as of March 31, 2024.
In November 2023, the FASB issued ASU 2023-07, Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures. The ASU expands public entities’ segment disclosures by requiring disclosure of significant segment expenses that are regularly reviewed by the CODM and included within each reported measure of segment profit or loss, an amount and description of its composition for other segment items, and interim disclosures of a reportable segment’s profit or loss and assets. The ASU also allows, in addition to the measure that is most consistent with U.S. GAAP, the disclosure of additional measures of segment profit or loss that are used by the CODM in assessing segment performance and deciding how to allocate resources. All disclosure requirements under ASU 2023-07 are also required for public entities with a single reportable segment. The ASU is effective for fiscal years beginning after December 15, 2023, and interim periods within fiscal years beginning after December 15, 2024, on a retrospective basis, with early adoption permitted. The Company is assessing the impact the new guidance will have on the disclosures within its consolidated financial statements and does not elect to early adopt as of March 31, 2024.
XML 35 R25.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Investments and Fair Value of Financial Instruments (Tables)
3 Months Ended
Mar. 31, 2024
Fair Value Disclosures [Abstract]  
Schedule of Marketable Investments The Company’s marketable and non-marketable investments as of March 31, 2024 and December 31, 2023 were as follows (in thousands):
March 31, 2024
Securities with net gains or losses in accumulated other comprehensive income (loss)
Amortized CostGross Unrealized GainsGross Unrealized LossesAllowance
 for
 Credit Loss
Fair Value
Marketable investments:
Commercial paper $31,449 $$(11)$— $31,445 
Certificate of Deposit4,632 — — 4,636 
U.S. treasury13,210 — (142)$— 13,068 
U.S. states and municipalities900 — (9)— 891 
Corporate bonds40,542 19 (241)— 40,320 
Total90,733 30 (403)— 90,360 
Non-marketable investments:
Non-marketable debt securities10,000 — — — 10,000 
Total10,000 — — — 10,000 
Total $100,733 $30 $(403)$— $100,360 
December 31, 2023
Securities with net gains or losses in accumulated other comprehensive income (loss)
Amortized CostGross Unrealized GainsGross Unrealized LossesAllowance
 for
 Credit Loss
Fair Value
Marketable investments:
Commercial paper $39,727 $32 $(3)$— $39,756 
Certificate of Deposit6,392 — — 6,401 
U.S. treasury10,226 — (160)— 10,066 
U.S. states and municipalities2,950 — (35)— 2,915 
Corporate bonds62,964 29 (430)— 62,563 
Total$122,259 $70 $(628)$— $121,701 
Debt Securities, Available-for-sale, Unrealized Loss Position, Fair Value
The following tables present the gross unrealized losses and the fair value for those marketable investments that were in an unrealized loss position for less than and more twelve months as of March 31, 2024 and December 31, 2023 (in thousands):
March 31, 2024
Less than 12 monthsMore than 12 monthsTotal
Fair ValueGross Unrealized LossesFair ValueGross Unrealized LossesFair ValueGross Unrealized Losses
Marketable investments:
Commercial paper$20,041 $(11)$— $— $20,041 $(11)
U.S. treasury5,666 (80)4,436 (62)10,102 (142)
U.S. states and municipalities— — 891 (9)891 (9)
Corporate bonds2,998 (3)13,421 (238)16,419 (241)
Total$28,705 $(94)$18,748 $(309)$47,453 $(403)
December 31, 2023
Less than 12 monthsMore than 12 monthsTotal
Fair ValueGross Unrealized LossesFair ValueGross Unrealized LossesFair ValueGross Unrealized Losses
Marketable investments:
Commercial paper$16,241 $(3)$— $— $16,241 $(3)
U.S. treasury5,677 (54)4,389 (106)10,066 (160)
U.S. states and municipalities— — 2,915 (35)2,915 (35)
Corporate bonds15,945 (2)30,912 (428)46,857 (430)
Total$37,863 $(59)$38,216 $(569)$76,079 $(628)
Schedule of Contractual Maturities of Marketable Investments
The contractual maturities of the Company’s marketable investments as of March 31, 2024 (in thousands):
March 31, 2024
Marketable investments:Amortized CostFair Value
Due in one year$87,922 $87,601 
Due in one to five years2,811 2,759 
Total$90,733 $90,360 
Schedule of Fair Value of Assets and Liabilities
The following tables set forth the Company’s financial assets and liabilities measured at fair value by level within the fair value hierarchy as of March 31, 2024 and December 31, 2023 (in thousands):
 As of March 31, 2024
 Level 1Level 2Level 3Fair Value
Financial Assets
Cash equivalents:
Commercial paper$— $30,555 $— $30,555 
Certificate of deposit— 4,901 — 4,901 
Money market funds57,278 — — 57,278 
U.S. treasury53,672 — — 53,672 
Marketable investments:
Commercial paper— 31,445 — 31,445 
Certificate of deposit— 4,636 — 4,636 
U.S. treasury13,068 — — 13,068 
U.S. states and municipalities— 891 — 891 
Corporate bonds— 40,320 — 40,320 
Non-marketable investments:
Non-marketable investments— — 10,000 10,000 
Total$124,018 $112,748 $10,000 $246,766 
 As of December 31, 2023
 Level 1Level 2Level 3Fair Value
Financial Assets
Cash equivalents:
Money market funds$86,991 $— $— $86,991 
Marketable investments:
Commercial paper— 39,756 — 39,756 
Certificate of Deposit— 6,401 — 6,401 
U.S. treasury10,066 — — 10,066 
U.S. states and municipalities— 2,915 — 2,915 
Corporate bonds— 62,563 — 62,563 
Total$97,057 $111,635 $— $208,692 
XML 36 R26.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Balance Sheet Components Balance Sheet Components (Tables)
3 Months Ended
Mar. 31, 2024
Organization, Consolidation and Presentation of Financial Statements [Abstract]  
Schedule of Inventories
The components of inventories consisted of the following (in thousands):
 March 31, 2024December 31, 2023
Raw materials$121,134 $119,511 
Work in process36,815 34,489 
Finished goods240,417 234,023 
Inventories$398,366 $388,023 
Schedule of Accrued Liabilities
The components of accrued liabilities consisted of the following (in thousands):
 March 31, 2024December 31, 2023
Payroll and employee-related expenses$59,481 $65,395 
Accrued expenses14,327 11,711 
Deferred revenue8,672 6,985 
Other accrued liabilities24,069 26,464 
Total accrued liabilities$106,549 $110,555 
Schedule of Estimated Product Warranty Accrual
The following table shows the changes in the Company’s estimated product warranty accrual, included in accrued liabilities, for the three months ended March 31, 2024 and twelve months ended December 31, 2023, respectively (in thousands):
 March 31, 2024December 31, 2023
Balance at the beginning of the period$5,755 $5,370 
Accruals of warranties issued, net(3,141)1,865 
Settlements of warranty claims(536)(1,480)
Balance at the end of the period$2,078 $5,755 
XML 37 R27.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Intangible Assets Intangible Assets (Tables)
3 Months Ended
Mar. 31, 2024
Intangible Assets, Net (Excluding Goodwill) [Abstract]  
Schedule of Finite-lived Intangible Assets
The following table presents details of the Company’s acquired intangible assets as of March 31, 2024 and December 31, 2023 (in thousands, except weighted-average amortization period):
As of March 31, 2024Weighted-Average Amortization PeriodGross Carrying AmountAccumulated AmortizationNet
Finite-lived intangible assets:
Developed technology8.8 years$83,289 $(22,020)$61,269 
Customer relationships15.0 years6,434 (2,895)3,539 
Trade secrets and processes20.0 years5,256 (1,643)3,613 
Total intangible assets 9.6 years$94,979 $(26,558)$68,421 
As of December 31, 2023Weighted-Average
Amortization Period
Gross Carrying AmountAccumulated AmortizationNet
Finite-lived intangible assets:
Developed technology8.8 years$83,289 $(19,640)$63,649 
Customer relationships15.0 years6,579 (2,851)3,728 
Trade secrets and processes20.0 years5,256 (1,577)3,679 
Total intangible assets9.6 years$95,124 $(24,068)$71,056 
Finite-lived Intangible Assets Amortization Expense
The following table presents the amortization recorded related to the Company’s finite-lived intangible assets for the three months ended March 31, 2024 and 2023 (in thousands):
 Three Months Ended March 31,
 20242023
Cost of revenue$66 $66 
Sales, general and administrative2,487 2,486 
Total$2,553 $2,552 
XML 38 R28.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Goodwill (Tables)
3 Months Ended
Mar. 31, 2024
Goodwill and Intangible Assets Disclosure [Abstract]  
Schedule of Goodwill
The following table presents the changes in goodwill during the three months ended March 31, 2024 (in thousands):
Total Company
Balance as of December 31, 2023$166,270 
Foreign currency translation (167)
Balance as of March 31, 2024$166,103 
XML 39 R29.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Stockholder's Equity (Tables)
3 Months Ended
Mar. 31, 2024
Share-Based Payment Arrangement [Abstract]  
Schedule of Stock-based Compensation Expense
The following table sets forth the stock-based compensation expense included in the Company’s condensed consolidated statements of operations for the three months ended March 31, 2024 and 2023 (in thousands):
 Three Months Ended March 31,
 20242023
Cost of revenue$1,194 $1,191 
Research and development2,168 2,278 
Sales, general and administrative10,207 9,297 
Total$13,569 $12,766 
XML 40 R30.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Accumulated Other Comprehensive Income (Tables)
3 Months Ended
Mar. 31, 2024
Equity [Abstract]  
Schedule of Accumulated Other Comprehensive Income (Loss)
The following table summarizes the changes in the accumulated balances during the period, and includes information regarding the manner in which the reclassifications out of accumulated other comprehensive income into earnings affect our condensed consolidated statements of comprehensive income (loss) (in thousands):    
Three Months Ended March 31, 2024Three Months Ended March 31, 2023
 Marketable
Investments
 Currency Translation
Adjustments
 Total Marketable
Investments
 Currency Translation
Adjustments
 Total
Balance, beginning of the period$(558)$(2,593)$(3,151)$(3,500)$(4,624)$(8,124)
Other comprehensive loss before reclassifications:
Unrealized gains — marketable investments(1)
166 — 166 860 — 860 
Foreign currency translation (losses) gains— (1,857)(1,857)— 403 403 
Income tax effect — expense— — — — 
Net of tax166 (1,853)(1,687)860 403 1,263 
Net current-year other comprehensive income (loss)166 (1,853)(1,687)860 403 1,263 
Balance, end of the period$(392)$(4,446)$(4,838)$(2,640)$(4,221)$(6,861)
(1) There were no unrealized gains or losses recorded in connection with the Company’s non-marketable debt securities as of March 31, 2024.
XML 41 R31.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Net Income per Share (Tables)
3 Months Ended
Mar. 31, 2024
Earnings Per Share [Abstract]  
Reconciliation of the Numerator and Denominator used in the Calculation of the Basic and Diluted Earnings per Share
A reconciliation of the numerator and denominator used in the calculation of the basic and diluted net income per share is as follows (in thousands, except share and per share amounts):
 Three Months Ended March 31,
 20242023
Numerator:
Net income$11,002 $8,562 
Denominator:
Weighted average shares used to compute net income attributable to common stockholders:
Basic38,717,334 38,186,342 
Potential dilutive stock-based options and awards670,025 889,046 
Diluted39,387,359 39,075,388 
Net income per share:
Basic$0.28 $0.22 
Diluted$0.28 $0.22 
XML 42 R32.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Interest and other income (expense), net (Tables)
3 Months Ended
Mar. 31, 2024
Other Income and Expenses [Abstract]  
Schedule of Other Operating Cost and Expense, by Component
The following table shows the components of interest and other income (expense), net for the three months ended March 31, 2024 and 2023 and (in thousands):
 Three Months Ended March 31,
 20242023
Interest income$3,293 $970 
Interest expense(402)(416)
Other income (expense), net(1)
(366)90 
Interest and other income, net$2,525 $644 
(1) Consists primarily of the effects of foreign currency gains or losses.
XML 43 R33.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Revenues Revenues (Tables)
3 Months Ended
Mar. 31, 2024
Revenue from Contract with Customer [Abstract]  
Disaggregation of Revenue
The Company’s revenues disaggregated by geography, based on the destination to which the Company ships its products, for the three months ended March 31, 2024 and 2023 was as follows (in thousands):
 Three Months Ended March 31,
 20242023
United States$209,644 $171,879 
International69,011 69,519 
Total$278,655 $241,398 
The Company’s revenues disaggregated by product category for the three months ended March 31, 2024 and 2023 was as follows (in thousands):
 Three Months Ended March 31,
 20242023
Thrombectomy$187,703 $144,980 
Embolization and Access90,952 96,418 
Total$278,655 $241,398 
Summary of Contract Assets and Liabilities
The following information summarizes the Company’s contract assets and liabilities (in thousands):
March 31, 2024December 31, 2023
Contract assets$18,000 $18,000 
Contract liabilities$7,261 $6,496 
XML 44 R34.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Summary of Significant Accounting Policies - Additional Disclosures (Details)
3 Months Ended
Mar. 31, 2024
activity
segment
Accounting Policies [Abstract]  
Number of business activities | activity 1
Number of operating segments | segment 1
XML 45 R35.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Investments and Fair Value of Financial Instruments - Gains and Losses of Marketable Investments (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Debt Securities, Available-for-sale [Line Items]    
Amortized Cost $ 90,733 $ 122,259
Gross Unrealized Gains 30 70
Gross Unrealized Losses (403) (628)
Allowance for Credit Loss 0 0
Fair Value 90,360 121,701
Commercial paper    
Debt Securities, Available-for-sale [Line Items]    
Amortized Cost 31,449 39,727
Gross Unrealized Gains 7 32
Gross Unrealized Losses (11) (3)
Allowance for Credit Loss 0 0
Fair Value 31,445 39,756
Certificate of Deposit    
Debt Securities, Available-for-sale [Line Items]    
Amortized Cost 4,632 6,392
Gross Unrealized Gains 4 9
Gross Unrealized Losses 0 0
Allowance for Credit Loss 0 0
Fair Value 4,636 6,401
U.S. treasury    
Debt Securities, Available-for-sale [Line Items]    
Amortized Cost 13,210 10,226
Gross Unrealized Gains 0 0
Gross Unrealized Losses (142) (160)
Allowance for Credit Loss 0 0
Fair Value 13,068 10,066
U.S. states and municipalities    
Debt Securities, Available-for-sale [Line Items]    
Amortized Cost 900 2,950
Gross Unrealized Gains 0 0
Gross Unrealized Losses (9) (35)
Allowance for Credit Loss 0 0
Fair Value 891 2,915
Corporate bonds    
Debt Securities, Available-for-sale [Line Items]    
Amortized Cost 40,542 62,964
Gross Unrealized Gains 19 29
Gross Unrealized Losses (241) (430)
Allowance for Credit Loss 0 0
Fair Value 40,320 $ 62,563
Non-marketable investments    
Debt Securities, Available-for-sale [Line Items]    
Amortized Cost 10,000  
Gross Unrealized Gains 0  
Gross Unrealized Losses 0  
Allowance for Credit Loss 0  
Fair Value 10,000  
Marketable And Non-Marketable Investments    
Debt Securities, Available-for-sale [Line Items]    
Amortized Cost 100,733  
Gross Unrealized Gains 30  
Gross Unrealized Losses (403)  
Allowance for Credit Loss 0  
Fair Value $ 100,360  
XML 46 R36.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Investments and Fair Value of Financial Instruments - Narrative (Details) - USD ($)
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Dec. 31, 2023
Fair Value Disclosures [Abstract]      
Gross Unrealized Losses $ (403,000)   $ (628,000)
Allowance for credit loss 0    
Payments for non-marketable investment $ 10,000,000 $ 0  
XML 47 R37.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Investments and Fair Value of Financial Instruments - Marketable Securities in an Unrealized Loss Position (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Debt Securities, Available-for-sale [Line Items]    
Less than 12 months: Fair Value $ 28,705 $ 37,863
Less than 12 months: Gross Unrealized Losses (94) (59)
12 Months of more: Fair Value 18,748 38,216
12 months or more: Gross Unrealized Losses (309) (569)
Total: Fair Value 47,453 76,079
Total: Gross Unrealized Losses (403) (628)
Commercial paper    
Debt Securities, Available-for-sale [Line Items]    
Less than 12 months: Fair Value 20,041 16,241
Less than 12 months: Gross Unrealized Losses (11) (3)
12 Months of more: Fair Value 0 0
12 months or more: Gross Unrealized Losses 0 0
Total: Fair Value 20,041 16,241
Total: Gross Unrealized Losses (11) (3)
U.S. treasury    
Debt Securities, Available-for-sale [Line Items]    
Less than 12 months: Fair Value 5,666 5,677
Less than 12 months: Gross Unrealized Losses (80) (54)
12 Months of more: Fair Value 4,436 4,389
12 months or more: Gross Unrealized Losses (62) (106)
Total: Fair Value 10,102 10,066
Total: Gross Unrealized Losses (142) (160)
U.S. states and municipalities    
Debt Securities, Available-for-sale [Line Items]    
Less than 12 months: Fair Value 0 0
Less than 12 months: Gross Unrealized Losses 0 0
12 Months of more: Fair Value 891 2,915
12 months or more: Gross Unrealized Losses (9) (35)
Total: Fair Value 891 2,915
Total: Gross Unrealized Losses (9) (35)
Corporate bonds    
Debt Securities, Available-for-sale [Line Items]    
Less than 12 months: Fair Value 2,998 15,945
Less than 12 months: Gross Unrealized Losses (3) (2)
12 Months of more: Fair Value 13,421 30,912
12 months or more: Gross Unrealized Losses (238) (428)
Total: Fair Value 16,419 46,857
Total: Gross Unrealized Losses $ (241) $ (430)
XML 48 R38.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Investments and Fair Value of Financial Instruments - Contractual Maturities of Marketable Investments (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Amortized Cost    
Due in one year $ 87,922  
Due in one to five years 2,811  
Total 90,733 $ 122,259
Fair Value    
Due in one year 87,601  
Due in one to five years 2,759  
Total $ 90,360 $ 121,701
XML 49 R39.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Investments and Fair Value of Financial Instruments - Financial Assets and Liabilities Measured at Fair Value (Details) - Recurring - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Financial Assets    
Assets, Fair Value Disclosure $ 246,766 $ 208,692
Commercial paper    
Financial Assets    
Marketable investments 31,445 39,756
Certificate of Deposit    
Financial Assets    
Marketable investments 4,636 6,401
U.S. treasury    
Financial Assets    
Marketable investments 13,068 10,066
U.S. states and municipalities    
Financial Assets    
Marketable investments 891 2,915
Corporate bonds    
Financial Assets    
Marketable investments 40,320 62,563
Non-marketable investments    
Financial Assets    
Marketable investments 10,000  
Commercial paper    
Financial Assets    
Cash equivalents 30,555  
Certificate of Deposit    
Financial Assets    
Cash equivalents 4,901  
Money market funds    
Financial Assets    
Cash equivalents 57,278 86,991
U.S. treasury    
Financial Assets    
Cash equivalents 53,672  
Level 1    
Financial Assets    
Assets, Fair Value Disclosure 124,018 97,057
Level 1 | Commercial paper    
Financial Assets    
Marketable investments 0 0
Level 1 | Certificate of Deposit    
Financial Assets    
Marketable investments 0 0
Level 1 | U.S. treasury    
Financial Assets    
Marketable investments 13,068 10,066
Level 1 | U.S. states and municipalities    
Financial Assets    
Marketable investments 0 0
Level 1 | Corporate bonds    
Financial Assets    
Marketable investments 0 0
Level 1 | Non-marketable investments    
Financial Assets    
Marketable investments 0  
Level 1 | Commercial paper    
Financial Assets    
Cash equivalents 0  
Level 1 | Certificate of Deposit    
Financial Assets    
Cash equivalents 0  
Level 1 | Money market funds    
Financial Assets    
Cash equivalents 57,278 86,991
Level 1 | U.S. treasury    
Financial Assets    
Cash equivalents 53,672  
Level 2    
Financial Assets    
Assets, Fair Value Disclosure 112,748 111,635
Level 2 | Commercial paper    
Financial Assets    
Marketable investments 31,445 39,756
Level 2 | Certificate of Deposit    
Financial Assets    
Marketable investments 4,636 6,401
Level 2 | U.S. treasury    
Financial Assets    
Marketable investments 0 0
Level 2 | U.S. states and municipalities    
Financial Assets    
Marketable investments 891 2,915
Level 2 | Corporate bonds    
Financial Assets    
Marketable investments 40,320 62,563
Level 2 | Non-marketable investments    
Financial Assets    
Marketable investments 0  
Level 2 | Commercial paper    
Financial Assets    
Cash equivalents 30,555  
Level 2 | Certificate of Deposit    
Financial Assets    
Cash equivalents 4,901  
Level 2 | Money market funds    
Financial Assets    
Cash equivalents 0 0
Level 2 | U.S. treasury    
Financial Assets    
Cash equivalents 0  
Level 3    
Financial Assets    
Assets, Fair Value Disclosure 10,000 0
Level 3 | Commercial paper    
Financial Assets    
Marketable investments 0 0
Level 3 | Certificate of Deposit    
Financial Assets    
Marketable investments 0 0
Level 3 | U.S. treasury    
Financial Assets    
Marketable investments 0 0
Level 3 | U.S. states and municipalities    
Financial Assets    
Marketable investments 0 0
Level 3 | Corporate bonds    
Financial Assets    
Marketable investments 0 0
Level 3 | Non-marketable investments    
Financial Assets    
Marketable investments 10,000  
Level 3 | Commercial paper    
Financial Assets    
Cash equivalents 0  
Level 3 | Certificate of Deposit    
Financial Assets    
Cash equivalents 0  
Level 3 | Money market funds    
Financial Assets    
Cash equivalents 0 $ 0
Level 3 | U.S. treasury    
Financial Assets    
Cash equivalents $ 0  
XML 50 R40.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Balance Sheet Components - Inventories (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Organization, Consolidation and Presentation of Financial Statements [Abstract]    
Raw materials $ 121,134 $ 119,511
Work in process 36,815 34,489
Finished goods 240,417 234,023
Inventories $ 398,366 $ 388,023
XML 51 R41.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Balance Sheet Components - Accrued Liabilities (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Organization, Consolidation and Presentation of Financial Statements [Abstract]    
Payroll and employee-related expenses $ 59,481 $ 65,395
Accrued expenses 14,327 11,711
Deferred revenue 8,672 6,985
Other accrued liabilities 24,069 26,464
Total accrued liabilities $ 106,549 $ 110,555
XML 52 R42.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Balance Sheet Components - Product Warranty (Details) - USD ($)
$ in Thousands
3 Months Ended 12 Months Ended
Mar. 31, 2024
Dec. 31, 2023
Product Warranty, Increase (Decrease) [Roll Forward]    
Balance at the beginning of the period $ 5,755 $ 5,370
Accruals of warranties issued, net (3,141) 1,865
Settlements of warranty claims (536) (1,480)
Balance at the end of the period $ 2,078 $ 5,755
XML 53 R43.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Intangible Assets - Intangible Assets (Details) - USD ($)
$ in Thousands
3 Months Ended 12 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Dec. 31, 2023
Finite-Lived Intangible Assets [Line Items]      
Weighted-Average Amortization Period 9 years 7 months 6 days   9 years 7 months 6 days
Finite lived intangible assets: gross carrying amount $ 94,979   $ 95,124
Accumulated amortization (26,558)   (24,068)
Finite lived intangible assets: net 68,421   71,056
Intangible assets, net 68,421   $ 71,056
Total amortization of finite lived intangible assets $ 2,553 $ 2,552  
Developed technology      
Finite-Lived Intangible Assets [Line Items]      
Weighted-Average Amortization Period 8 years 9 months 18 days   8 years 9 months 18 days
Finite lived intangible assets: gross carrying amount $ 83,289   $ 83,289
Accumulated amortization (22,020)   (19,640)
Finite lived intangible assets: net $ 61,269   $ 63,649
Customer relationships      
Finite-Lived Intangible Assets [Line Items]      
Weighted-Average Amortization Period 15 years   15 years
Finite lived intangible assets: gross carrying amount $ 6,434   $ 6,579
Accumulated amortization (2,895)   (2,851)
Finite lived intangible assets: net $ 3,539   $ 3,728
Trade secrets and processes      
Finite-Lived Intangible Assets [Line Items]      
Weighted-Average Amortization Period 20 years   20 years
Finite lived intangible assets: gross carrying amount $ 5,256   $ 5,256
Accumulated amortization (1,643)   (1,577)
Finite lived intangible assets: net 3,613   $ 3,679
Cost of revenue      
Finite-Lived Intangible Assets [Line Items]      
Total amortization of finite lived intangible assets 66 66  
Sales, general and administrative      
Finite-Lived Intangible Assets [Line Items]      
Total amortization of finite lived intangible assets $ 2,487 $ 2,486  
XML 54 R44.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Goodwill (Details)
3 Months Ended
Mar. 31, 2024
USD ($)
Goodwill [Roll Forward]  
Goodwill $ 166,270,000
Foreign currency translation and other adjustments (167,000)
Goodwill 166,103,000
Goodwill impairment $ 0
XML 55 R45.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Indebtedness (Details) - Revolving Credit Facility
Apr. 24, 2020
USD ($)
Line of Credit Facility [Line Items]  
Borrowing capacity $ 100,000,000
Line of credit, increase limit $ 150,000,000
XML 56 R46.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Commitments and Contingencies - Royalty Obligations (Details) - USD ($)
$ in Millions
1 Months Ended 3 Months Ended
Apr. 22, 2024
Jul. 31, 2019
Mar. 31, 2024
Mar. 31, 2023
Dec. 31, 2018
Other Commitments [Line Items]          
Contingent liability     $ 4.6    
Subsequent Event          
Other Commitments [Line Items]          
Litigation settlement, amount agreed upon $ 4.6        
Cost of revenue          
Other Commitments [Line Items]          
Royalty expense     0.6 $ 0.7  
Royalty Agreement, March 2005          
Other Commitments [Line Items]          
Minimum annual royalty payments         $ 0.1
Extended term of agreement   10 years      
Increase in minimum annual royalty payments   $ 0.2      
Minimum quarterly royalty payments     $ 0.3    
XML 57 R47.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Stockholder's Equity - Stock-based Compensation Expense (Details) - USD ($)
$ in Thousands
3 Months Ended 12 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Dec. 31, 2023
Share-based Compensation Arrangement by Share-based Payment Award, Compensation Cost [Line Items]      
Stock-based compensation expense $ 13,569 $ 12,766  
Share-based compensation expense, capitalized in inventory 1,200   $ 1,300
NonPerformanceShares [Member]      
Share-based Compensation Arrangement by Share-based Payment Award, Compensation Cost [Line Items]      
Unrecognized compensation cost related to unvested share-based compensation arrangements $ 56,400    
Unrecognized compensation cost, expected recognition period (in years) 2 years 7 months 6 days    
Performance Shares      
Share-based Compensation Arrangement by Share-based Payment Award, Compensation Cost [Line Items]      
Award requisite service period 4 years 3 months    
Unrecognized compensation cost related to unvested share-based compensation arrangements $ 27,300    
Unrecognized compensation cost, expected recognition period (in years) 3 years 6 months    
Cost of revenue      
Share-based Compensation Arrangement by Share-based Payment Award, Compensation Cost [Line Items]      
Stock-based compensation expense $ 1,194 1,191  
Research and development      
Share-based Compensation Arrangement by Share-based Payment Award, Compensation Cost [Line Items]      
Stock-based compensation expense 2,168 2,278  
Sales, general and administrative      
Share-based Compensation Arrangement by Share-based Payment Award, Compensation Cost [Line Items]      
Stock-based compensation expense $ 10,207 $ 9,297  
XML 58 R48.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Accumulated Other Comprehensive Income (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
AOCI Including Portion Attributable to Noncontrolling Interest, Net of Tax [Roll Forward]    
Beginning balance $ 1,178,944 $ 998,858
Other comprehensive loss before reclassifications:    
Total other comprehensive (loss) income, net of tax (1,687) 1,263
Ending balance 1,203,531 1,024,469
Marketable Investments    
AOCI Including Portion Attributable to Noncontrolling Interest, Net of Tax [Roll Forward]    
Beginning balance (558) (3,500)
Other comprehensive loss before reclassifications:    
Other comprehensive income before reclassifications 166 860
Foreign currency translation (losses) gains 0 0
Income tax effect — expense 0 0
Net of tax 166 860
Total other comprehensive (loss) income, net of tax 166 860
Ending balance (392) (2,640)
Currency Translation Adjustments    
AOCI Including Portion Attributable to Noncontrolling Interest, Net of Tax [Roll Forward]    
Beginning balance (2,593) (4,624)
Other comprehensive loss before reclassifications:    
Other comprehensive income before reclassifications 0 0
Foreign currency translation (losses) gains (1,857) 403
Income tax effect — expense 4 0
Net of tax (1,853) 403
Total other comprehensive (loss) income, net of tax (1,853) 403
Ending balance (4,446) (4,221)
Total    
AOCI Including Portion Attributable to Noncontrolling Interest, Net of Tax [Roll Forward]    
Beginning balance (3,151) (8,124)
Other comprehensive loss before reclassifications:    
Other comprehensive income before reclassifications 166 860
Foreign currency translation (losses) gains (1,857) 403
Income tax effect — expense 4 0
Net of tax (1,687) 1,263
Total other comprehensive (loss) income, net of tax (1,687) 1,263
Ending balance $ (4,838) $ (6,861)
XML 59 R49.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Income Taxes Income Taxes (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Income Tax Disclosure [Abstract]    
Provision for income taxes $ 3,624 $ 90
Effective tax rate 24.80% 1.00%
XML 60 R50.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Net Income per Share - Basic and Diluted Earnings per Share (Details) - USD ($)
$ / shares in Units, $ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Numerator:    
Net income $ 11,002 $ 8,562
Weighted average shares used to compute net income attributable to common stockholders:    
Basic (in shares) 38,717,334 38,186,342
Potential dilutive stock-based options and awards (in shares) 670,025 889,046
Diluted (in shares) 39,387,359 39,075,388
Net income per share:    
Basic (in dollars per share) $ 0.28 $ 0.22
Diluted (in dollars per share) $ 0.28 $ 0.22
XML 61 R51.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Net Income per Share - Antidilutive Securities (Details) - shares
shares in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Earnings Per Share [Abstract]    
Antidilutive securities excluded from the computation of earnings per share (in shares) 26 26
XML 62 R52.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Interest and other income (expense), net (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Other Income and Expenses [Abstract]    
Interest income $ 3,293 $ 970
Interest expense (402) (416)
Other income, net (366) 90
Interest and other income, net $ 2,525 $ 644
XML 63 R53.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Revenues - Disaggregation of Revenue (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Disaggregation of Revenue [Line Items]    
Revenue from contract with customer $ 278,655 $ 241,398
United States    
Disaggregation of Revenue [Line Items]    
Revenue from contract with customer 209,644 171,879
International    
Disaggregation of Revenue [Line Items]    
Revenue from contract with customer 69,011 69,519
Thrombectomy    
Disaggregation of Revenue [Line Items]    
Revenue from contract with customer 187,703 144,980
Embolization and Access    
Disaggregation of Revenue [Line Items]    
Revenue from contract with customer $ 90,952 $ 96,418
XML 64 R54.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Revenues - Summary of Contract Assets and Liabilities (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Revenue from Contract with Customer [Abstract]    
Contract assets $ 18,000 $ 18,000
Contract liabilities $ 7,261 $ 6,496
EXCEL 65 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( )F%IU@'04UB@0 +$ 0 9&]C4')O<',O87!P+GAM M;$V./0L",1!$_\IQO;=!P4)B0-!2L+(/>QLOD&1#LD)^OCG!CVX>;QA&WPIG M*N*I#BV&5(_C(I(/ !47BK9.7:=N')=HI6-Y #OGDK7A.YNJQ<&4GPZ4A!0W_J=0U[R;UEA_6\#MI7E!+ P04 M " "9A:=8KW)">.X K @ $0 &1O8U!R;W!S+V-O&ULS9+; M2L0P$(9?17+?3GI0(71SHWBE(+B@>!>2V=U@MN%]$'\#(S?[[Y M!J;34>B0\#F%B(DLYJO1]3X+'3?L0!0%0-8'="J74\)/S5U(3M'T3'N(2G^H M/4+-^0TX)&44*9B!15R)3'9&"YU044@GO-$K/GZF?H$9#=BC0T\9JK(")N>) M\3CV'5P ,XPPN?Q=0+,2E^J?V*4#[)0'MZ?%G6+:S/ MI+S&Z5>V@HX1-^P\^;6YN]\^,%GSNBWX=<%OMS47;2N:ZGUV_>%W$7;!V)W] MQ\9G0=G!K[N07U!+ P04 " "9A:=8F5R<(Q & "<)P $P 'AL+W1H M96UE+W1H96UE,2YX;6SM6EMSVC@4?N^OT'AG]FT+QC:!MK03621A'^_1S80RY8-[9)-NIL\!"SI^\Y%1^?H.'GS[BYBZ(:(E/)X M8-DOV]:[MR_>X%#BVR]*+ M41B1%G\@M MNN01.+5)#3(3/PB=AIAJ4!P"I DQEJ&&^+3&K!'@$WVWO@C(WXV(]ZMOFCU7 MH5A)VH3X$$8:XIQSYG/1;/L'I4;1]E6\W*.76!4!EQC?-*HU+,76>)7 \:V< M/!T3$LV4"P9!AI@S M&L%&KQMUAVC2/'K^!?F<-0HACA*FNVB<5@$_9Y>PTG!Z(++9OVX?H;5,VPLCO='U!=*Y \FIS_I,C0' MHYI9";V$5FJ?JH,@H%\;D>/N5Z> HWEL:\4*Z">P'_T=HWPJOX@L Y M?RY]SZ7ON?0]H=*W-R-]9\'3BUO>1FY;Q/NN,=K7-"XH8U=RSTS0LS0[=R2^JVE+ZU)CA* M]+',<$X>RPP[9SR2';9WH!TU^_9==N0CI3!3ET.X&D*^ VVZG=PZ.)Z8D;D* MTU*0;\/YZ<5X&N(YV02Y?9A7;>?8T='[Y\%1L*/O/)8=QXCRHB'NH8:8S\-# MAWE[7YAGE<90-!1M;*PD+$:W8+C7\2P4X&1@+: '@Z]1 O)256 Q6\8#*Y"B M?$R,1>APYY=<7^/1DN/;IF6U;J\I=QEM(E(YPFF8$V>KRMYEL<%5'<]56_*P MOFH]M!5.S_Y9KF4Q9Z;RWRT,"2Q;B%D2XDU=[=7GFYRN>B)V^I=W MP6#R_7#)1P_E.^=?]%U#KG[VW>/Z;I,[2$R<><41 71% B.5' 86%S+D4.Z2 MD 83 >LX=SFWJXPD6L_UC6'ODRWSEPVSK> U[F M$RQ#I'[!?8J*@!&K8KZZKT_Y)9P[M'OQ@2";_-;;I/;=X Q\U*M:I60K$3]+ M!WP?D@9CC%OT-%^/%&*MIK&MQMHQ#'F 6/,,H68XWX=%FAHSU8NL.8T*;T'5 M0.4_V]0-:/8--!R1!5XQF;8VH^1."CS<_N\-L,+$CN'MB[\!4$L#!!0 ( M )F%IUCS MOPO04 +\> 8 >&PO=V]R:W-H965T&UL MM9EK;]LV%(;_"N$-PP;4D4C9<=(Y!APGZ8*UJ1MG&[IA'VB)MH5*HD91=O+O M=RC9DE-0QZY0?TET.Z_Y\/#RDAQNI/J2K830Y#F.DNRJL](Z?>LXF;\2,<_. M9"H2>+.0*N8:;M72R5(E>% $Q9'#7/?,P'%%W^&8I/M71.#,I?RB[FY#ZXZKBF1B(2OC02'?VLQ$5%DE* <_VU% M.]5OFL#]ZYWZ70$/,'.>B8F,_@H#O;KJ7'1((!8\C_2CW/PFMD!]H^?+*"O^ MDDWY;:_7(7Z>:1EO@Z$$<9B4__GSMB+V VA# -L&L*\":-,O>-L KP M2U9@ MW7#-1T,E-T29KT'-7!1U4T0#39B8-,ZT@K M./XV_KJ,9PWQ'OD@$[W*R&T2B.!UO -EJ0K$=@6Z9JC@!Z[.B$??$.:RGJ4\ M$SQ\G$(X\VSAKXKC5?7C%7H>6C__C.>95M#D_K754*G0LRN8?O@V2[DOKCK0 MT3*AUJ(S^ND'>N[^:L/[3F*O8'L5; ]3']U(/X^7%X4Z%"&9A> M2& 9-9%H6$O BPKP M BW4;:)#_4+NPDB0ASR>"V4#PS5NIU#T&[D3FB58O\#^P(^/J-[=6Y%.8'UJ['XK[ERWR$W\F]P%,-N$B] MN9$0^ M(.GVN^ZYV^]?7EAY3^&,:&V-*&YHOF[+4YEI'I&_P[0YK;CB9:_O,BOI*4P2 MK5T2Q MK/JM?*>P1+3V1!0W-$^A!CLD%X2RG^>_D)GP$#HX?/,.IG@86WY:D?$CG)$DUPI MLVXI%RM%'F$*S:T[+0<4/UOW9R9X5%O.VA"QHPS1?0*+ZW)/SBQ ^0[P@^QV@^QH_R06:"!^P$7M)3*.A(=T'G/%;3UL>\+$ *9H)2T$I_"#K': M#K&C[- LYE%$KO,,7F?V=HOK-*ZW\;BV?+7]84?9G]M8J*7IF.] 0:_ (<0I M3^RIQ06;04_A?ECM?AAN7G:)7 E()(:'RS3CG<(%L=H%,=S [$;:5U/\K-C/ M)A]S#9XV,1.HE?@[^9MM/91J_4+-G)^L1][%X+QW20=#9VUCK)T0.VI[: (C MJ@++=Y\$XIG\+NQI/+1+Y%*/T8%G->IX<-MA9FQMI\%.#5L M3_. 7+=+6=>C5M!3V!^OMC\>[EJJ#".7M'A&;" M*TY.,^*;;9SRM+!Z6IW.CHLS2:?^O#S:_<#-?)F12"P@U#T;P("GRM/2\D;+ MM#APG$NM95Q_0]02P,$% @ F86G6 /I MW;=@!@ 01L !@ !X;"]W;W)KE=7_3*E/;NM; 5XL&V4EL)\.UO90<[L=8"[OH& M['BU_J^DW9\DG]VK^JY92:G)0UE4S?ELI?7Z=#YOTI4L17.BUK*")TM5ET+# M;7T[;]:U%%G;J"SFS//">2GR:K8X:W^[JA=G:J.+O))7-6DV92GJQX^R4/?G M,SI[^N%;?KO2YH?YXFPM;N6UU#_65S7-04&95]U_\;#KB+T&U)]HP'8-V$L;\%T#W@;:*6O#NA1:+,YJ M=4]J8PW>S$7;-VUKB":OS#!>ZQJ>YM!.+RY4E<&@R(S 5:.*/!,:;CZ*0E2I M)-?&<4..R8_K2_+;V]_)6Y)7Y/M*;1I19[M[WL7L?FWC?%U&? M$$Z/"/.8CS2_<#>_E&G?G!\VGT/D??BL#Y^U_OA4^)NZEI4FHFD@SE,LGLZ! MCSLP67;:K$4JSV>01HVLMW*V>/>&AMY[++I?Y.P@5M['REW>%Q>B61$8-9*: M"_ESDV]% <&CH]BY"EM7IA1L%XQQ2F'(MOOQV&8TC/PX[,T.E/J]4M^I%";) MG=3BII PV[:RT>64S,Y/L/?^Q..A-U)I6U%&(X_B*H->9>!4^2%-U09T035+ M)?0ER#TB%51>M22B@/K89A!46I+6,LLU*13,LL8\?LN//.:U@P&7-$R(T 2B M3E=];K0/8;K+\D;6_90_@I0>^F!U4 4Q[9DBA-QMF 6(4^\W'=<:\[=NK^KK0H7B QME.!!_N] MUFE$S&C@>PP7F?0BDV0#S/J?4K*!4ZKVY)(6$!0&I#^F.U/-[ S73_[KP>9%8GO&HKRNM44WM.PJ08=S5F1KUD8E;0 :_4230H"%I4M[FIY)W& MR2FQ<[2O((Q]1L=";;.(>I.=.["1NN'XAU+9?5X4J#1NCV@84F^<6K@=B[P) M<0,.J9N'EW(I(?TSHL4#7EFIC;C8!XUCA8A90(.)JD\'$E(W"K^V9;12U?'S M=8K:Z.$\ME86B!D+ ,34@="43>BNG+JD&?3AP91@N0Y9AB$W LF) Z@HM&+ M%J5%+F[R(M= 4W1E2IW >^W2]%=Y.PQZH!QU8ZY?3:W%HUE*H0';\.+,#ZRI M8YNQ",9F8EP&QE$WY$!BO8$LW!L75*7-+>J%@3]>@F%V4,JF=+(!<,P-N*?Y MHT:@>T8W0\!% S9>3*-FS)M8G;$!;\R-MR?5RP/,/:?9YA9CL249L^(3"PFV MMW=TP^UP9?:<4AM$ZM(-A".N0GWUUYU?NW,0,"6^ &/QMHQ MNXBQ9$+[ $#F!N"^]M?-#QMXC'M)/!:.F853L&$#%]EKN?B<7IMZ01R--TB8 M%?*X%JK]&ZEBDS6S;LW,:/1^W:7I1_Q(RLG M:E]]9O6+O!W&/E"7N:EKQEM5I#%=@ 9K8Y2/4>NV.3Q-&S#+W9C]D&6Y.8J& MG#$'"\=Y15*QSB&'T ,U!)M>R/QH#"O4T(]H,I'??" L=Q,6UB^;-; $6$)+[R2"GJB[[S7=C5;K]I/'C=):E>WE2@J0;PS@^5(I_71COJ+T M7\T6_P)02P,$% @ F86G6$-RJ=!' @ *@4 !@ !X;"]W;W)K4[8Q]=C>CAJ5':35GM?7O) MN2MK;(0[-2UJ.ED9VPA/IEUSUUH4500UBJ=),N&-D)H5>=R;VR(W&Z^DQKD% MMVD:8?]TXV7!F M^^MG]MNHG;0LA<.943]DY>LI^\2@PI78*']O=G?8ZSD+?*51+GYAU_F>7S H M-\Z;I@=3!(W4W5\\]7G8 XS&KP#2'I#^*R#K 3%SO(LLRKH17A2Y-3NPP9O8 MPB+F)J))C=3A%1?>TJDDG"]F1E?T)E@!K9Q1LA*>C&NAA"X1%H'8P?%<6-2^ M1B]+H4[@(SPL;N#XZ 2.0&KX5IN-$[IR.?<44V#F97__=7=_^LK]7X4]A6ST M =(D'1^ S]Z&WV YP+.7<$Z9&-*1#NE((U_V"M_"DWPJ4@]F!;=24Q*D4# W M3L:J^WFU=-Y2[?TZ)+7C'A_F#OUXZ5I1XI11PSFT6V3%^W>C2?+YD/#_1/8B M#=F0ANPM]N)*47?' J Y :7%2GI0QCD\^,0=V222A;&Q+;(D37*^W==SP&DT MN1B&PO M=V]R:W-H965T&ULK9A;_BH;N='9GTH#$U:[MF<3I M91^VS22[W8=.'Q0C&V8!44FVTV_?(\!@@R";F;R8B\\Y_,[1D?Z(Q9&+;S)A M3*'G/"ODTDJ4*N>V+3<)RZF\YB4KX)\M%SE5<"EVMBP%HW'EE&]>K!9\K[*T8/<"R7V>4_'?+P%7=ALE3G-6R)072+#MTKK!\S6I'"J+OU)VE&?G2*?RQ/DW??$Q7EJ.)F(9 MVR@=@L+AP-8LRW0DX/BW"6JUS]2.Y^>GZ+]6R4,R3U2R-<^^IK%*EE9DH9AM MZ3Y3#_SX.VL2\G6\#<]D]8N.M6WH6FBSEXKGC3,0Y&E1'^ES4X@S!XAC=B"- M ^D[>",.;N/@5HG69%5:=U31U4+P(Q+:&J+IDZHVE3=DDQ9Z&!^5@']3\%.K M-2]B&!06(SB3/$MCJN#B4<$!1DM)Q+?HSY()JJLNT4_HR^,=>O_N WJ'T@)] M3OA>TB*6"UL!C8YI;YHGW]9/)B-/=M$G7JA$HE^ (+[TMR&+-A5R2N663 ;\ M1,4UQV/"<=95$?]\\226@;_\Q%:L. MYIF#Z7M3T57PXK$D:![R_LPSF]PCCH(=GL')<$ICI@I8NF*3[37 I42GX-E4FM&#P4!QA*$J/S6#F8R=2KQ9R;F(,W[*%WRC81;Y1FV_T0@M+1L4F0;"R@28<0.Q* M/85-24>#BA,O(/V>&5KAV2P:Z9E9BSF;Q'RD&9-7:,<*&)ZL@J4Q:$2JEQFM MCB;>V9#$\SQ,>L &,^(ZX<@N )4/&LJH'\X0(H"Y%O5837:> MZP3>".R9-N))V&8)WPJ>GY!! XVHV% O[. ^Z= L%K-[P0]I]@,(-R!>'W5H-7-&0#MQ MP]/J]@>\\==X1C!_(*D8.TY_TAO,(C\8*V(G;3B8E(^.#<$D0C*A@AD%!$]J MY&L5Y*VB76;=:2:>E*C5+97I!KV'E^289QD5LDO^@S'Y.EQX5GSGF@S6.J/5 MV!!U@H>G%>\NS?;ZO?\5N-%WX1JMQG [X<.SR8[Z6NW.@)<>8%7>L9H3]BI[ M)14L@J LY@:;%-17-]@;1;O<[7122J:EM&NP.GOC,)&A-KI1B$/7[2]+1DL< M!:XW,ERDTU$RK:/GW37%.E1'=P:TKM]_S35:.J'O1GTMM<^VQCD3N^J+@40; MOB]4O;5L[[9?)6ZJO7CO_BV>K^MO"UV8^E,';!QW*6R-,[:%D,YU"%BB_GI0 M7RA>5AOP)ZY@.U^=)HS&3&@#^'_+N3I=Z >TWW!6_P-02P,$% @ F86G M6&6LE!5* P V0D !@ !X;"]W;W)K2/5-5P"&/-15CMW:C\K%<&,U<+F9>*'W MM/")+2IC%_Q\O*0+N 5SO[Q1./,[E)+5(#23@BB83[RK\'(ZLO;.X#.#C=X: M$ZMD)N4W.WE?3KS $@(.A;$(%#]KF +G%@AI?&\QO>Y(Z[@]?D)_Z[2CEAG5 M,)7\"RM--?$RCY0PIRMN/LG-.VCU)!:OD%R[7[)I;0./%"MM9-TZ(X.:B>9+ M']HX;#D@3K]#U#I$^PZ#(PYQZQ [H0TS)^L--30?*[DAREHCFAVXV#AO5,.$ MS>*M4;C+T,_D4RE*S F4!$=:J+D@]!GW0CV[_[9=Z20N8> BL0:W!RW__+4R#UWW2 MGPEL)Q"#+A"#4^CY7UBO*39L,] M_H=6890>2="H$S Z*6"W !XO!Z.#/_HH#I,]@CU&693L$?2WNF0-:N$>#QJC MMQ*F:2K=:O<^N7)M>6_]&M\MS3/C!TSSZ,&6L;#7B\,<(8.+(<9,-0^)9F+D MTO7BF338V=VPPK<7*&N ^W,IS=/$'M"]YO+_ %!+ P04 " "9A:=8N_KA2G2<_OM1LF*9%,U(Z<6^ MQ)+->PYY#Q^Z)UKLB_)+M:&4H:7TW>XWN IL5?"=U7)]>H'LKGHOA2WWR(KR9&W2.:THC5$"'_>*0KFJ8U$N_'UQ9T MC(JV: MOVC?MC4F*-I5K,C:8-Z#+,D/G^%3FXB3 &R>"2!M !D:8+8!IA1 W#,!5AM@ M20&6#8)3O)Z M9MVQDO^:\#BV7!5Y5:1)'#(:HSO&/_BT814J[OE=$7W9%&E,R^HGY'_=)>P; MNEC3^R1*V"6:HD]W:W3QYA*]04F./FZ*717F<;68,=ZO>6M7VX/O2!G.G# MQX*%J2)LI0];%5G&YV;3347T6A_]/HZ3>FZ'*;H)DWC*A[ *MXFZ)_X+6%&T MRW9ID\,_V8:6B/>-+_1-O0(?*?J01T5&T<5O155=*N #/?PM97R+X-A^6.9) M_E"ABU/&9T5$X!F?",?90(ZS@31,UAFF:_J0Y#4%7ZUIF$>\SSPOU28L:76) M0L:YHK?(Q#\C8A"B4EJ+7V^3[ZIM&-&K"4]/1J.43! Z9SDO3YW/-L3TSY MJM_,E)JL%4B.:5B&V,SO-YMZF%ABJZ#?RC+G1M=*R)!US)#5A)EG,L07)C^. M*UIO:X>KRWHO4^Y\_]P6:8KX<;8/R_A?5>8LR+D/";:&!/,AP0(@,$%]^ZB^ MK5T?'ZIJURP+?MA%A\.DJI4_W?14.FM1Q^IL]_8X;%ISTY'6$B2G#PD6 ($) M"CI'!9U7*:A2S>DEFA!C+NUJ6KJQJVX(HP_)& "!"5JX1RUI]]/#0HE]56O2QJ\KMI9Z?*::TIB 9?4BP A,T-$[ZNA] MEXXJ[;Q^NHDAG> K+>W8M36$T8=D#(# !$WF1TWF>DWJ36U:5]!QO<]M>5T1 MUL6+2HNYXD!Q/2R)H>4;*\8@2A^2,@ "$]3 1E)!1Y25ODI6>* MO.L64T@3<:1-::5G'JL,*)H_: 0!%*>HS8FA@;7:_$'9 "UP;R2>[1!9"RW3 M:"T@T7Q0M."E?(A:='8"UOL)?AYKS(3?P_)8BII*E4#=!*RR$XA%L"%5I&M0 M7A\4+8!"$Q7M+ 6L]Q0D10>I:/9W#8-8EB,_?.,!GH(";.YZ'I'J)5_1;NIX M#I;WJGXSFUB.*W!IH<=+7?? M#' =>R[_#P&4U =%"Z#01!T[1P#K+8$Q-AON5^9$/L57>K[1*W I0]*&4"A MB8)T=@!^P0_X3J]-#S]Z@?7K_REV32(O,$A2'Q0M@$(3_^O:^0E$[R>\QG,C M_6)\RHL9::7IB<>NM$&BL"**W(H9[<)92)U ?@JA\"-=V M+"Q5PVM07A\4+8!"$Q7M? BB]R'T'IQ:Q;ZW@(EAVF;O>6& ":$",QQBN?*; M/8J&4\N3'\T#%9YE>XXA3?W9R6N.]6NO?-0/25ZAE-[S0..MRW'*PYNDAQM6 M;)LW'S\7C!59<[FA84S+N@'__;XHV/--_3+E\7W>Y7]02P,$% @ F86G M6"G7XGGE!P 7B( !@ !X;"]W;W)KAO/=Q6!0)ANRC]67U;,&N+^F>YUE!%@R4^^TV9J\W M)*?/5SW8>WOPD*TW7#X87%_NXC59$OY]MV#B;M!R2;,M*?RZ!I(59XH_2EO9NE5SY,2D9PD7+*(Q<^!3$B>2TY"CG\:IKWV MG7+A\?4;]]M*>:',4UR2"I%/9"25;S/^0-]_HLT"@627T+SLOH+ MGAM:KP>2?D*+5#B%I$!D=+H MQ>"<7CP3LQ-KA:VU0J<7OQ+!-,GBNNH6*8BWE/'L?]4#D^8UN^#(9<, CCI^ MU8G"8!B8_3IL)1TZ)5URFOSLRZ*> N%$@72E57Q'& MA!%Y_$*,DHVTM_I'SJLETVGZHP";)8.>@BO/*=L]WQ!F!!M/?Q]"L".4@0KZ MGD6H(PR%[E*_B8LU*24@'M6'LB2BP,B,R;/X*S M^N2U$(9:%3/2>:$/+?(IY(1NZ%PPLHNS%) 76<5('494QKYH"D5N%KQZ4M"B MW]Y7\6;4QM?3-0B[^6J@ZN/1R+>HHL 6.M%)Q<,N?K4&0Z"].T">9FV="GE# MFX *WZ ;X(2 ;$^,MCZV[U$2&U70$4V$ NKV,P8R"+$M7A3R03?TS4V]RN][ MB819\8>Q:S$JH0,>CM!("Q43>D)D@1VH@!%&GVJ99_,?T^5'6F;H1-Q/%] S M<3NU@D)?Z(;?Q9XEFU@&HAB]9 2*^?HGX3)WA#,/I&E=C78P@*[H!SRMK.IT MEI**%#(C-S*?B/UQD9$!MR%$X; CLH'.)K+";>2$0E%E:4)(6H(5HULA,]^S M*C4^J0'4RRO&6C]D((,"\"P]+U)XB]QX>V)WD?XBU?EK5CN;C^>3#]10=-:)]5S<3JV@,!VY,?TT ML\D+84G6I$@IIT2!B'(R-#M0AVB$NW.7B0C9!B^DSZ*-L/ BWQ#52^K0=$"G.1&W/MYBM@5)%:'CTE1;]_V"A T(.QQUZY&!"N*A9:L#*XC%;HB=KE8DJ>)Y M11G)UH5(QJ0:EX'H2 E(FM&9%K6J$K>J"PE>ASBW@2[6T;2/@F[38*+"D4TI M!;G8#;GSZ:/H32E47(=48,@1-T" M8R!#?H0M*(>/=J7=P&N5];=?(@31GS=DG16%C"K93A"6T=2HA0[ ,!SZ1[9M MU-#IPE%TM(UUJH8":^P&Z_?4F,H9SJF CK\(80BUO-#I1GX8V110.(W=.#V_ MGU>B'\TX0IL/HS4^*UJ?B]NI+11:8S=:5X>'?;KJBSKWMF]&GW@LR&394R5# MU)"/@0DVP/.H.XL;B+!MZP8K",=N"/^4,I]"2&P8N[6*I].$MEA5F([?P?1F MQ+!/&&"UEZ=X@&\8W:]%&>]L^M0'!\U&RSL[*=BPIQU!K; 8J(:1S7NJ$< C M9UHNOR\6WZ9WHI*,OX&VEQ99>GO_<#=^G-W/S>GH;"\^G8YGXG9Z:J?Z#M_= M=U3'O=7VHPS1>%M[,BN2?)_6,2RZ); 5(;MGY*U=55M,=2R_XV1?;S<",31W M3_]T*G_H6?#;5TV)[VY*3A5\._&S'78TS$Y/*E%WO#=1^;![WC$X.JG?$K:N M/F H094L]4EW^[3]2&)7X#+R;UIPZ*3?WEQ5W,!(*7P@TKP=+[,A36 M8_7'#/4-I[OJ>X GRCG=5I<;$J>$20+Q_Q6E_.U&OJ#]I.3Z_U!+ P04 M" "9A:=85P('34<# !9!P & 'AL+W=O3&?O\U;H6VV7:>]O=NNJ0]&6]P[\'W;"O>X0T/' M3;;(3AN?==V$N)%OUYVH\1[#;]W>L95/*$JW:+TF"PZK37:[N-ZMHG]R^%WC MT9^M(592$CU$XZ/:9/-(" W*$!$$_QWP#HV)0$SC[Q$SFU+&P//U"?U#JIUK M*87'.S)_:!6:3?8N X65Z$WX3,>?<:SG3<239'SZA>/H.\] ]CY0.P8S@U;; MX5]\&75X24 Q!A2)]Y HL7PO@MBN'1W!16]&BXM4:HIF:X\+V M%U<+J_\1@T16P7OTTNDNV53!KO</C) M*E1?Q^?,\@6E7\$=64]&JRE#X[OUE_/*3006#U/(+ZW:]\)B9NL MB[G< ;/MZU>+M_.;"^6MIO)6E]#_5V=Y:1/4U[:%&'VL?2:#3N41U&U M[MR6;T4OT6AF[0>A8JETV'P,9_9 M'9PKWSX/!BD/GLQ_?9."& M03X8@;HT/$L*S"@M60.6*CKP>4443D9,,'U-M_\"4$L#!!0 ( )F%IUAT M.P* T0L ,&PO=V]R:W-H965T&ULU5K;R95=1E$3)NXYEJTJ6O8DKY;77LI.'5![ &9#$>@88 QA2_/N<;EPX ME"A9VJT\Y,7B#(%&7TZ?[H;YV#XTVZJ,3OF]; MZ3:O56/7KT;'H_SBDUXL [TX/'_9R86Z4N%+]]'AZ;!(J76KC-?6"*?FKT87 MQR]>G])Z7O!/K=9^\%F0)3-KO]+#N_K5Z(@44HVJ DF0^+-2EZII2!#4^)9D MCLJ1M''X.4O_A6V'+3/IU:5M_J7KL'PU>CX2M9K+O@F?[/KO*MGSC.15MO'\ MKUC'M:'YTQX9IVC!EO>-!K.4;&>3Y2V?7 MPM%J2*,/;"KOAG+:4%"N@L.W&OO"^54,AK!S<:471L]U)4T0%U5E>Q.T68B/ MMM&55O[E8WBOP MO703<7(\%M.CZ>D]\DZ*\27NL%/^^F/G@ );_[#,XRCO=+X\2Z(7O M9*5>C9 A7KF5&IW_^,/Q3T=G]VA[6K0]O4_ZGPS5_;*G$_%P\>*U]-K3PH]D MI0DR)IBIQ:4U'JOJ^.;S4B'M*MMVTFQ(0F6!!.-539_20CS,9"--I42D(MJ68(]%@&R[MCNH8 "403>"+YR?+Q_Q";2T:DED'D MD6=7TB_%'#SK_\!90CHE>B/[6D/RA(-7'N\Z?ZX-(J=E,]0$[FMZ.FFIG-)& M+"5\.E/*"/BXPS&(^(:UNXS0P [&B:L9!FL=EOR<<-$O7%L)Y7I 8[XZ)5#A 63R@*TZ.S+Y.KB?C;Q<5'?CX^>UI\*[L. MP):S1@G7TRGTA5.+OHDX(FE\!$FX4E7O=-!IV=OK:BG-@DUIM>=:]806IU.O MWEZ6\R@FV@2HU0XC:BM,#9DGPK8GM49;&15L Q* M.0);]$BDW\E2U9_!GA[@&8C.KQ$/L^8MG#>4*?O2X5OQQEEMM.&_ V-6VG0 MM="2,74GU&9P=&3].\IVR4F)N"!*#=8 .([P;&3H'3O;:_@*YQKXT7MBWV#C MT6(NM6MVLB2QB1]HV5FO8_SOY$PP-!H4_EK3G\*.?XB.F(H8\)3F+/$>ZN2- M_P-"Y&/_#-=%D&77/&(_PD;9F..E&^*N&N1!O65.S"R7,=W*#2 IU'4'@!#$ MTF$;)1T=0H"XF4:G HMH(7&CQ6H\]8P9:4R/N ^(!/'4%G1]J5Q #SZ,3C>L MSFL #6XP?[^814A$BB-_I( M>W9L>7# 8IR'1%EJ$]L .OBMEP[.0" _JHF>N)>Z;3@=> EBV=&EMPE>)Q\V _:!F'I3NWC'7/U/>@ MJ(U)5^X:B1O3@=\]0/G*Z=D?ZV;9@J9ADWYZ)&F%$_2&^ MY-:>D4)Z1 F\:4=(/)-BF .SS^ZSTC#NT\ZIE3)]5BG2Y0[LXR;&;*+L#]2W M 8D+2V^Y.QGOP$*M9-.SOP@O1*C='^.;Q$--+X.Q;1 MA 0GTL@$2X@>B]ZK>=\@$JO8L'>.:D78E*!VL;D"ZD$]&OI@4RHGL)Q6I3#A MJ5&2_$!W, =V?@#9I?'_].'+MN7?BX!QKG-!7M/3MOX5\%3ZIM\I5^PLRN"I M659+K58IP%QQJ&<.TBWX2.\M !4R 6?4PF.UCZ^&VXAA=)IB$1@(9852GWY9 M.,#?! ^7J2".+-]S+\*V.%; H*, M&J3\K80MBE(O1H69^C!,<7@% //8$:VC486&JM!S Q[5J[BDUQILX_*,0DE4 M7$A#7M)NZ.P:LQ,HCZAYT$E#7Q]7[YDU6%&D6>]CYXV#OXRTF@/,B4I:BLCC&WY5J;,H72.SG6!>IAWP7.8&>. >-7<5^ MM54U@P1 KOLJ9.2S82I.9D;=-G1'Q5)?"?WSP>):59K&X0.B?C=FDR]YS=MK MC$*LP(S6Z]ZUUG8PDC;JO**MN[7!:3O^F+P="T M]?L$[4 %BP"?=T@$G#>X[KH"MFO.SG=FVPALYZ!?+JY>"WW/MB\=EY3,0Q=7 M6Q[ZU4Y8TL'17\<0S^3SF%/*6V(#GTY$S[+, M+0'W.EM6&]1$1'FV266: 5)'HL%Z+)*+A5.+U#$,[AAUO?CA?2@?1]3,T=UOL\]DZ M9E*R1PW5W^WSA"J$XD6PCON-&SBK1V-4PNPQ[3,018P?K<^%>5\/'DV5^>3B@?LMM)KE'K(;YNE;H[5(I91" H%@\CV,6!EHNM'6!'/*$1 ME#NN.(M#)S2%W GTW)=A%BF=-_DK,0>7P"U,XX4!)W[L,#V\ ML0#=XO&:/^5J/@>]B\Q^7F<>X.9 MDWEZX@%@A_G(%=G&V.MA[K4^Q,'),R_LSL?C&QAF#;WX@' M*5=RJNP>=)G1PY7F"69IUV1"ZIW4MG.*=PT#%1,]1\C&"6" >-9E6+@B;]S M:?I/'4&Z-6I/2+8.U_X&J0VN9;Y/:2>[8,A,F.#Y*%&G8^(C3Y^=DHCNSY(=B.?ZHPLR'8EC\N,=XI1POP_=S:D!_H@/+; ME?/_ E!+ P04 " "9A:=8ZZOLN;@- !L+ &0 'AL+W=OK'2QB2L\%G=7Y;:0<7;C7;\.J3]W^$/)^[+S6Y F2ZT_ MT<.[].692P+)3"85S1#CST[>RBRCB2#&9SOG6;LD#>S^;F9_R[I#EV532$4SDYY4-5 MX*W"N.K5NWPGRPI6KDH1YZEX&ZM"_!%GM11Z)=ZJ/,X3%6?B75Y61'[N)B(P'.$ M[_KAB?F"U@H!SQ<G9O]>;CNYR+@*P43\A<4%//9)5O$R MDSSD[SI_UFGJSOC[6HI;O=G&^<.//\Q];_:\!.![HW.,[C2ISNAUO)-B*64N MDBPN2[52,N4Q<9+H.J_PA$PF8DB^BU5&XY^AX5D99W+R7ZZ-2:$_U$K6+3AY MS!N9R,U2%DUK(.YE(:G_2F=(BZ6X4+FHUKHNT;V\O!Y.\D$F=:$J!4S>JVHM MR8%!L MXRWD.B?=PG"!'S/\N_"\2_QAF_O/F[=3<2LAX4HET(A,^T9N=:DJ$3I1X(NP M[=_\I?9(?)Q\F(@*\B*('X07.+[GMETNO-#O+H77;C0W8\H*ZQA(;^I<)6H+ ME=GH"[-"MV.J")%QJ.$^$KC,-?>$MQ(4?>ON^: ]\5_RN*UAA MX3JS(!"!*RY"-]AW0GL0N1P>XR"['KY+Y;(2Y1X?GNNX'6F'?^UK(\53^I[C MT0A]3F*?6\&[3J,.)/TAW/\?\;MP9CYA%TB$,0:FH+?3Z!A^(R=8^&)Q8/#( M"5UOB%_7\?VH@]_(O>QY*(H>0Z_O+*8=_ ;3_01XY4T/(!RA.0J%#PB'06689G1]RO M%72X1^;>%@H3J^Q!Q%55J&5M5JBT*%1)2RL4&U3-2A3L%[0!:]L:-@")[)4: MD-L=V"965]6H@IWPIB@Y(3!Y/]$YJ8]WU3JNV(BI3*BXT^@5H7W':"M"RG%QE [2=3NP,>Y%G$; M:%1X^PN0!#1[D=HJC8BML+7@Z0=*DCPHF@5BJ"!IJ81S?M Y@I1<]5CZH%F, MX4W993U(*_(F^$UNC'7'&6-D]=S(U;$@:82R74IQA!*P![C8/^(XF@F"\ CC M1L0$3'POLUUKXR<0C$<(Q2_M4I[?S/Z>%^RWF5#O9,ACZ?3[='E"_O61^D)O MC#OL?_7[]//JU(F0.2_F2&^A$X(V('U=4D+U7-^RA$?2ZC![$QD@;8LGU ML_-SZ&9OZBQ 72\ H,!%-Z II,(81LY\.K,5M?%S,'/F$;MQRFX-YF"K$3]' MW#"+''>V:*LK)2_D=]Z4UIAA$U=-93A2+Y^R5WDD:1SSW8"(=3?3-2<^9&CQ M(&-RZGSF+'S?_(A #3H]4'Y6E*:I)T7+W//P_PP$H['6HB&@'9I\9!?YM#+5 M,1S7C$QRA1&T^Z_DG4HZ"G,FI_*_PRN4_[7,4AZ$P1,@/I6%6586F]8K^^'] MQ;:Q2L6YYT['[\K#UZPI1D#-CDI]K53UT*8=5X9C&72*32M(:3*/# M/3I+I2IEPK&ATT9ZEV )$I%\OY0C>_2\D6,2 +@O=QL36V7%*50 MKQJ-4,V]#C101/8LD2,?,:$A/@M!"^H0(Z$"Z=IX%$NGX#G,H?-29RIE'K2, M,U;$G/ R/61HE0,N:*B596($$@ZY,19E=U]F+^;P5HX0$G]A#3 -TQT0OP[7 M&>[UNBM!W-P>T;*UQTQTFL:+] G!/OFFXZJW>\O #ZE<,:9; *A$6FJG:\3" MDFTG81TFT:7,,L8:.8BTYBC'"V23O 1V@)1,Q4N5$> N".1?P(EYVDM+%,D\ M!6*-A\3&/$L).BASF](Q*[(NE2O.YP9;AAV3,RAV>U +DV&_BI+&]!;Y M1EQ8I:")+Q2RCB5.=Z3N[ M6]EP/:;%]VB[!CO9R4QXXIGX1ZT)IZR\/02@,;*8U96UXBMRD>D-KB5M&R_QK7GRB5OUY.X7'.1PK#V1/P( MZ;+B-XBDGA:Y#J$,.:"F[&C1UH2Y 1U5L R>SF,.#VJEH"IU720-?=6IS!"8 M%8S[E5[:&0X^S8<.T^HRWD!F3RIR!ME2&=?+"F+_0&W9CAP=MXCR^DT7/ M>:U1MH6&L+ [=GR=(F0"@2,^E5NB 7FU5QD&5(G-/71T8WJ#M<'\E%@1A$UF M; K >%)VCJ.D5.#S<=%'WUHA: JV72,,]JNT:>24UW)0/A7+C*.0F<@@6PD3 M0&)-:C*W&Z*GC1\V 0RS4ZE)Y$<-VO<+G4'N"0[G#[V3W5T#T5OYA?D>'PAF M6:.Y58.K @++G'^:*P/,@$_XE;XGBCA-^1RL+Q,!C/EBAW9PHF.2L:<@C>H- M">Q815DJ179LDX=1QD9FTA:=_C'KL>"'>_U=ZO1$W-K=0C-X>]C;^%L:DYBL_+DF5E:9B*5F-&3-\PI3:<+YC04Y)1FG;P28#RL[ M8J>SFG95^ZFQ7:/#'NR28>.DW8V/&JP?/60> DIF+ ^CP!;KQ M@?,^B58R6><*WNZ5F 9??%;/7^/B+4P9)VLYH!7-9G^M,SJ/>#A%++K?ZLLV M9,P9U<'1YB/+-*.?6> 9;N;LXS%V1.# MXEN2QA!.)U?=P][6;)*V6[1MB*44"4B-;PWR<>X(51[^WT,88 M2#RRW?^KXE(R9,MU]@GC"?>O?T@9^Y;9LL[&A8W_.D<-^W.&&Z/3[6#C,'H& MWOFB[#K3Z72L:?"1.;4?F?>7(A:N-WAZCY!_:&)Y55/IGLXZ[:ATEN^3[K45:4W_'.-/;PL MJ />KS3V1/:!%F@O&+_Z#U!+ P04 " "9A:=8YJ#8P/<# >"0 &0 M 'AL+W=O.RD4WAJPZ[;E9GN%4F\NHB3:+]R)5>/\PF@^Z_@*[]'] MUMT:FHT&E%JTJ*S0"@PN+Z++Y/PJ]_[!X7>!&WLP!I_)0NMO?O*QOHAB3P@E M5LXCCO?H'T+NE,N"6[S6\JNH77,132*H<)66-OS"9N<;1U"MK=/M+I@8M$+U7_ZXT^&_!*2[@#3P[C<* M+&^XX_.9T1LPWIO0_""D&J*)G%"^*/?.D%50G)M?<VE7Z*N G;LX@2QBD M<9J_@I<-J68!+WL![[-9<27^YOXT,$I562U%S?O#H6JX-6@I]7Y!+^"2- MX!+N:1%;+PO\<;FPSM!9^O.80CV!_#@!?[_.;<'^GMMH%_,:6<$QJ4!G**:0ER\L8'Y4H+EF1 M3T.Q8E841=#N20C'%Q+!-GIC@T15P]6*(H,^& X?5]MW;R9I,GYO :T3;;;=! M^?#,[;OZ,!+0=AA:C]S^>'GW5XZ[P&R!*Z&4UV=W%E%]92T@P47=^3C"5Y<@H)FY0%4/-UC,_FZLE>O;U[ Z-/_+ON<] MN??_'$A%DL6"Q"6%QF?C(@+3=^-^XG07.N!".^JG8=C0'Q@TWH'L2ZW=?N(W M&/X2S?\!4$L#!!0 ( )F%IUAEI(:X9@0 .8* 9 >&PO=V]R:W-H M965T+M',X<#H=SL5;ZFZD1+3PT0IK+ M06WMZGPT,F6-#3-#M4)),PNE&V:IJY:>J,=2\4; ME(8K"1H7EX-9='Z5NO5^P9\[+1UPO[UE_^!])U_FS."U$E]Y9>O+03& "A>L%?:+6O^&O3^9 MXRN5,/X+ZVYME@V@;(U530\F"QHNNS][Z'78 Q3A+P!Q#XB]W=U&WLIWS++I MA59KT&XUL;F&=]6CR3@NW:'<6DVSG'!V^DE:)I=\+A!FQJ U%R-+M&YR5/84 M5QU%_ N*!#XK:6L#[V6%U6/\B,S9V11O;;J*CQ)^9GH(211 ',;I$;YDYV/B M^9*7^AC [Q3NI^\?2M%67"[AHU+5F@MQ!G_-YL9JBI6_#PG1[9,>WL?=GW.S M8B5>#NB"&-3W.)B^?A7EX=LC7J0[+])C["\[J:,4APW,AO",&NYJA(42=&6= M/):Y*0^1-%FA95P84 NPM.Y:-2LF-Z]?%7$T?FOHHGUON<8*^$]:UM$R#Z+S M+>O= 0.3%;S#$ILYZNUH J=<$KMJ#4W3@>%#B2L+:W_+L'K#[E%3T@#6*&WY M#^:O^ HU5]79.7EQ8)^O6^RLQ\[VL3<>"Q^U,@:NF=8;YSDM::6%65FV32L8 MH1^C7!Q]X));?",HNQSP^9Q\NZ?!ZD24K(H)AD9Y $63*! M.\TJ!(.E]J*3OBNM2B1[#$FQ@V9!G.5P&@5YFCAH'B5PIRP3!TYN,LQW]D[2 M8#+N[,V#+"N\O460QE$O_//3?*;]_ZMS-"&?.YW)[?1E.F?DL],YBYQ8X[CX MSSIGX['7F8A>I',61!2W3N M:+K7$MUK>2@7/D]_E-'N/'3_H7T*];!K9:P[94UW0;;H CSO/K=,(.71)4JZ M@*(+DXH*"NZ>.U<901RDQ=A_\SX\3ZB794G_C^'0*S;:JSTHI):^PJ*P=,'8 ME2&[T5T1-^MJEY_+NPJ0'%IR:4#@@J#A<$PUD^ZJJJYCURVXS;8E;;3?P%02P,$% @ F86G6)U2A+P" P HP8 !D M !X;"]W;W)K&ULA55-;]LP#/TKA#<,&S#$CI.F M19<$2-I]]#"L:+OM,.R@R'0L3)8RB4Z:?S]*3IQTZ+*+;4E\CX^D2(\WUOWR M%2+!8ZV-GR05T>HR3;VLL!:^9U=H^*2TKA;$2[=,_9:.T%LHD MTW'H=2!B&;]WG$GG,@"/O_?L'V+L',M">+RR^KLJJ)HD%PD46(I&TYW=?,)= M/&>!3UKMXQ,VK>W9( '9>++U#LP*:F7:MWC$(<)'] Y#O 'G4W3J**J\% MB>G8V0VX8,ULX2.&&M$L3IE0E'MR?*H81]./UA8;I?4X)68+>ZG<(>()OT(4VB'R#_X0& MPA1P8TB8I5IHA)GW2!ZNE9?:^L8A_)@M/#F^(#^?2T/K9?B\E] TEWXE)$X2 M[@J/;HW)]-6+_BA[=R*&81?#\!3[R?*<1HYZT"7@H4(HK>8&5&8))$(6HEC# M>2 ^E!4G!STH \L]J&A-UO5K!5*A[\;-F0+50*N8TKY4"HGF]I3D!KR6B@I M*&12!,YC#WP'/7?T%BJQ1K RAE[TGJ@LD-!Q]W/BN1[L=A,>QA[S['Q8YY]- M3>^YVY@>#8X:W3*.1P_2-H;:&=+M=A-XU@Z>@WD[OMG;4AD/&DN&9KWSLP1< M.Q+;!=E5'$,+2SS4XF?%?Q%TP8#/2VMIOP@.NO_2] ]02P,$% @ F86G M6,U25[)R P FP< !D !X;"]W;W)K&ULA57; MCN,V#/T5PELL6B"('2=SP4P2(,ETT5U@VL%N+P]%'V2;L=61)5>2DYF_+RDE M;KK-I"^V+CQ'AZ1(S??&/KL&T<-+J[1;)(WWW5V:NK+!5KBQZ5#3SM;85GB: MVCIUG451!5"KTCS+KM-62)TLYV'MR2[GIO=*:GRRX/JV%?9UC2%=SCM1XQ?TOW1/EF;IP%+)%K631H/%[2)93>[6,[8/!K]*W+N3,; G MA3'///E8+9*,!:'"TC.#H-\.-Z@4$Y&,OPZT*PGGEQ]U MA87'2J-S\]03(Z^GY0&]CNC\#?04'HWVC8/OB:;Z-SXE)8.<_"AGG5\D?!1V M#-/)"/(LGUW@FP[N30/?] V^!W(.'J0KE7&]1?A]53AOZ2K\<<[9R#4[S\7E M<>(BH?OOT.XP6;Y_-[G.[B\HG0U*9Y?8_S<1E]$W8S@E@(W%2GI8U1:1 M2LC#3QI6G94*\ED(;C8"WR!L3-L)_0ID@@0!J;T!\5_XMVS\_MUMGF?W7V^& MY11*>@"2/\: M?24O3).9U"5U40H1KXN:--?" MX[FSR/BH]6K0&D-EK*RE%DJ]4E/PP4\S9'H:,CT9PT-OF9 /\@W%!MI8M1R[ M"JCFRN98=/&;!W(:3 _7Y%Q@11OQ) Q?/(V#:9#!JBOVAFE:\8Q@:,]"V0A= MHV-($(.V=9SI\D=(3-S]@87MZ26!R'1M&.(ZE:>,I?1KW6(W/U69ZTC#I MDM7A67"4L5[[V#N'U>'E6<6&^X]Y?+8H>I0!OHA;@F;CFZL$;'P*XL2;+K3? MPGAJYF'8T.N)E@UH?VN,/T[X@.$]7OX-4$L#!!0 ( )F%IU@A.HH;+@< M *<2 9 >&PO=V]R:W-H965T0!$5D08 +@-+RW_?<"Y FY;6Z[8M- M4KA?!^>>"_+NY/S'T"@5Q>?6V'"_:F+L7FVWH6Q4*\/&=N]%Z-M6^N&-,NYTO[I:C0\^ MZ$,3Z<'VX:Z3!_6KBK]U[SWNMI.72K?*!NVL\*J^7[V^>O7FAM;S@G]H=0JS M:T&5%,Y]I)N?JOO5CA)21I61/$C\.ZJWRAARA#0^99^K*209SJ]'[S]R[:BE MD$&]=>:?NHK-_>IV)2I5R][$#^[T9Y7K>4'^2F<"_Q6GM/;%?B7*/D379F-D MT&J;_LO/&8>9P>WN&8-]-MASWBD09_E.1OEPY]U)>%H-;W3!I;(UDM.6-N77 MZ/&KAEU\>.O:5D>@'(.0MA)OG8W:'I0MM0IWVX@0M'!;9G=ODKO],^ZNQ2]P MT 3Q)UNI:FF_16I3?OLQOS?[BPY_D7XCKJ_68K_;WUSP=SW5>\W^KO^?>L4[ M'4KC0N^5^-?K(D0/TOS[2RBD(#=?#D*-]"ITLE3W*W1*4/ZH5@_??G/U%%>54+;Z(041I=H827DP2M%(;!81O3SIUX#FX4I#%KY41'/==NW MPN?(G1Q214JBFLM+:7YFET./W#;G.%=<:0HF@K8(J5CQEH&Z(TAM=O"*6?>SQ%].^7 M($FL0(,\DQ'*5)\C5@A-12O?"L@O\A*RJC3M (+B=S$HZ=.6P43;$K(,1^3T MJXLJ!BIJ/Q7%@;[6/$-R/5IOQ&_6J)!RUE9&>$"*1BN?ZN=:8$37(P9/ZP\- M, 0$'5( @E:)ZQTKP/>;B8WXE:U0M>DKYILH7>"4@D027 G';.!7M$F74LC$ MW5%6&$!<7(N3#%3/RPD-^@4/OAL?K(%,Z!2/$C-LSCKE1^]:$3&SF*CXO]ST M5@ZBD4\LM@0:17G-U[,'Y"FCZ 1:]QV/46/0!C1S MLK_/>566OH<+.3D<&(?0HU[,,. ?Q*D!=704.HC.NT(61J68=1])^AA:\*RG M_CRA<%$ /UDIAH-=+9:4(&9!E),!S"Q >!50/>T^]4"E6JMK7;)T++)EJ0A) M*= WMI*>]G%I(+V7P"BQ]6OP0->UY)T3G5N?M2#1+:3&21&'M6BKW1;S +%*AVNMG3E2EW"%J=%("::>.DB:&HLD,LU3GFMP.R;AH$ #3NJ%4I:ME[O2 MR+ PX]VG\5*AR#*Z/$=&8?S0?VXY1>!)R'H'(GP.LDR)0 1I#%%K^!I(_X"/-*A[;]-)TWJ5?R> MQ6 <448=DK*42D%S#R2*( ]$AS<%;XBVPK-&:J>76DMS$V&\E1XV !?0_ZD%"Q,<^WV6F,TI&DRR3-M%N/8E"C4S&T M)1\S^,2/P9%(\;B(1#U12&89):4_0X2 ZV"KKCOIHF:L%"C[%P8DLM]2'NX M'.%JU/!/F]KP[YL)^P*X QS5/^ L#M>Y086%QI"DV=Q.\-PACSM "_UP[EYQL*,'V;>O@/4$L#!!0 ( )F%IUBZ##>2 MC 4 -4- 9 >&PO=V]R:W-H965TV.SMW-)BMWGUOKO(7;$LN1. M7!KUM\Q]<=8[[+% [(7F:4"[]L$V4GXQ[+:N=-V2@#02EU M_.?W31XZ"H?#%Q321B$-N*.C@/(3]WQ^:LV&69*&-7H(H09M@).:BG+C+=Y* MZ/GYC3?9;6%4+NQOCEU]KZ7?G@X\+-/[0=98N8A6TA>LC-EGHWT! SH7^6/] M 1#M8*4MK(OT58.?N4W8>-1GZ3"=O&)OO MS'.R-7PJSX%9\O$#Y";.>N@+)^R=Z,W?O1E-AR>O M()_LD$]>L_[3!7K=RE'".H;'Z6AVTIB+KSXN0W8N38F&=SST3/=%UGTA M[NE9,.D8=\YDDGN(;*0OT*G(I,QH[4B=U5IZQ]Z3SW1XMM$QVR55;*;(6(<;!% M;;,"L;"%XGIG^>IFL6@M)^Q26(]1QL@?6X,@%(>?\ZB#!;T+6F5FK>5_A.A.Q+"M '^=A)%S )9,;X1K4;Y+%4CPX%A XJ6XXWG!BH"MI$2 MF!>1I2B.QT'5A-8ZV*%TO!2[W0@P85<\>*^,[6SWNTDE/DEO@)\V*VN6?"D5 MM2NBBZQI^;>/&E3SDF\9S[_A%&D*0+[A_Z)I(5LSG&LE^T(WLV'!+ ME7W*V$:ZBZ?3L]WMAC6/BKL_K4W3&(7+3+"$1B7VQ5Z,K/UQBJ7.5!T@Z[US MB^8?"8:N=4;)G,=QBC\:%"%;N)=9'H=D.P9^.(="(? P9N^#:U,[[+@/QPB+ M5+NG^%/5H':)5B7G%B,+PX2]9:/^Z&C2_(_8-1@0U,A1#B%EJC#:TOYH>HC? M=';(;K@2F-IKH1&!"J(\!\DD'<%T26.C83\=SMA1/SV:L2_&0PH>QOV#Z1$] MI/W9=,K.0QJ>#EH?I&O=F1?/A@W@*]X,]EH3ORB[X8JPIVK\X9X U.*>:D>U M)_)AL'/'WAY,DPEN9TI!OM^,%M"1ZITU?I;/1QAGFW!IQ)ICC8.E,[_29!K' M5_*K P7NGPLVQI;.DO$OCFV<'+2Q43O%2%[LFA!(QBL)J> U)4(1F,X;B/& M49*V$ .=L#%^V-B3OB#U]*0<]^D\H+# 0;5-]MW>!IVK=BDP$^B#@CJVUC[> MNG>[NV^6\WA5?Q"/'SQ M);H7B564!TFLX,>L_$C(BZ\J<+%?6D\/@/"8X'O M+F%) .]7QOAV00YV7W+S_P%02P,$% @ F86G6+NN;(WJ! K P !D M !X;"]W;W)K&ULI5=?4^,V$/\J&E_G!F9"$MM) M""%D!NA=>P_7,@>T#YT^*/8F5D^6Q$5SJTFO9[-"BBY[>H5*#Q9:%-RAY]FV;,K SSW0J7L)?W^ MJ%=RH:+9U._=F-E45TX*!3>&V:HLN7FZ JG7%U$<-1M?Q+)PM-&;35=\";?@ M[E)F6UO]EZ\";GD4LJZS392V,%I1"A94_UG'8$ACW7Q%(:H'$ MVQT4>2M_Y([/ID:OF2%N1"/"N^JET3BA*"FWSN"I0#DWN\RRJJPD=Y"S7UT! MAEWK$M-;4-P?@'U2F2YAVG.HBR1Z68U[%7"35W!3]EDK5UCV0>60[\KWT,;6 MT*0Q]"HY"/B9FRY+XPY+^LG@ %[:.IYZO/05O _?*N&>V!^7<^L,UL:?^WP, M$(/]$-0O$[OB&5Q$&#$+Y@&BV?MW\:A_?L# 06O@X!#Z_\C,8=RXWV5OPZZ/ MLIVC(ZFM/68B<&0:=ZVS3"^86VO/JQ4H9R>L4C@EI/@;=2QQ.B"/820,2"F& MT%XI5T_OWXV3^/3<,O[ A>1S"2X*H;98YF2:74&&BC,F<->LJ)*3#YK 4BOSWDZU-"_N!'0V'XV-:D\[P M+/54VHF'<4T-^WU/#3JC9."I<2=GO?E(FYZ]U^1$: M$8]&+1O1XU&__2;ZXZ$!>10Z[OB9NJ.X,QZ>'K=KLS_HI_ZWOBXD"68 MI7\G6S2A4BX\)MO=]BE^&5Z@&_;PCD=M2W)*P@)%^]W38<1,>!N'#Z=7_CTZ MUPY?MYXL\-\),,2 YPNM7?-!"MI_4&;_ %!+ P04 " "9A:=88PRY+-,% M #2#0 &0 'AL+W=O. M9!&5*CV&L]-:+NB&PM?ZB\/;L+-2J(J,5]8(1^79X'S\X>*(Y:/ 'XK6OOB2]*:#0'&]];FH'/)BOWGC?5?8^R(92X]75K] MIRK"\FQP/! %E;+1X=JN?Z,VGK=L+[?:QU^Q3K+3Z4#DC0^V:I6!H%(F_9?W M;1YZ"L>C9Q0FK<(DXDZ.(LHK&>3LU-FU<"P-:_P00XW: *<,%^4F.'Q5T NS M3R:W%8E;>4_^=!A@D=>'>:M]D;0GSVA/Q6=KPM*+CZ:@XK'^$$@Z.),-G(O) M7H.?I%G"P> M[;;(0_+!US*GLP&FP)-;T6#VZL7XW>AD#]ZC#N_1/NL_+<=^[?$X$WT+XG9) MXM)6M30/KUX<3\;O3[Q022 @)72/V?8D7L_)4*G"P2$W-#E'1?PNO:?@A32% MT$K.E59!D3^,"VWL7H 81&,6YY -&R!C..:0X=D#GY$%UX MS^O"E@(K"I,&(WD#%%AD5V43N&HAAA0L%$4M59'UPQ/*@UCFW]@71+9!$D*\P4G!05RF%%E%M%7#D-6JR(&M"_MF;B"CD_./M=7P2FJ_>G/2BCC!LC\@R)$Q-G!+8TO5 M<7ZXK1)NO)3.5FTS57438@6X-CQ;G+ILYXQORU#&>'O#L)9>O)QF[["9:+V1 M8 =AZ8A$E?B#G*QO_9QC3!W=&A#&MRE!W_\G_Q MC+/1O]=M<>1+:1;$H_L,HAK#*)U"F\@0G)JC '--[$X:3BMJYJ-^?ZR+)DJ@ M!ES@3HJY0X(CMDHH,KCO,5_&>F/7S^_>\&&CB#'";"K\4Q2L\36[R1Z1UV/N M*E!Z#%N^D]DWO'!U>^X[7E@3&C"131I]M&;.[,<3"4[:)J6-='\,+K51!)J=#8>..L!%H-PA^151&\K9R&"LAT1M/YYQ#VU Z%$JHETBJXE0@ MUNB_':TUYH!G>)LUZ+8#'1NRRTL[NIQPAG3(=D$ V%-%"C&66>.L+!% ,E,T M>;(2M11OJCGHD,!$Y]'BT[GH\PX?S /^_#,>>BV^8+$0\5T".H;)*"FN7\FJ M/KF*Y47O%NCIB&,WS146-4J,%OGN"=T!?(5=!<>).X++@ &,TFE7[RBP;:P= MO-<#EOBLZ38CC]*A)%YJ/I7@= > L2VL>8.MF#"\?LCD'"M M KM.;ERC*=MUF!OVSMD5N46\36"?LXT)Z&ULM5;;CMLV$/V5@1H4":#8LF1[O:YM8&]! S2!D6V;AZ(/M#2VB*5( MA:36NW_?(2G)=N%UG_HB\3)SYG8XY&*O]),I$2V\5$*:951:6\^'0Y.76#$S M4#5*VMDJ73%+4[T;FEHC*[Q2)89IDDR'%>,R6BW\VEJO%JJQ@DM<:S!-53'] M>HM"[9?1*.H6OO%=:=W"<+6HV0X?T?Y1KS7-ACU*P2N4ABL)&K?+Z&8TOQT[ M>2_P)\>].1J#BV2CU).;?"Z64>(<0H&Y=0B,?L]XAT(X('+C1XL9]2:=XO&X M0__D8Z=8-LS@G1+?>6'+932+H, M:X3]IO:_8AO/Q.'E2AC_A7V0S9((\L98 M5;7*Y$'%9?BSES8/1PJSMQ325B'U?@=#WLM[9MEJH=4>M),F-#?PH7IM!! M%EB#LN'=V? G] MN";O?U/&?+A#>M>"NSR*ETU(PSE2! M4E$+\O/&)9^'Y!_%U"D&'GFE2S6DA# #6R7H;C#PWN.IQI >18[I/!URZ0N3\,K2/O8#2*DR2EP2R>3%.X M/T0XA^__YE3+)!^Z51U-CR-CE@JX:2S;"&Q%^HR75"+49@ZW/C?9++X:7<59 M-G;#T6P:9^,4UAT)#Q3TRA];M@>J^&RP/=.%@>E5$B?I!&:SZS@93^&^S7=V M'62<6$$%$XTQOM:H"$WU)>B9> M[A^8,RJET^,:<+LE='I"-'202JHX[2,]&J@8'_M2M'P/AYPZAFO]D@P,SC7] MX=&E3.3;^:<'-0#'W' _]ZO]Z^8F7.H'\? THM3N.)5=X)94D\'5) (=GAMA M8E7MK_B-LO1@\,.27FBHG0#M;Q7QJITX _V;;_4/4$L#!!0 ( )F%IUCF M/,7:Q@( (T& 9 >&PO=V]R:W-H965TAJ&)BNQ8F:H:I2T4RA=,4NF7H>F MULAR#ZI$&$?1)*P8E\%BYM?N]&*F-E9PB7<:S*:JF'Y9HE#;>3 *=@OW?%U: MMQ N9C5;XP/:K_6=)BOL6')>H31<2=!8S(.+T729.G_O\(WCUNS-P56R4NK1 M&=?Y/(A<0B@PLXZ!T?"$ERB$(Z(T?K6<01?2 ??G._9/OG:J9<4,7BKQG>>V MG =G >18L(VP]VK[&=MZQHXO4\+X+VP;WY0B9AMC5=6"R:ZX;$;VW/9A#W 6 M'0#$+2#V>3>!?)8?F66+F59;T,Z;V-S$E^K1E!R7[E >K*9=3CB[N)86-1H+ M3.:@;(D:N,Q4A=##9SIY@_T!2+2ST%(TAPFSEGG9,,<'F!.X4=*6!JYDCOF? M^)"R[%*-=ZDNXZ.$-TP/(1D-(([B] A?TI6>>+[D -^MK_:ZJ=:5?]44;.#' MQE M1H2JN3SH+@_0T6=E=_:>B2:)G_2X)(C:&#),?TJY.?C^W?L;[J%=K6TR)Y , MXO.$QO/3Z'6W31%Z:13WZ3N:].'V2!&]$7DE$_(ZCP[WL_$]@7@PCL(ZZ)J"14$ZYAM*?2*MD:0.6J/,7F!-VDL[&H0R='V' M;]VS<$\B*M1K+X2&CFHC;:,6W6JGM1>-Q+RZ-T)-W5R[@ (+@D;#TW$ NA&_ MQK"J]H*S4I;DRT]+^E^@=@ZT7RAE=X8+T/V!%K\!4$L#!!0 ( )F%IU@, M[JBL_0H ' @ 9 >&PO=V]R:W-H965T7D_SSVD>K.Q[C>_5BJ(I\K4_G:T#J%Y?7+BB[6JI)_8 M1M7XLK2ND@&O;G7B&Z=DR8LJ6MZ/[ MV>NWB:'VP55H,#2I=Q[_R*?EAL.!J>F3!:5IPRGK'C5C+=S+(NQMG-\+1 M;$BC!S:55T,Y75-0/@6'KQKKPMU']:CJ5OF;DP!I-'92I)5OX\K3(RO/Q$^V M#FLO?JQ+5>ZN/X$6G2JG696WIR\*_$FZB3B;C<7I]'3^@KRSSK0SEG?VLFEB MZ6PE'J"K0PK O6$M'MBQRHE_W2\\C__[D .B_/EA^50NKWTC"W4[0CUXY1[5 MZ.Z'[V87TSUYDK(8]JCK'CX=U4* MC1+!?Y5MZR#"6@:J.2H>CS7B%2/54K&6]0A2L$RMK2R_P0,[2A?(3<6\,]HGZ["J3-BT! !B@[:W1I0QX M\0%_@ S8U"X% "IJY@4&5M9I MS"%OD!"HKFT)IZ&$! J@6.<*.*-]H"[A;MYR1Z&OBT >O&N=KE<\;ZND2[/> MJ4)5"Z1_WFN\$U"V,ON!P@AW'; !7S#Z"&?#68\*GG3)K94E7RE98^]E:_ Y M=@_.'"M:*.$0P[K,!O#GNE 43MIMT7HDM?>"YE"!8E-=P+,N@OE$?/ZF"*R4 M73G9K+=CAO!2I!0NH;6N.\4V:PWO#5WAU[KQ0P?X<>?XL'8*9D80/.1^UIY# MN9$PA:)NT 2]^ NGMVT])OB_OH8Q)&D(I_N26,K/J%]\^D39[\7W&+P>7\SG M>)I=SL97E]?B?1V4B_9((RZNQ]/9C/ZCJ_/3\7UQ7@^NWK!,1\&F?G/A=&K!#/OE &5@.E(UYP7XM5!/QX#G+&P M\!DY3B8T72,1A0$J K]0LM(Y*L"(\2OHBB*]4&&CX#X@Y5(;$PU>'G%X-(C=G?>'W\K8 MS6L+4V"37B(Y\(6FEE;%#RM$7S@$A/R_1++5!;<&"DN,M=^!551^R0O7\I&L MV>[G\G"G7EZ!U;:.KN?V? 0#X.,$)$Z%UM5[7D83V@I)\-#7#"D>)_=5U[20 MSI NP\&T!GX56+3?- 0A?\5 2JL2[4GM)T,-[*+ M"(RC5%\C&'D#.!*[L"ZI6 MN1 :FMJA=5V8%GUID&S(;*"@YNCL'A=\BQ5R/QU]PF3*PYQ_TN1<)0O@2*<6 M\8$*F8K4#S-/EO]!HD2D1^:0KJE28&5L,^HI,$H3X [L9F-Z*PXKOLN+CT'& M$:,Y@SQHC:&VG;?JSC;/E$'%$*R7BAJ*KKDZCWNTD\OYX$ !*!L1:QE)0S>? MFW/B&G2&X83%OL366<6"):$*6A-$8A(]LI,['>(_Q*W,W(W^#:1BC?9.7ZGR MR=5:FF[51/QR6'_M=QR2)=O:;#,_Z +'A4@KD#X+EL5CQ_6, /KL4+E!=^42 M8=(2FRA-15W'PQ\*$ 5G"\W0RW5+WX^$ KY=N'5ES:B+CQHS6-"9;39/EW( MY4Y!-,@G!"N):@#P6!
EQ9'G'+GW/;':?6!4UQM!:G@*":#DVVO M&J'H8?M2.@Y%)CSQ3,P:9JG8&F)+PR]TPQ:;BUQBTR$AC!Q0]S0P'=!WB2#> MMNRMP2F>S@D#9M1ODD'6A^AA612NQ0(RJ8MM[J/'^J=\4D32#5UTT%J^).AZ M#Z_F0-@]4A#;?:5#B':L+-*/R20\+5N<9ESRA*-,3IG.XO/1:M)?2E%J)*XZ M;-'4PN(9B<%@<(J.=ZBPP1\D/<57!.\?N/82ZMG]P#--Z;0UGDZG_4,W8[C/ M]^)R?'HQPU\8\F \V@0\<3NR;RH*BC9=Z,83+\[/I- M\FQZ8Y#8R)U+KN'IOUM$,7[,KSV1R /*4':G-T;J]-PA3:)J1PB[Y^.4IE1. MN)G#@Z8OX"LNGGB*2+WA\#%PU+"]6'EKHF$&KJUW])EC87\J ZE M)W"?T<#DN[S!W5GG.=G="8S%H@VIRH@),.EX?HW'>8I3*Z-//$0L*%R5"IFN M[(KGIMK#[]'S#S3N7#I)Y^9WH \X(+?=2?^S*M:U-7:U%?_HG'F?3WCB?=TG M.1)\NM?HZ1J%&Q.Q46(>N\)#+_Q@I&+K(/*HGK1G -F1 7H6<-"E:+/Z$])' MEJ7.%U&519YON,ZW;?WV?7RDA):;MHA(KMIK>-3\GI6K1CP?D^ M<$\T(R3QEIAW"%M+)".VL42& :F(;7<(1_DP+^Q$=[*0#!M476*,?,.8]7!J MU:+[+EBV+M+(*LZ-"'/0J63#;E[T(4,99Q<.LF!,AU/? M$CDY>+?XA_P_V.*K(>"^L*#L( YFXEV$AVT)7%*-=3EY0.>)N">QL5'Q\I=S M;=>=3+#XH@;%OM1/5,7QDL+'.YBN^>>C9\FJ,* 5\:)_8#^Y/,:?IO>=_%LS MX)-J0NIGTT/WW5\-ZUYY_\\#RU<^?XYO(]&Q6VE CKL-\_6YW=2OD!9*5NDH MOARTK_[VPG\;H7TQ.O'<-XA+GXK_/U&9'/J!\63P*S"@=L6_=1,7!"6(/PAW MH]W/Z??Q5^1^>OPM'O%8:?1:HY98.IU6$#J#(_KD$N ME*,)^+ZT. JF%]J@^Y\,[OX+4$L#!!0 ( )F%IUAET@_Y/P( )D% 9 M >&PO=V]R:W-H965TC9.QP$J6J4%Z\%& :/@*0](#$&?7* MG*T%T23/I.B0M-F&S2[9^3KQB3H)NA%<5PI] MXB64S_'8:!Z$QWOAL_@LX0V1(Y1$[U SQV M79XN/4YG>_=*-:2 :6":4X'<09"_?A5-PH_'O/XGLF?.T\%Y>HX]_V9&#>6% M8$=M>NS$8>U$V>51%(9QAG>'^O_,NAQ/GI*\+GSPRAG(K6M^A0K16@MM.M,M M*S,[0=H$<[X10N\#6V"8QOEO4$L#!!0 ( )F%IU@FVB\.1 ( (H& 9 M >&PO=V]R:W-H965TX_/=>1+W KYK$H MC5XJQE7BE5K72]]760D55G>B!F[>Y$)66)NI+'Q52\#$)57,#X-@[E>8(A CANF=Z+]!GT],\O+ M!%/N%[5=;/310UFCM*CZ9&-04=X]\4M_#B<)AG,^(>P30N?=;>0L/V.-TUB* M%DD;;6AVX$IUV4:.!#UC>H6AR@\(@G([P MHJ'CM'37<, 38+]['9RJHU61-3Z_T/N=,>!.68*1L1F@]ALE/-= M\-LKY,:A;\G-![GY5:?V!-+<(GS!;9SYEMMB<%M]RP])\+$#: /,^%T(?)W:#X?.3_@%02P,$% @ F86G6(BF&C/F"0 M$QX !D !X;"]W;W)K&ULU5E;<]LZ#OXK')_9 M,\F,Z]S;])+,)&EZM@_MR33M[L/./C 2;/-4(E62BI-_OQ] 2I93Q[W->=B7 MQ))( 0^? "D5POG/X8_-B9R<45SM]%)*4Y,-QEGE:7HR.MM[Y<>XS7[PM3T:[;!!55$26H/'OEBZHJE@0S/B298YZE;QQ^+N3_D;. MCK//\9'0\4B5-=5O%#V[Q3\KG.6)YA:N"_%6+M/;H<*2*-D17 MY\VPH#8V_==WV0^##<>[CVS8SQOVQ>ZD2*Q\K:,^?>7=0GE>#6G\0XXJNV&< ML1R4Z^CQU&!?/+U.P5!NJJ[-S)JI*;2-ZJPH7&NCL3-UY2I3& IJJ_NU_6HG M0C4+V"FRFO.D9O\1-0?JG;-Q'M2E+:EP2/RUAWX/V^_[3W=?;G!VL/>VL--TD_/=3"!8W;%LFW4C/!U1OZ$&*5MJ2Z<#7!# MF>Y\G!/2IW!UH^T]NZAP"*,-5/*OO! 7-[K2MB"5Z$2+: 2JF/>1&JL(68]L M#S" D/!1-H)WO*@//[");?0T9]*X)64LKDEM52Z$[;$<[+LE(?.*SW-7E>3# M[[\=[^\]>ZGH2VOBO0(5BIPX]T2J3L F!O:#TXI&_#CX0=V%#G,U!5^&G]"E MM"?56MV6!I(G$KS^\C']4V,1.:.KH25P7]6RICEY,E;--7QZ0V05?-Q #2)^ M+]9=)&A@A^#$EP*#A8ESN]/HX)L9&F%4/'&=L M*I'8.1'^]"4.7=T+>N]5Z91UL?.IPMD[P99=W!]95#/&*XJT M-F@IWM^5G[BGQO6%QKB^Z#EXRYR^!V0:*CR[]0 M?OND^$'R_%W^_F 381(IC?^R7M6SO+= 9MLZ)F.^I[I M:&.SL]+2K.N5-F_?0*N;BF?BJ%0#^P+4EJA>[4!EVDL"Q9DRJ#44'GJEH,#[[)DT][3S[=Z(I/05+D M,D13Y\Q?D;!BU+/>J&<;15[33!R_SICOVRET M>DU!$IHP4;4!T0'BD& M_#G%<,D//=WR<)VKSB"1EO(>4GK3>M1( 0W\YHI^E6M]EPS9W_Q@4%F7?M\$ M_>,>9<<;L?).G"LM)JM\CQ,/;KVUMY1;AG4P_%M$KQSC>7^,YQMU?4"ALA%% M[VT(+1P_F'[1>-M2^W+M"7Y=*@ZR+)/+7N3-V?6Y,ANV?6H8(OT0<';]J6_' MW[N)2'JR^WP,\5+H/NH[2EW*_DOU%HV-N\V\C,1YY:=TT''%=F.1TL[8!MC39YPH-#6#LFJ]:DZ4OH*$\16-G> M8#9:4HOH-HFH\GEH:/[08-20@*['3 U7/M@U^RH+6X#834&G]:6/'46Q#/?-J]#N[N*XF_%( F6.ZV7OO/K M_=D3A?H+)2N@)*7FY6N7>JIDDZY3[Y2<*8^^M)KAF^I:[]")>@/YCP$]>0C5 MVI9=@R;^RLPA(\$2IJEIE\1/C7F -V:HII+E4T92SV)[1[E)59>:1SU=NB;E MC93]VL3N[%GBVGZ1QY%[[LD3"6*U-/GZ%G"5"B!O'?!02ME*WR##,)J.(/%= MHI%_,IYZ2E@8=)/2)N;N98@TAE<_"G['+*U*1\EL><4N'<_R_&LG64'[>Z;B M#>S?Q^396.763'V@QGFI"%L?,;H7:O]X=_O%5\2>EHFWNIU?$3S+QQ2D&>T9 M*QU$NJFV:_&&WEFA^>4#>5,X>&_>;M^60T&Z8'[E,^%F3;K7F+7@]%,TG &C^F]]@R.FUX$ \VKL^I?O>@ MB4\>+HP,_G.T7]%UK2DM&],TP U,S/2<( O*A?L'B!=;AH4K\<8#G.87JXIM MXW>=7X5DZ7 3'I#:%*; -_S6XMN4=K *AHX),SQ_2-3AF#F'\1.]DXZ!+9+! M:9S.0ZODV3/G_RO7K6O3=P8?ZFKR,_D["U;0?P<^ M_1]02P,$% @ F86G6!$!>4$#!P DA< !D !X;"]W;W)K&ULW5C=;]LV$/]7""\H;$"-1>H[30PXR=H52(:@:;N'80^R M3-M")=$5J;C97[\[ZL.R;-D)UI?MP99('N^.O-]]Z7(C\F]RQ;DB/](DDU># ME5+KB_%81BN>AO)E"9C9IKN. WC;#"YU',/ M^>12%"J),_Z0$UFD:9@_7_-$;*X&=%!/?(J7*X43X\GE.ESR1ZZ^K!]R&(T; M+O,XY9F,149ROK@:3.G%M8?TFN!KS#>R]4[P)#,AON'@X_QJ8*)"/.&10@XA M/)[X#4\29 1J?*]X#AJ1N+']7G-_K\\.9YF%DM^(Y(]XKE97 W] YGP1%HGZ M)#:_\>H\#O*+1"+U/]F4M)X](%$AE4BKS:!!&F?E,_Q1W4-K@V_V;!J;U M+@5I+6]#%4XN<[$A.5(#-WS11]6[0;DX0Z,\JAQ68]BG)A^S)RX5W+*2),SF MY'T8Y^1KF!278P4:()]Q5$F[+J6Q M'FD6N1>96DGR:S;G\]W]8]"\49_5ZE^SHPSOP_R<6-0@S&3V$7Y6G^X,5D= 0/ M?>?L7;WJD!L.&B[B"$Z$5WO+UT+&BMB&:S%B-_3U$^==\N7\\9PHT!=@_4RH M93!J-B1#:K.V*%@V7;_<(Q7(*2-$6F1Q%*_AR/K2 [/%(1@U[WY X6SY6N2H MX4R \8AM&H[-" W(D-ET2POS%C/)9Z'@%@+3\"R+6"89VJ:U)8)YRS7)[[T@ MN^BNS?E,$;G%!S4-LZ5M]UDMEUJ\AO8,AJ729ZCV6:5XVVA(@-KOP_W_B-_ M\!AB%Y (E]&Y"EQUW#[\NH85,!+L7;AKV";MXMID1 M."W\6LZ6 2Q19P_"+DR[-F$ 8=MJB8-YQ[6V@&#,8([V80T(E_D=0#!J>'"B M(RG :5* -#F>*X M:$P*99R.LR71Z)!$YXQ,0=#F9*DA5FR%5XA&4^#Z H4_:8"!KACG)2<].42M M0E5F!_2'K,N5K*LC:4Z@B-Z1E587L$MM> *>DI85R"LRTHD,=->(HJSF?J\% M[LZ5V&BY5)___1R25S@L U^QZ:%DLWW;I=EU1,=PP=6&/OB#;=B09P#O(_1 M:K(JK9SPPZZ[8_; ;%(_NVX(7ACX.K1 EK(9$#$+/(Q"F&BR2^V+S =/(=FSK^>1H6.C?2T? M+IB:[J@.L67P0"M#E/E1U M3G]567Y46G]9'K5$ISNBU?&B_62%?B+R]0&P4WZTFZI"1V^1[%-=YOA*3A= MU27?Q>$L+I%]R(Y')?3;<2^3@CQ,9E 5'C+DHFG.PZUFR58SDFKW!2M WFPE MVMDS9,:\JC>W_5$ X-L=W0,(GRM_(8L" Y+C&2QL^TXT@=CE[34X+VK^VNGZ6./7 M:?0ZPU>T=.V(U=.3=5LS9ALFQ71/*:L2?T4"I0$D$@]26 G70XG_9R#V (X@ MW+E0PM">7%PMOAXC96_5&?:T6KNMU8E&"Q/]H0L_W6+M9OSCW56GF^IIK@+/ M,!U/6Y0"HG?=G9F^X4(+>2@5C%O?2>$"E_IKL(3\662J_&3:S#8?G*?E=]8M M>?FU&DRSQ!XZX0O8:IY[T"CEY1?@0U M2,.5)!K6\^ JNKS.W7Z_X7<.6_-L3%PD*Z6^NX\OY3P('2$04%B'P/#O$6Y M" >$-/[J,8/!I3-\/MZC?_:Q8RPK9N!&B0=>VFH>3 )2PIJUPMZJ[2_0QY,Y MO$()XW_)MM\;!J1HC55U;XP,:BZ[?_;4Y^$M!G%O$'O>G2//\B.S;#'3:DNT MVXUH;N!#]=9(CDLGRIW5N,K1SBZNF6"R '+G*^!&U8V2(*TAKRZ_KNO,5O^(K(5^5M)4AGV0)Y;_M1\A[(!_OR5_')P&_,GU!DHB2 M.(S3$WC)D(S$XR6OX'W3&R;YW\S5"\68I5&"EZPK'UF2I0:#.>@FU)I\YA)S MQ)D@=S@)M<_/'U>0E_\"= ]:;0JP!B2Y'02921):3J9.MDXGIB2;)0J M#8G3D*;1F,2X[."?I08AD^F$)GGN1I.)7S^A1#8HD;U9B:NBT"V2^96S%1?< MOJ+(2<"W*L)Z7^+@ZW]59LEV&JW]88&Z$6H'\+,&P1P\/.%+8GQ2LRD*$>$@ MSV@RS88<#%NBE";Q&/6D8Y3S(ZQ!:US7@-*T0"8T'\63RHQ_9AW80YS=*IKZ"09EEV2N1\$#E_L\B?C.6US\)2J[(M M+'E@6C-I=UWL3!S3_"3^ZYH?!+3NJB:F4EOCI2TJ)C<8L=<5_*W.Y.[]NTD< MC3\8 @/+IF>YW;-D'4N*IH5H\?IV&$>22=&[]N"VT@"D[FY\<#?^R_IQ56*W M(!Y?;/NAKB@*;QKP#[C8_?>RW+]ES'IF*]AP*5U^^HIO\"I1I:M+.D;MW7\R M#O?*^)/3)\*5"S<&@Z9$XKMXEM HC/Z2%(;^ YV8AN/)0.M828Z>O?PUZ(WO;]R9;J7MFH!A=FBAKKK. MX;"]Z[\PBY@60P2LT32\&..-H[N>IONPJO%]Q$I9[$K\L,(V$+3;@.MKI>S^ MPSD8&LO%/U!+ P04 " "9A:=8!-'96Q8$ ")"@ &0 'AL+W=OI/>\._,Y@IP_&Q%JREO*;G7PJYUY@%0(.A;$2*/X>8 6< M6T&HQO=>IC=<:8&'X[WT#\YVM&5--:PD_\I*4\V]W",E;&C+S1>Y^P5Z>YR" MA>3:?? 30-0#(J=W=Y'3\CTU=#%3 M4/8W2[,"9ZM"H'!/6*7=&X2Y#G%E\$H:*+5MS($NMP6ARO')Q3W&F+V=C M@S=:W+CHI5]WTJ.?2(_)9RE,I:[Y-?,1,N;AX+WI9,;,E'*T\G$\8R"7L1SZH<8MY;GQ \RQ_,D] ,4 M=J:FI$--2<_6E/-UY#G]-X_8(V@X55S.7O(?BHNM*,^26D$A%3XNG6NL=^7) MLK,Y&QYXH7(P4RD 4G>O%MA7ZU0].BY!6%7N'?3PP?LGU,%64AN;!0KC4;1@ M@RSK/G<47UF?;$%@$G!W$2WQS6?VV;'-"XG\))^X;]:'R&NBSEEU[\>-XUZ2A05LF-.&P06@PFJ!_5=?X=!,C M&]=LK*7!C''#"GM%4/8 [F^D-/N)O6#H/A=_ U!+ P04 " "9A:=8BCJ<;Y1^-#6BA>=&2+,(:FO;61B:O,:&F5/5HB1+J73#+&UU%9I6(RM\ M4"/")(JF8<.X#+*Y/[O5V5QU5G")MQI,US1,OZQ0J,TBB(/AX(Y7M74'839O M687W:+^UMYIVX8A2\ :EX4J"QG(1+./9:N+\O<-WCANSLP97R5JI1[>Y+A9! MY BAP-PZ!$:_)[Q$(1P0T?B]Q0S&E"YP=SV@?_:U4RUK9O!2B1^\L/4BN B@ MP))UPMZIS5?B,@ MV08DGG>?R+.\8I9EHADC<@4KA1TM8&/LD"BW_C0Z(S0 MQB>01,GD %XZUIAZO/1_-3)9P+6T3%:<:H6E,6@-7'&3"V4ZC?!SN396TTOY MM>\:^BR3_5F<>F:F93DN I*'0?V$0?;A73R-/AZH83+6,#F$GMV3&HN.2*L2 MAGKV<3R(LI_C0XU0*D'RY+("ZYX!>*NDR[%DS&NZ,33 )53#51:=]MYDMK5& MA*9_ ^C> % '\WIL(1Q1I*U59Z@!YG@&#\HR 9>J:9E\@1433.8(S+CBKC#' M9HUZB$[A/<33Z4ER'@'ID%0F21=:H\Q?@'HEC6!>WT?Q]/SX%=@K'CU2'*6P MKR/ACHH:U)6?%09RU4G;"VH\'BDL# DL*C4[/SP+0_7SH M-U:U7I-K94GA?EG32$7M',A>*F6'C4LP#NGL#U!+ P04 " "9A:=8_0WY MOOL" !@!@ &0 'AL+W=O\0RD=$^O86[W?J[M2J0X#OB!6#2O&$Q./L3]Z.:(\EZKO'>,?3+G M]YC5$D$OP=_:^<)G<:&*)!WB^GGY=\N!*7#(TN M!MRM3-//F@GIE>\A"TW&PO=V]R:W-H965TL*P)#'F@L]#RIC=M,PU$4%-=47<@<";S92 MU=3@5FU#O5- 2R=4\S")HCRL*1/!8N;.;M5B)AO#F8!;1713UU0=EL#E?A[$ M07?PE6TK8P_"Q6Q'MW 'YMON5N$N[%%*5H/03 JB8#,/KN/I,K/\CN%/!GM] M1!/KR5K*>[OY5,Z#R!H$' IC$2@N#W #G%L@-.-[BQGT*JW@,=VA?W2^HR]K MJN%&\K]8::IY, E("1O:$3=QK3R3JO:E4!V4B.G&;2FG(H"[\I&.7F\WX%BLAP1*DH4*7A3.ED_37QC;ZDJ M._::"H%.(?B^8D7ESA04G&K--JQP(IK@<+'!.-8M73"*9\%@/AA,&$F *H%* M-*&;#0X$A+#<6))"HS126G)6.BAM<,&Y8[15P\^\C>-4B"* UDI*C3W\5I)0_E/TD%_(8#R>#.V:C,;O4T>EHW@!KP;'0BK)%E\+3=Z^F21QS7[CR+4O??]I"ACP1\L70< M\+BS]?(D@7\=_7+] UR-6A1KN%.6.J7Y!)5:XZVR>)3DJ6/V+IAW!RS5<^7< MUMZ/0?OL _;>__*>OD_:S&99WE*3M*N%/.ORGB2^%O+1)(^'+BDX)3##>_LC M)&E>IE4JX@-OBT J6^/8)]ABHGV)]\SXSK:SBXJ#"]GEE48T\>ZH&$I8&Z(! M \,,0SCJ&O)Y1UV<&K#AT7M8@]JZ5U^C"8TP_FGL3_L/BVO_GCZQ^Z\2U+:U M3G'8H&AT<3D.B/(OO=\8N7.OZUH:?*L=6>''$2C+@/<;*4VWL0KZSZW%?U!+ M P04 " "9A:=8NWGA;2L# Y!P &0 'AL+W=OE-;6TR@R>8D5,Q>J M1DE_-DI7S-)2;R-3:V2%!U4B2N)X'%6,RV Q\WLKO9BIQ@HN<:7!-%7%])\E M"K6;!X/@:>.6;TOK-J+%K&9;O$/[K5YI6D4]2\$KE(8K"1HW\^!J,%T.G;TW M^,YQ9P[FX#Q9*W7O%I^+>1 [02@PMXZ!T?" URB$(R(9OSO.H#_2 0_G3^P? MO>_DRYH9O%;B!R]L.0^R K7*V'\%W:=;1Q WABKJ@Y, M"BHNVY$]=G'X'T#2 1*ONSW(JWS/+%O,M-J!=M;$YB;>58\F<5RZI-Q937\Y MX>SBAO+^6>:J0JA1PUW)-,+KKVPMT+R919:.<(91WM$M6[KD&;H4OBAI2P,? M9('%,3XB:;V^Y$G?,CE+^(7I"T@'(21Q,CS#E_;^IIXO?8;O ].2RZV!5>_M MSZNUL9K*X]]1*JH+OVX,%L"EM[IF(F_$$7#)#,]; M$!>-)=L^&GWN3X7@K,C3(;BB"WM*NSS27CRC/?]7^[K77G3:)54NWU>N\;GD M!IB!C1+4; R\]GRJ,80S(>!CCK7M+!W5'LM J*HR;5# MSYBUFJ\;Z^YC9U)14*@MY/>E$@5J,^WRFF;A9# )TW3HIH-L'*;#!%;*HK2< MB39NU %;\%O7R@I0M0NR\=%@.Z8+ ^-)',;)"++L,HR'X[Y6TLLPS8A_=.FF M\61$R^S0^3Z:3XI>0GR19.V0]#S'NZ=N2730SBC*6]^T#?E.*6H[6[_;OPM7 M;3O/"J5NR\D_@1N"QA>340"Z;=3MPJK:-\>ULM1J_;2DMPVU,Z#_&T4! M[!;N@/ZU7/P%4$L#!!0 ( )F%IUBG]&N8Y ( 'L& 9 >&PO=V]R M:W-H965TO3V9;J9YUCFC@M2R$GGNY M,=74]W628\ET7U8HZ"23JF2&EFKMZTHA2QVH+/PP",9^R;CPXIG;NU?Q3&Y, MP07>*]";LF1JM\!";N?>P-MO//!U;NR&'\\JML9'--^K>T4KOV5)>8E"_:O+G7)9,8U+6?SDJ J. $(&T#HXJX=N2@_,\/BF9);4-:: MV.S$I>K0%!P7]E(>C:)33C@3WPB#"K4!)E*0)D<%7"2R1.C@*]V\QFX/!#5' MYXFM"M3=F6_(K07[2>-B4;L(3[B(X%8*DVOX(E),_\7[%&X;<[B/>1&>);QE MJ@_1H =A$ [/\$5M#2+'%YW@NW-IW]1IVSI\J3/7\.MZI8VBSOE]+.V:=7B< MU;ZFJ:Y8@G./GHM&]8)>_/'#8!Q\.A/SL(UY>(X]?J37F6X*!)E!'?]=A8H9 M+M:PE,U]-GGT8+6CS;*2 H4YELEY7T\Y0B8+>K^6W=@^ )W+K09R#,F>6-M8 M^/_V$^F)@YM<(4)9=PC:#@&ZWR1O+]@QT21RDPX7!)$;30O=G<*3@Q\VV'NX M@[9MW@1S 5$OG$0T3BZ#M],F1.@,@[!+W\&XVU3WQ*,8D%4T)JO) QINJJ-,+4VM+NMLE[7@O)F7LLR57-M'1:8 M$33H7XX\4+74U0LC*R&PO=V]R:W-H965TU*%I B%XL6U9J&W"2#BNP D&2KA^&?J"ELT14(C62 MCNO^^ATI6?8Z1T _#0BBX^GNX7-O.B_V4GW3%:*![TTM]-*KC&FO@T#G%39, M7\D6!;W92M4P0T=5!KI5R KGU-1!'(:SH&%<>*N%T]VKU4+N3,T%WBO0NZ9A MZG"#M=POO<@[*AYX61FK"%:+EI7XB.9S>Z_H% PH!6]0:"X%*-PNO75T?3.U M]L[@3XY[?2:#C60CY3=[^%@LO= 2PAIS8Q$8/9[Q%NO: A&-OWM,;[C2.I[+ M1_3?7.P4RX9IO)7U%UZ8:NG-/2APRW:U>9#[W[&/QQ',9:W=?]AWMDGJ0;[3 M1C:],S%HN.B>['N?AS.'>?B"0]P[Q(YW=Y%C><<,6RV4W(.RUH1F!1>J\R9R M7-BB/!I%;SGYF=4#/J/8H89!>/O$-C7J=XO $+ZU"O(>ZZ;#BE_ FL G*4RE MX8,HL/BW?T"\!G+QD=Q-/ KXB:DKF$0^Q&&\UC5W? M%<7I&G3%6PW<:&B5 M+':YT3[0Q\79F$HA0M-U$=HN NH! C@V 3!16&$">Z:!_K:RIN\*=2VWU\N= M)@/][AJ>'-)Y/_Z,Y% ^"V[C>304EH;7I,S\69*0%*61/T\S^"@,JBX>5L,L M\\,HLH]IE,&3-*0CKW3NSZ93*R61/\GF\&NY[!,!.2E*J0[_7S[(3#8;^F+* MYF"3,$_]-)Q8*4G\;!["AV8C:_ZCJZ^]?)WGJ#5DH9]-8\AF?A+-1Q(S,@?3 M80ZFHW/PV.T/.P###*^U1NHH2^@/SC:\YH:COC08H]@O#T:75RY*X*);A38! MW2KC/ZBHYD+%\R,]=J)7G^C]IT@_5>0.=S+M-3F&47&BH M<4NNX55*.5?==NP.1K9N(VVDH49S8D4_*%!9 WJ_E=(<#_:"X2?*ZA]02P,$ M% @ F86G6(;I$3): @ ;04 !D !X;"]W;W)K&ULC53?;],P$/Y7K" AD*!ITW9#(XW4;B#V,%2M AX0#VYR2:PY=K O M[2;QQW.VTU"DKO 2_[K[ON_N0\/M2+>@ MZ*74IN%(1U/%MC7 "^_4R#@9CR_BA@L59:F_6YLLU1U*H6!MF.V:AING%4B] M7T23Z'!Q+ZH:W462?Q7N\_01^/%YAK:?V7[8/M)1GGG47=],ZDH!$J MK/RQS\.1PW3RC$/2.R1>=R#R*F\X\BPU>L^,LR8TM_&A>F\2)Y0KR@8-O0KR MPVP3BL%TR3:B4J(4.5?(EGFN.X5"56RMI<@%6/:6+8M"N%QRR6Z$S:6VG:&' M5S> 7$C[.HV1)#G@.._I5X$^>89^RNZTPMJR#ZJ XF__F$(9XDD.\:R2LX!W MW(S8=/*&)>-D%FHN\(E9J.A/PC,$TR%A4T\P?8;@5&:^+[<6#9'].)6!@#<[ MC>>:[LJV/(=%1%UEP>P@REZ^F%R,WY]1.QO4SLZA9Y^[9@O&57?;67JS]I 3 MI_O7D*!3N@/RW".[WMYEDS3>G1 S'\3,_U,,S13#?0[[PC@M)VL4I,S_*24^ M:H$&3.4;W3)?J] -P^TP2Y:AA?Z8AT%$OU EE&422G(=CRZ)UX3F#@?4K6^H MK49J3[^M:1Z"<0;T7FJ-AX,C&"9L]AM02P,$% @ F86G6-G,VVOF!@ MQ"T !D !X;"]W;W)K&ULM5IM;]LV$/XKA%<, M+5#'XHMDJTL,I [:!>B&H%FZ#\,^*#:3")5$3Z23=K]^E.R:EDB=PDS^DECV MW?&Y$_D\/(FG3Z+\*A\X5^A;GA7R;/2@U/K=9"*7#SQ/Y(E8\T+_G8J.RM.!7)9*;/$_*[^]Y)I[. M1GCTXXO/Z?V#JKZ8S$_7R3V_YNIF?57JJ\D^RBK->2%34:"2WYV-SO&[11A5 M#K7%EY0_R8//J$KE5HBOU<7EZFP45(AXQI>J"I'H?X]\P;.LBJ1Q_+,+.MJ/ M63D>?OX1_4.=O$[F-I%\(;(_TY5Z.!O-1FC%[Y)-ICZ+IU_Y+J&PBK<4F:S_ MHJ>=;3!"RXU4(M\Y:P1Y6FS_)]]VA3APP*S#@>PNDMN,H\.@ MKR_TEVDFWVBWF^L+]/K5&_0*I07ZXT%LI XA3R=*)U+!F2QWH-]O09,.T'JH M$T3Q6T0"PASN"]C]@B_W[K3I/M'EV]>0[&M(ZGBT,]ZM0M=\N2E3E7+Y%IT_ MZHRK2HSU.AO+1)?DKT_:"5TJGLN_70EO1V#N$:JU_$ZNDR4_&^G%*GGYR$?S MGW_"4?"+*_V!@C6*0??%H%#T^7DN2I7^RU=H(:1RI;KUCVK_BF4>YW$PI?I& M/![F8%MA0D@8[\T:Z-@>'0/1?2SU?$4WA6:\K 99SV07RFV<\&!\&K0@VB;3 MP TOW,,+_>!MEY<+7V@-/F9!NX@.HXC,W!BC/<8(OL&9IG[-"ASIR8T6)5^E MJL;I0AE9 -I%A"P:^*9[?%,0GV$P%Z"I-5P*\-TC:AI .A45D,ZI8/.>XB-8@/ MXS9(AQ'M &G4#_?(GP\[[F)!] B:-#$:#<2P",(,B1W*I^=AV ;F,(NG8=0! MSB@@AB5PP?4ZN4N7B:IWH!=\+63J7C!@(%]Z&"I:,VTCJC@Z.EUB4+B]"S)0 MM&9!C(IC6,:?09BV2K/H@&9V:=A6$8V[R,A(.8:UW(,N9S;,-D;;I&.?BXW\ M8E#0O-@R[J#\_$ENA,2786C8.LX"0#B$G1LB)9R_;R9#$;E,MD)!)$Z"17 (W MLAX,2>PN=8Q96VJ<5E$73J.$I$<)O7C2ECNKEI!)$Z.10P++80]/VOJ&:1#- MVL <9D$0=D4E3L"#=IY#16L^CS,Z M2X.C4R<%I=RW($-%:Q;$B#J%1?T9CRAMR8Z#]CIR&)$X[%A*U.@Z]6QS.WF3 MV@VLA1$R:0(\>, +M[@>O$GM[G7+V\\P'$8DQEW5,])(86EEZTV1TE\']K0=/,KMU'1/67NPN*T8[:(@9.60]NU&&32Q&A$D<&B"%,ELU6.!918P(CU3C$B8=3QS)<9062P(/XNBG%NWGZG MYNVW$^R@7>A0T9JI'[Q.94C]Q,ENR=9=C[2[A M<5Z:A]D!,,_FN/M%>?\[7GBLE^9BU)W!#;0/$?>WS_!@+TW&*#/K468OMK;5 MUTKG&"^)F=%Q!NMX#[$[M-NU5H[18(=&Z$-8Z ]./IT7*U3)@?LPE/,N^@I;I^'@@=Z:2)F MCQ-Z-OV=>A#:_;QU<@H>[*7)F%U+Z'D*##AF9??]KG-6Q]ATA >GQGHV'3Z: M$/8_;8>'>VDZ9N\1PGL/6!-VSE%SP=AGN.!!?).8'!RQK&ULK59A;]HP$/TK5C9-K;0V(0FL8A )R+I56B?4JMV':1],\_WWI&[##92/>@E@"&/&1=ZZ"R-6?5=5R=+ MR*@^ERL0>&R&&PU6= &W8.Y64X4KMV9)609",RF(@OG0&77Z M<<_&%P'W##:Z<4VLDIF4#W9QE0X=SR8$'!)C&2C^K&$"G%LB3.-/Q>G41UI@ M\WK+?EEH1RTSJF$B^4^6FN70N7!("G.: 05(#@I8"P H2%,Z64PH>8&AH- ME-P09:.1S5X49A9HE,^$+?NM47B7(H:!05?<("O49.8Z81+G2O0Y-=HAC7!!^=WF^,E9=A.:9M) M7Z]H D,'NX4&M08G^O"NT_,^M]GUEF3Q&Y'M6!G65H;'V*.O2FI-[@1V2,[^ M0DJ^XQITFX$E4:\@LLUS'9V%7N!YWL!=-[TY>N!KO6DYM.=?- _=D=VM97>/ MRAYQ;._X) /!04$2!2DS!/]'K<)+JFXCAWW)1P][K>0W(MOQI5?[TCOJRY0^ ME2W-VB*D.,/1]X -;<:!L+HSMIG4>U:HCE=^]KQZ'K@7$1]-\;4&N(U1D(%: M%"-5DT3FPI3]L]ZMI_:H&%9[^^-.?U(.W_\TY:L =L<%$YIPF".E=_X)*ZC* M\5HNC%P5 VGTMIM@M[0/V.$_T#4$L#!!0 ( )F% MIUB>]C:AO04 &,A 9 >&PO=V]R:W-H965TGH M$SPY"_S"H;3XD="M:!R#(I4[QAZ+DXO%Z<@O%-&4SF41@JA_&WI&T[2(I'3\ M6P4=U=!U0YH)V1V!*\(?J21W*04W=+[FB4RH (FZ*SFX MS54[I%65U@$%CLSB87_2T6TQ"J.>$H]KV6.G[.],DO2YLHZ-"P?C M(,0=>:;5./+'/?KB6E_\$GT#2AF;50K\KE:+481BN]1)+77BE'K&LHSR$B@K MLJ+<)LX98>CX=Z!@K62AK]GJOSD.JDLV.A"M]ZC* AWF+4@S.HZ0O=^!U,ABI>4X7?%>HR M:>O4W(5N\.Y'!6@RU1#M,FF+UM2%;NR^B G0I*BU=2U(=K2NIBUTXW8X%Z % MGV:SVD#WM\\A@L3HPW#*(JZS6JS&H_M[8HTV)&3DWM3H0K?>H;B[KAE M,PJ#'ND:P^(=%FYD=]&C5ZD1N]PPF!+$M8&!AZ;591#W21ABYR M0[>$A)!$TMU>5;;.DWFR4J*+4=0JUQEP\&;*@:*UT]<\1]';;RXYIPR#"W*@ M:.V"Z$D#3&\G!6 MF+B-)]T)I,4(36!H%XLUD[&;R?NA EM@V]U! IMX-0MK M,7(45C,8NQD\G!+8@E2CF+8U;Y_6QI:SF[IGC*\85X0 =ZSGA8([PM A\%#1 MVOEJ@N/@S9F G9.$P04Y4+1V0?0< ;OG"*]YZ6!9ID\FW1UQBQ4,)T%?QVJJ M8_G-E[C#7CQ\X,KPA^27("4WBLW_WBL\N6[-_J[$\E6Y4OQ M.R8ER\K#)24+R@L#]?T]8_+II'C/7O^N8O8_4$L#!!0 ( )F%IUAY"4/] MXP( -8) 9 >&PO=V]R:W-H965TD@4@NJUH=*5;_V;,(%K#HVLQUH]^MG)VD6((TJQ@OXXYYS MS[%]8P\W0KZH)8!&KQGC:N0LM5Y=N*Y*EY 1=2Y6P,W,7,B,:-.5"U>M))!9 M 1RK.,R+">+I;:#KC) M<$46\ #Z:74G3<^M668T ZZHX$C"?.1<^A?CV,87 <\4-JK11M;)5(@7V[F9 MC1S/"@(&J;8,Q/RM80R,62(CXW?%Z=0I+;#9?F>_+KP;+U.B8"S8+SK3RY$S M<- ,YB1G^EYL?D+EIV_Y4L%4\8LV5:SGH#176F05V"C(*"__R6NU#@V W_L M@"L _BP@J !!8;145MB:$$V2H10;)&VT8;.-8FT*M'%#N=W%!RW-+#4XG=SP M-2AMMD4K1/@,71,JT3-A.2 Q1]>4$YY2PM -5UKF9=QW-!9<2[,#N9FY)3J7 M5%-0%G%+Y MH,F6 FM2G$S-(F3HSX*>'"3H].4,GB'+TN!2Y,HG5T-7&CA7E MII7TJU(Z_D"Z276. O\;PA[NM<#'W? )I#4\V(:[9A'KE<3U2N*"+_B [S(3 M4M,_,#.KHW2;G1+?:\?;;N2.1;5D-:JM! M%WLR,:?#[)W@@-Z R#:O)4%8$-@OR3H91#'&0W?=--&9YD 3O=I$[[,FM$!S M\S$IS+0>Q)*IWW"#![Z_8Z8SW8%F^K69?J>91Z$):U/>WU,>>U$0[$CO[^V6 MCS'NQW78EJBP%A5V5L2_;TF;LO"8U7 DLBV;46TS^M]JB/9V81"%WNX!ZDQS MH(E!;6)PM&H8[%=#U#@KI9G.= >:B6LS\6'5$.^=\]@+0F]'^GZ4C_VHL5VE M*+=QZ]H7C[F/%I0KQ&!N@-YY9%9(EJ^(LJ/%JKB(IT*;:[UH+LW#"Z0-,/-S M(?1[Q][M]5,N^0M02P,$% @ F86G6+"&=R]8"P OG8 !D !X;"]W M;W)K&ULM9UM;^,V$L>_BN K#BW0QB+UO)<$:!,L MND!;+':[O=>*PR3"VI8KR4D7N ]_DI^&E.01:0[?[-H)]1?'G,@_SM\:7[^5 MU=?Z18C&^V>U7-FV;R;S^O%BUCE]56Y$>OV-T]EMMEG/N^_%\E1?KV>WU[F+J9_W;& =T?L MAOQ5B+=:>NQUL3R4Y=?NR8?'FYG?34DLQ:+I-/+VOU=Q)Y;+3JJ=R-\'U=GI MI-V!\N.C^OM=]&TT#WDM[LKE?XO'YN5FELZ\1_&4;Y?-I_+M5W&(*.KT%N6R MWOWKO1W&^C-OL:V;UU5;YY53>Z5>L>[%Z;W=%M-,6Z6\?/3=7^MFB/:VX_K%]%W;0+ MT]1>OG[TWN=%Y?V5+[?"*Y^\]\4Z7R^*?.E]6-=-M=V/^TGZ^<]U+0Z'_E;D M#\6R: I1>[^+O-Y6XM'+&UGR^WO1Y,6R_J'5^"06VZHJUL_MXR^?[[WOO_O! M^\XKUMZ?+^6V;@7KZWG31MC-<[XX1//+/AI^)IK?\^K*"]B/'O=Y.'+X'7[X MO5B<#@_4P^?MZWIZ4[O>",7O]E&@MHKQ".*W1_Q>_J3;X0-[/VS[06 MU:N8W?[[7RSV_S,6'I&8$FQP"C; U&_W(?XH+_=]42^699<(8Y'OY>*=7'>Y M>;WE89S$\?7\58YI9)B?QAD_#5-F&YYF&Z*SO2M7*U'MUF:3;T0U-D%4P71I MB,248*-3L)%U'D:4P1*)*<'&IV!C=&7;:\#7]BKSL!3MQ>1T<1L+>:\329D5 ML#",>ODW,BI+HG@\_9+3)!,\_435%$_%(F]VU]E[L2GKHAF;)*ICNBY$8DK( MZ2GDU#H)4\I@B<248+-3L!E1$F:#] KCH'\-' Z*0Y^-IR#SX:W?1R?YY>KS ME==4N[?J;Z-OMNCQINM!I:9&*X$.L\Z_@P15P$1J:L 'PQ]NS?(P8.0G%\L M\..TEX5CP]KMPIE+(0-P8#@Y[/*P;MIKX1XD5]MUL2@V^9XE1R>,"AJO$Y&: M&CZ0" OM$Y.41:C4U("!1ACZ_F^2F-$@X]*,]=-R.(AG+#J3E8 1#.>(N[+: ME%7W!OU0GMN,H K&JT*DIL8+1,(2^S0DI1$J-35@X!&&$H!)&J;#-VD_X'X_ M$8?#8A[%P9E,!)9@.$S\4:Y_6NE/%A4S7B,B-77_#(C"??L=-"FE4*FI 0.E MY1']3C@L9+Z"+ M<@D'T.&Q?<:2D@Z5FAHPD Z?*+[H9&PR?,O/_#YZXB>Z-! @&#Y!,.5:?//V M:. ];<]0*BYBO'8NRBH<6(AG]LE*2D!4:FI1'0@HP(LT.LEZD)"3-4IXTM^_ MCPQ+XRP[4T<*@%D"G%DFZTCX\:8+0J6F1@M$$]B;.@$IT5"IJ0%+O@Y>GM'* MP&"8@4&<\'X&ND"5 % EP%'E-_$JEGL]-AH%:96%2DT-%F@FL#=] E*.H5)3 M P:."?""C;D!.;1V& ]]-KAN#L=EB1\E9ZZ;P"$!SB%R.GK_\W2V2KBB\8*Y MP)< \"6P=X0"4GBA4E,#!G@)J%RA8.CX]#?VZ!#5$P?8"''8Z&>D]H8(US7V MREW48$+@F=#>*0I)D89*30T8D":D7DX")RYG MO#HNJ"64/JEB[P^%M)]5<4$N(9!+2.4/A4/K9\RX'!MVWK@,@3A"G#C&TM+( MQ\3UC9?-15DE!)P)[0VDD)1?J-34@(%?0BH#*1PZ0X/+)C9$G2#P1HCSQ@ P M)QU-7-!X?5R43B*@F/(I(P85*30T8P"6B,H^BH7G43TATB#I! (T(!XU> M0IH9F[BV\5*Y**I$0#21O4T4D5(,E9H:,%!,A-=>#')S:!8-,(E*TH5)3 P:TB>P=HVCH& W2U@6O1, K$Y- I@FQAG MFU[RZEF?N*;I.E*IJ:\ P%-L;SS%I(Q$I:8&#(P4VQM/\8CQ-&)]C@Q#K,\8 MJ";6=Y1T"E.XG/'ZN,"@&# HMG>88E+NH5)3 Y;N+)KX2+!.0@[-HC$G%#_3 MI9$ T,3:UA,?C8*T3D.EI@8+W!/;^TPQ*>)0J:D! ^+$>-W'V F-AUX28SP) M!Y?1L7$L#LY\V#X!1DFTC2>NN:/"%8WOC'-!-PG036)O.26D,$.EI@8,,)-0 M64[)T$\:NTUS;!ARGR9 2*)M/7&C31.N:[Q<+JHW"7!.8N]!):1L0Z6F!@QL MDU!Y4,G07!JY@W-DU/E;.!,@DD3;@>(Z_(G+&:^1"XA)I'NH[0VGA/;^:1<@ MDP#()%2&4S)M.*%#U D">"3:AA._R!#%]8V7RT7A)06H2>W]IY248JC4U("! M8E(J_RD=FDO#&SM'!IV_L3,%]$BU32BNYXKB@L:+Y**JD@+0I/;.4TK*+E1J M:L# +BF5\Y0.G:>Q^SQ'AB'W>:; '*FVK<2-W5%>Z-!:ISXNVS:2[E\<5C=?21?4E!0A*[0VFE)1S MJ-345C? .9F]P90-#::Q.T#Q,UT:"0!,IFTRF6WV<5W3]:124U\% *3,WFC* M2)&(2DT-&) HLS>:LJ&#-')#*'ZB2P,!U,FT[2BN;9+BFL9+Z:)NDP%#9?:> M5$:*2E1J:L" 2IF])Y4-/:D^,Z!#U*D!U&3Z)I-.<0J7,UX7%Q24 05E]J93 M1HH]5&IJP%+'.[SVHY6(T[YM"F0+S?%T["BO&!L^A.'&O?6H9+KQ2JU MQ/,)>N+YM$WQJ.1Z07,I:+S^8^R.'@6G6NV,C3MS$66^U!W/UW"@O$!S*S6A M9KY<3IKC^5)W/-_>>CIJD 7M F*8+W7(\\E:Y/E#9VF8F-B8WB2E!GF^AOFT M3TSMC=*$IOE*.6F:YTM=\WR"MGD^;=\\*KE>T%+G/)^L=9X_[43A8WJ3E+KF M^1IFU"X]-1K=TC;-HY+KM;J5((;96T^,N+VOH_Z^URA-AT[3,$VQ M,;U)2@ RT:-7AL[I/KBXF/D2N2BI,+GU+[/WGQAQ]U\W[7_E_K]XOUVCO)PV MH? QO4E*Y#'1M!?RTK K+JYKOEHNBBU,[@G,[%TF1MP+V$DS8"9U V9X]UVC MEO9#PVETS^ZDWR^3&OZRB8Z_AMM[JGZ^Q_#=?$>!Q$/1Z04O< M@_?DU:J5'C70BZR3WK],:O[+)KK_7E0#H.KS>WP1G%1KI+[!C-N;3HRV9S"9 M7"]HB9'P+KV:.3SM/$VN%'1,[RMQ)-29Z/MK4KW"I8R7ADJN%[N$1 &! M+47;5)A,KA>T!$)X&U^]?#QHC.?:,1)2NIE+WRW:?;-KB^#/Q;KVEN*IE?>O MNAM;JOUWI>Z?-.5F]W6C#V73E*O=PQ>1/XJJ&]#^_JDLF^.3[AM,3U]9>_M_ M4$L#!!0 ( )F%IUCC.(Y=MP( !D' 9 >&PO=V]R:W-H965TVV[+]]3L[(0H0JCWL)?&/^[[[[GP^3_92/>@2P)#'B@L]]4ICZ@O?UWD) M%=6GL@:!.VNI*FIPJC:^KA70PH$J[D=!D/H59<++)FYMH;*)W!K.!"P4T=NJ MHNKW%7"YGWJA][1PRS:EL0M^-JGI!I9@[NJ%PIG?L12L J&9%$3!>NI=AA>S MU-H[@^\,]KHW)C:2E90/=G)33+W "@(.N;$,%'\[F 'GE@AE_&HYOW'Y4H;A;7YZICE,O=KZ M4COPLO?OPC3X-)2=_T3V+%=QEZOX$'MV2_=8A 84AC]X\@T\=7#;2'99&(5A MC,>\Z\C\*P,WNF+NG4)0?5W6/CL+59*YF#'M37$(QZCN-T'(Y>R!NP M2I+Q^;"Z4:=N=% =U@W#^UJ0C93#UV;TRFV4!$EX]D+=@%F?C.$U?:!LP&X]?:_-[CMI,'.Z(8EOEV@K 'NKZ4T3Q/;'KO7,/L+4$L#!!0 ( )F%IUCA MI>CGZP( .P' 9 >&PO=V]R:W-H965T*LKDP"F5JJ]=5^8E5%A>\AJ87IEQ46&EAV+N MREH +FQ21=W \Q*WPH0Y6=_.C476YPM%"8.Q0')155B\W@+EJX'C.YN)!S(O ME9EPLWZ-YS !]52/A1ZYK4I!*F"2<(8$S ;.C7\]3$V\#?A.8"6WWI&I9,KY MLQE\*0:.9X" 0JZ, M:/)0R!4B.D,7ZO-9UV2Y.X_;Y1O[.UZUJF6,*0TQ^D M4.7 Z3FH@!E>4/7 5Y]A74]L]').I?U%JW6LYZ!\(16OULF:H"*L>>*7M0]; M"7YT("%8)P3O30C7":$MM"&S98VPPEE?\!42)EJKF1?KC IH401D.AT! H3*L_T^M-D MA$Y/SM )(@P]EGPA,2MDWU4:RXB[^1KAMD$(#B!\P^(2A?XY"KP@ZD@?'D\? M0=ZFAV_376U&ZTC0.A)8O?" WKV88T;^8'/*SK4C3')*"MP<.E:@L0"I'6HF M^ S=$:8=))BBB9Z$RKKW\V8JE=!G]%>7'PU U U@OMMK6>,^-5V'H5'E//QOA5<$JM+U#5E+\"7 B@V@<]\:);C83.$]'( M)E;6-)IE%E]%/;_O+K=+VX]*XO J;J/>,$7.LC^$U"O'6QGX4!ND. M7D>4G_I^-U[2--BAVP]*KGH'O$M:N.0H MW+TJ0>C6VSA(_S6&+LID#R"(O.1J![,C*HF2J)LS;3G3HYR/7.GO\9VK&Y!W5WFQ,F$8693O0N4UVJ:.Z69J!X;=OSE"O= M[.UKJ:]C$"9 K\\X5YN!Z?CM!9_]!5!+ P04 " "9A:=8/R:$$? " 5 M" &0 'AL+W=OS'4@I!*9)>R&V<\^YYW[D MFL&:BV=9 "CT4E(FATZA5'7CNC(KH,3RFE? ])L%%R56>BN6KJP$X-R"2NH& MGA>[)2;,20?V;"K2 :\5)0RF LFZ++%X'0'EZZ'C.]N#![(LE#EPTT&%ES # M]5A-A=ZY+4M.2F"2<(8$+(;.K7\S3HR]-?A!8"UWULA$,N?\V6SN\J'C&4% M(5.& >O'"L9 J2'2,GYO.)W6I0'NKK?L7VWL.I8YEC#F](GDJA@Z?0?EL, U M50]\_0TV\42&+^-4VE^T;FR33P[*:JEXN0%K!25AS1._;/*P ] \W8!@ PCV M ?$10+@!A#;01ID-:X(53@>"KY$PUIK-+&QN+%I'0YBIXDP)_99HG$I'F&*6 M 9K9EAGSLN(,F)+H"DT%S^M,H28Y'_ZBI#XZ77[<7,BAM9X0R&CAX&$L0*G/3C!S_V/G>E MX#^1O4M(KTU([Q1[V[%8(54 FL.2,$;8$O&%/:A $-[52:.&-[:\9KJMTBB) MHH&[V@VMPRA,O-;HG>2HE1R=E'R;9:+&5!J)ZZ:.!"0B4M:07R(&JDMNPQGM M*+D*_9Z_I_?0RN_'4;?>N-4;G]2K9[>B4-HY\";Y%644D[+S(X\/M49AO">U MP\CO]8_D-FFU)O_2#L#ROS="VH/C=YU2R/6W9F\)8BEO9 DRGC- M5#.$V]/VSKNUH]Y],V\N3#UW="=+1&&AH=YUHA,EFDNHV2A>V3D^YTK?"G99 MZ'L;A#'0[Q>\Z)NX% "** M&0 'AL+W=OG,,9!8*Q:@!8*F71^&/3 2;0N51(^DG6:_?M1')$NBF"BE]Y)8$N^Y/(<4 M[S'-Q0-EW_F6$ %^I$G&+R=;(787TRD/MR3%_#W=D4P^65.68B$OV6;*=XS@ MJ A*DRF:S=QIBN-LLEP4]V[9;KQ.=YL M17YCNESL\(;<$?%U=\ODU;1&B>*49#RF&6!D?3FY@A>!9>4!18L_8_+ CSZ# MG,H]I=_SBYOHT02$HH< LM_![(B29(CR7[\4X%.ZIQYX/'G)_0/!7E) MYAYSLJ+)MS@2V\N)/P$16>-](C[3AS](1"C;>M8$A'LN:%H% MRQZD<5;^QS\J(8X"D#,0@*H U F ]D" 5058+\U@5P%VH4Q)I= AP (O%XP^ M ):WEFCYAT+,(EK2C[-\W.\$DT]C&2>6-YG V2:^3PBXXIP(#LY!_][;@ @< M)_R=?/KU+@!OW[P#;T"<@2];NN7@ M]RPBD2(^T,=#I &82AEJ+="3%M=(B_@)L_? @F< S9"MZ-#JY>&6BH\^/"#A M4'B+C56/K%7@60-X'^(L%N3\HWRM(L60_O51M@"V&CQ?C2[X M#H?DV""#^JWJF5%FBLD@9ZU5+1 MJ55TM,CEU 1),37C9FKB8FI>@ VCG(,0,_889QN 4[K/A$K6,HU;I,DKW&$Y MM^?>?#$]'&NF[%(&XMB*L5Y"H,]^D^P7)FY6SK&:7B7"(Y M1QTX1Z[C^!W2VH1C2:MRVC/75[/V:M;>3TV#C"@'W>MUQO5M!#O\M:G'\N^G M].#,<=7T_9J^KZ5_TV5\-L38?Q%C;;:QC/W>--,YUK&7ZC 26N" [H& M:^TT4.DQ[W4..8[5D4/9"+4;!=K^OK*6P%GCO69:/0)RD,9[)VD+$FXSFM#- MH])(:6'&%F.C:($IM+:$1_85GM+E5.BFE#6)%IA":RN+&F712:S.,[!^Y2KF M3ZX"^H-F1P\U6D\3'6N+V7AQJ'6EYAQ/E>=X6?,MY'^JV-X@##"2%./.M_%.O9-@TLVNC*(%IM#:(C8>&GHG M+8 F??+**%I@"JVM;&//H=Z?O[H ZF&A4Q8:I7Y&/?RK.M(6JW'V4&_MS16X MOF]W;4MPJJ7=[\N=/AK<\XEKF'&FMZ6N+6X5Z/ R68W5KFS[W: D4.3TTL+&!&O.,]&;R"\,1 9R$+%^$ M<1:!':,AD?R5]4V/-G85-HH6F$)K*]DX9W32;6QD=!_;*%I@"JVM;..^T6GV MLI^!1;/A^J8/':W?:SK2%JOQZ^A_VK)&?3/MH*.-M4HHHP;^N9QM31K_CLSM M6B/%%C*4A;W+VZ@U5R9U/&^ >..YT4DVKE%_&]ER84\"HQZZ0FO5-W?0VC3> M&.F]XXIRD>_=,G(@V9XHV9KTLBNC:($IM+9ZC5E&\Y/6-)/F=V44+3"%UO[) MN['H[8[>[1K^@3:#O[FOE:(RXI3?B=S@A_ QL2"8K?%+X4!RE M4@TN&,X/W"BY&]T3-XH6F$)KZ]G8>@N=]$R%49MO%"TPA=96]NBPBGZ#W-B+ MV]^J1K;O=5]=9:O>RVO4GT^/#FFEA&V*PV[2,N9&L3RC5-^M#]1=%O MX<6J/!;7P)2G]#YAMHDS#A*REI"S]YY&ULG51;;],P%/XK5D!HDV"YM$W0 M2".M&PP>)DVK!@^(!S!K4Q[7D8ZK*&ANHSV8+ G:54#34X5:M0MPIHY4 -#Y,H2L.&,A$4 MN5N[544NUX8S ;>*Z'734/4T RZ[:1 'NX4[MJJ-70B+O*4KF(.Y;V\5SL*> MI6(-",VD( J6T^ B/I]E-MX%?&;0Z;TQL9DLI'RPDT_5-(BL(>!0&LM \;.! M2^#<$J&-'UO.H)>TP/WQCOV#RQUS65 -EY)_896II\';@%2PI&MN[F3W$;;Y M3"Q?*;EV;]+YV DJEFMM9+,%X[QAPG_IX_8<]@!)<@"0; &)\^V%G,LK:FB1 M*]D19:.1S0Y>UN6&XY M9IXC.< Q(C=2F%J3]Z*"ZG=\B'YZ4\G.U"PY2GA#U1D9Q:])$B5CYMCH^Q]S:'?'EDZI"VX#9%G*9)%N&3AYL!T4DO.CDJBH>!-UC@ MG5,*1/E$C*)"<^IK1U1$FAH4H=5WO)18E48/V?,:DSU[;^(T.V@N[4@_>_9'_M0-]\JS ;5R34B34JZ%\97: MK_9][L*7]Z]PWR2Q,E9,:,)AB=#H+,.\E6\\?F)DZXI](0VV#C>LL5>#L@&X MOY32["96H._^Q4]02P,$% @ F86G6/TOM(TB @ M00 !D !X;"]W M;W)K&UL?51M;]HP$/XKEC=-K=21D 8VL212 55# MVB0$ZO9AV@>37(A5OV2V2=I_7]L)$=L /B1W]CTO/LY)6JF>=05@T MG0J>X M,J:>!8'.*^!$CV0-PNZ44G%B;*KV@:X5D,*#. NB,)P&G%"!L\2OK566R(-A M5,!:(7W@G*C7.3#9IGB,CPL;NJ^,6PBRI"9[V()YJM?*9L' 4E .0E,ID((R MQ0_CV3QV];[@!X56G\3(G60GY;-+5D6*0V<(&.3&,1#[:F !C#DB:^-/SXD' M20<\C8_LC_[L]BP[HF$AV4]:F"K%GS$JH"0'9C:R_0K]>2:.+Y=,^R=JN]J) M5

@VW.J>C>Y*7OPPD@BBX HAX0>=^=D'>Y)(9DB9(M4J[:LKG ']6C MK3DJW)^R-24 M4?.:!,;J.G20]QKS3B.ZH/%0JQ&*XCL4A5&(GK9+=//^]F^:P-H>O$>#]\CS MWE_@_69S),M_#:)??F-E@.O?Y]QVK/%Y5G<+9KHF.:38CKD&U0#./KP;3\,O M5SS?#Y[OK[%GJR<9A_TN"YHQ\/,C'5^6/+Z2=(F1 MM1_,G31VS'U8V>\**%=@]TLIS3%QLSY\J;(W4$L#!!0 ( )F%IU@V" *A MBP0 /0> 9 >&PO=V]R:W-H965TI";" S=Y9"IE2; M4[ERU48"712BE+N!YPW=E++,F8Z+:P]R.A:YYBR#!TE4GJ94[FZ!B^W$\9W] MA4>V6FM[P9V.-W0%3Z"_;QZD.7-KRH*ED"DF,B)A.7%N_.O8'UI!4>)/!EMU M=$SLH\R%^&%/[A83Q[,1 8=$6P0U?\\P \XMR<3QLX(Z=9U6>'R\I\?%PYN' MF5,%,\'_8@N]GC@CARQ@27.N'\7V"U0/-+"\1'!5_))M5=9S2)(K+=)*;")( M65;^TY>J(8X$?O\-05 )@M>"P1N"7B7HG2KH5X+^J2$-*L'@5,&P$A1FNF5C M%2T=4DVG8RFV1-K2AF8/"KL*M6E@EMF>]:2ENYI?W\U1BR62C&BJOIPU&RPC_)AQO[LBM??^9;-UF;+U5O MT.I*)^]L5S!I(2HM0J7%6+2FS\'!YP!Y3JV 6$9CTD)46H1*B[%H3:,/F2&_ M,RTQO6<92_.4T"S+*2>R&M\;NBML;W4:-3F$2@M1:1$J+:YHS?G=K^?WIH&' MQ(_?G?F)7C38E"O1(%.[LJ7[J;G5.]0$T#NA^1[9 95MG2A$#21"I<58M*:C MA]R0WYTBG_V-XHB:.*EJSTP;-14F(6F6$2HNQ:$TS#TDAOS,C M4<^O/W,JS0CEN],\1$T-H=+"BM;L$;W7:UG4I \6K?30/=JL2T&NBFU511*; MQ2GWI^JK]=;M3;%A^>IZZ%]'Y0;L 5/N!YLU\8IEBG!8&J19Q9M.*,LMUO)$ MBTVQ)3@76HNT.%P#78"T!ZI_\"4$L#!!0 ( )F%IU@G M=R-%*P4 '$@ 9 >&PO=V]R:W-H965TD%%UL MF:U=ILA+K OG<.8,9Z0C9K2F[(DO"!'@)4MS/G860BPO79='"Y)A?DZ7))=W M9I1E6,A3-G?YDA$<:Z,L=9'G!6Z&D]R9C/2U6S89T95(DYS<,L!768;9YIJD M=#UVH/-ZX2Z9+X2ZX$Y&2SPG]T0\+&^9/',KE#C)2,X3F@-&9F/G"EZ&R%<& M>L3O"5GSQC%0H3Q2^J1./L=CQU,>D91$0D%@^?-,IB1-%9+TXWL)ZE1S*L/F M\2OZ+SIX&_^*4DHF& >GL,4&F M@S@/@._-/"W#8(]!KW2H*>9*4+1 M/(18X,F(T35@:K1$4P>:3&TMPT]RE?=[P>3=1-J)R;V@T=."IC%A/W'PZ?LJ M$1OP$>C+'Q6A,9C23*XRCG6>/KVH8P).0B)PDO)3.?CA/@0G'T[!!Y#DX+<% M77&F_-_>[XC&;AR3:9]Z*QJ]R[6L\?U^N%YB1KJ1> M,8;S.9'E+,#C!C3'W>*-OGRUQBP^:YM-*1?@VQ65U?L9R#" MRT3@-/E+CI M)@\UT7<*O-(DRBUEL!:U XK:H?_@=HSW4PBA;:0FL3V% 8\/TUY=(G6_FPB1;:0FOG ]7Y0,8%K3F5O4%J/9X( M M0,B5S<18?H)-,,V"O[@E_VA4X&C1 ',V@)KKH[1YP_S"Q7Z[DP+22+6FGDNFW4&*PEF+0K,5T M+Z4S2:246*M.V6E&.+B36I5BMM#:[-6B#0;O\,EF5?I910MMH;7S4:L_:%0T M1WU5*2%;]OM=;#[F0$.X=97%;-[QX9?*RYHEEQW$A.S: %P'H-85G1* MEVJM=89M4PU-K:*%MM#:--;J"@[?857;5$Q3JVBA+;3V)_A:@"&S #NFJDO( M9KTB&%QL5777*#38&A6:W3LV_%H^(:,8/M^MX=-D3#P79]6Q4[;F,O-B-LKO>TN8QLE8MBX[&Z6NV;7^G=XJWKU_!R M6NQ^US#%9OP-9O,DYR E,PGIG0]D V/%_G9Q(NA2[_@^4B%HI@\7!,>$J0'R M_HQ2\7JB)JC^RV#R-U!+ P04 " "9A:=8$\6(PI$% !^( &0 'AL M+W=O"DC@?E*5C MY'G!.",)&\W/\GO78G[&=RI-&+T60.ZRC(@?ES3E^_,1'-W?^)*L-\K<&,_/ MMF1-OU+U;7LM]-6X\A(G&64RX0P(NCH?7<#3!9Z: ;G%GPG=RX/OP*2RY/R[ MN;B*ST>>B8BF-%+&!=$?MW1!T]1XTG'\5SH=5<\T P^_WWO_/4]>)[,DDBYX M^E<2J\WY*!R!F*[(+E5?^/X/6B8T,?XBGLK\+]B7MMX(1#NI>%8.UA%D"2L^ MR5T)Q,$ [<<] )4#4'. WS$ EP-PGF@169[6!Z+(_$SP/1#&6GLS7W)L\M$Z MFX29,GY50O^:Z'%J?A%%NVR7$D5C\%EMJ +GND)L3&5NJ7@BD4\H^#U!ZI( MDLHWX 1\^_H!O'[Y!KP$"0,W&[Z3A,7R;*QT.,;I."H??5D\&G4\&H./G*F- M!+^QF,;U\6.=1I4+NL_E$O4Z_$C$.X#A6X \Y#OB63Q^..X)!U?0XMP?[H+V M\^+*X)?NXH2MP347^<2]4$HDRYTBRY0"Q<$GKB%F2O T-6973%%!I7H+/NE% MS%?@AMR!O[_H7X&>MWLBXG]<4!>A^.Y03"\XE5L2T?.1KJVDXI:.YJ]>P,![ M[\)I(&VA8L@=V$:U>T6U0>:/;A.DA;P$K)K0B=RX\BH=,#FIU M H-PVJAHVPJB +OK.:T2F/8FH/O/ _-MZGBJAR<8-J)SV.E6Y GEIQ:Q M%CQ -1.L];["'3EN!>4UX^XSJ4=MM0;L%QNENM6,!.AJI7<6X-6+$$'T'M [ MO5&2[M7C/QQKGTD]5BLZ8"^)SS_ULF)=#O\J?[ MXW-H 6C% /R%U <5 X,Y:V^([9Z V@!Y"#Z=%DAAO3VV7F!\AW3V]D!0$Z MAB! @PJ"H;S5(;&" !U%$* VUS>IJM>D'KT5 ^A9Q0!J,_T)#"?-K:##S/I:6 M_-$O1/YH4/(?REO]_;,E?SP ^6/7-A].FJ^V7&8A[")_;,D?'X/\\:#D/Y2W M.B26_/%1R!\_YFV PZAS0X4/3CZ>50#@QPD AUEGU\=6 .!G$ #X80'@,.G" MV0H _!0!@%T"H/U*W6'6_4X=6P6 CZ( \./.!1QF/4E8"8"?*@%*!T&-VT/< M?)GJ,@O"H"D!Q@H0_2(_.F[&ULK57+;MLP$/P50@V*!&BME^.FJ2T@MA,TAP!& M'NVAZ(&65A81BE1)RD[_ODM*5FU7<7OHQ>)2.[.S*W(\WDCUK L 0UY*+O3$ M*XRI+GU?IP645 ]D!0+?Y%*5U&"H5KZN%-#,@4KN1T$P\DO*A)>,W=Y")6-9 M&\X$+!31=5E2]7,*7&XF7NAM-^[9JC!VPT_&%5W! YBG:J$P\CN6C)4@-)." M*,@GWE5X.3NW^2[A"X.-WED3V\E2RF<;W&83+[""@$-J+ /%QQIFP+DE0AD_ M6DZO*VF!N^LM^XWK'7M94@TSR;^RS!03[\(C&>2TYN9>;CY#VX\3F$JNW2_9 M-+DCK)C6VLBR!6-<,M$\Z4L[AQT \O0#HA80'0*&KP#B%A"[1AMEKJTY-309 M*[DARF8CFUVXV3@T=L.$_8H/1N%;ACB3W(I4ED >Z0MHLA>4^> M'N;D].2,G! FR&,A:TU%IL>^0066QT_;:M.F6O1*M9C<26$*3:Y%!MD^WD?E MG?QH*W\:'26\HVI XO =B8)HV*-G]N_P^(B.PG]%>XDM=T10F'MY2#6H-7O+V33@*/O6U^Y_(]IH?=LT/ MC[$G"R77S-UN-!<\*&X4QIZEOK8;KI'CLE:S3N*1_83KW7;^3/H8="E[(L\[ MD>='15[G.3CGL,J(H@;ZQ#4<8;!3.!A$PXL#>6U:N)<6A <*_9W;68):.=/2 M))6U,,U)[W8[7[QR=G"P/T6_;.SM-TUCMGB.5TQHPB%'RF#P 96IQL":P,C* M>&ULK5;;CM,P$/T5 M*R"T*\'FUERZM)7H+@@>0"N6A6[):;7D02)5ER66?^>$BZ*K39<&>3 M"J_((]%/U8.$E=MYR6E)N**"(TF64^>#?WOG6X"U^$G)1O6>D9&R$.+9++[D M4\7-/_[3!J(' #_# M@* %!(> T1% V )"*[1A9F7=8XUG$RDV2!IK\&8>;&PL&M10;M+XJ"6\I8#3 MLV]P4K[P3)0$542BQP)+@MZA.58T0YCGZ)ZR6I,Z(Q9>H: M $^/]^CJ]35ZC5RDS%N%*$=/G&KU%C;A^4U<350-Q\WLU:DO.&9'"$ M9(B^"JX+A3[RG.3[>!<$=ZJ#K>IY<-+A5RQO4.B_18$7C ;XW)T/#T_0";LD MA-9?>"P)=4DDUD+>#L6FP8Z&L:;,;U6%,S)UH(X5D6OBS-Z\\F/O_9"P"SG; MDSGJ9(Y.>;=GC=JS-B2SP<86:YK/>N;[GA=,W'6?_TNK-(IW1GN\HHY7=#+\ MOVRMPQG':TC#BFP/<*U@3PL$C"NH <0[_@AK+>FBUGC!2&M20E.""\%R M(M5@+J-+YO)"SO9B%GLL(T\9,P'!UD=FJ7IV!O%PVK23DUZ4LVV%?^'8_HRF&.(>QB-#U@.&7I)%*;I M,,]QQW-\NIWMZL1<%I;J8#6,+UD-%W*VI]CW=M>H=V8]Y((Q+-5.^F"26G=) M+_C>39 >9&C8ZDA1^+T[WS_[()U)US^+[J#5(5VW-ZW O;>R0YR"%EISW5SA MW6XW*'ZPX]'!_MP,D'8*VKEIID^XH%<4"IN1);CT;A(XY+(9Z)J%%I6=B19" MPX1E'PL8@HDT!O!^*:!SM OS@6ZLGOT#4$L#!!0 ( )F%IU@.:Z<,? ( M & 9 >&PO=V]R:W-H965T9R!U-M), IV&W=B7:';"+.TX6M8 M GYO%H96X?H'>S[GCR[6T_LNV?6P4L+RUJ.L>3 IJH;J1/_1YV ,0SV% W /BEX#Q M*X"D!R3>:*?,V[KBR+/4Z"TS+IK8W,3GQJ/)C5#N+R[1T*D@'&9?J5!N5*YK M8 T8MJRX ?:>316*0LC6Y9@M(6^-0 &6G5P!\PG?-C1)J;=EB2/*OZVX3E, GJ[%LP&@NSMF]%%].F0U_]$]LSY>' ^/L:>/:LD^U1)\)#+EOXU M*XVN&5; J B;%KE_W;IDL$N9JTM?9.R$BJPKM]-#.>N$G'LAKGMMLO@B#3?[ MF3@:TOD+]QY3#6;M>XPE=:W"KOZ&W:&-3?WK?;$_H_;6=:,GFJXW4G6MA;), M0DF4T=D'$F2Z?M,M4#?^R:XT4@/PTXI:-!@70.>EUKA;N N&II_]!5!+ P04 M " "9A:=82%AU/+4" ";!P &0 'AL+W=OPS3W'YQ[L>T<;+IYE#J#(2U4R.79RI9:7KBO3'"HJS_D2 M&'Z9X,QM6+*B B8+SHB ^=BY&EQ.8QUO M GX4L)&M,=&9S#A_UI.;;.QX6A"4D"K-0/&UABF4I29"&7]J3J?94@/;XRW[ M5Y,[YC*C$J:\_%ED*A\[GQR2P9RN2O7 -]^@SF>H^5)>2O,D&QL;1PY)5U+Q MJ@:C@JI@]DU?:A]: .3I!_@UP.\"PCV H 8$)E&KS*1U315-1H)OB-#1R*8' MQAN#QFP*IO_BHQ+XM4"<2FZ8 @%2$'J_)\=$).<)8\CWG*XEH.7(5"M*T;EIO/K&;^WLV#\@M9RJ7 MY O+('N+=S&1)AM_F\W$/TAX2\4Y"0:GQ/?\L$?/]/WPX("-]5,;_,5:*LFOJYE4 L_P[S[7+&O8SZKO]:5E_)_(WA@0-@:$A]A?3Y<]4WVY6H+($.B2LTX"_P+-7[=SV VZB+TFYHVT M82-M^#YI]3'OTV89AJUMST+/[VCK"QI$_>*B1EQT4-Q=ZR*:Z]>G+MK=.(BB MCKK=H(L]QL6-MOA]QG4KQEZA\<[?\X?^L"-T-R@*PXY2MU7G*A +4_XE2?F* M*5LDFM6FPUR9PMI9GV#GL8WBE<:V+2P!BX))4L(<*;WS&*T3MA78B>)+4TUG M7&%M-L,&ULM5C;CM,P$/T5*R $ M$FSB7)NEK;07$"N!M-IEX0'QX";3)B*QB^VVP-=C.VG:=-.(1>E+Z\O,\9SQ M23K3\8;Q'R(#D.A765 QL3(IE^>V+9(,2B+.V!*HVIDS7A*IIGQABR4'DAJG MLK!=QPGMDN34FH[-VBV?CME*%CF%6X[$JBP)_WT)!=M,+&QM%^[R12;U@CT= M+\D"[D$^+&^YFMD-2IJ70$7.*.(PGU@7^/P*A]K!6'S)82/VQDA3F3'V0T]N MTHGEZ(B@@$1J"**^UG %1:&15!P_:U"K.5,[[H^WZ.\->45F1@1)KGLIL M8HTLE,*F-P8;\4FI_H:[R57 MN[GRD],[6 -=@4!OT'4NR&+!84%,@MD6P%\#=;TQ3,<.F^[2 \$UDJ!WZ3 [T/?:@O-.2M1HFZ; MJX=6Z5MFM;*!=_&O0$,#JM]"ZZD;C<(@&-OK?68=9C[VXE%CUHHY:&(.>F-^ MH+F$%-U+(J%3U;WN3[V=@!3%W0(=-3&/>F.^H1(X-7=&BJ[H>MV?>CL#@;68Q@W3^$0" MC8=,P4!@K11@9_?S[)Q"HC7JOOC"V,'X0**=9@$^(E&\5U3@WJ@_9RK]Z?>T%!H;;+NCJQ[(IW6P$.E82"T=AIV]0[NK27^6ZG>X]?D*(H< M[U"J'7:^'X^<(UK=%2FXOTIY5\Y8D?^I+D_5LN@B24!T5[2]2$^^KX'0VKQW MA0X.3B7;06N@H=#::=A50;BWPOAOV8:/RL_8B0/W4+4=9J&/#XM4>Z^!4PN<+TS$>K%_JGMHTACN8JB%7_0SEFDTLZK M'K>:2+8T;>*,2<7:##,@*7!MH/;GC,GM1!_0_-,P_0M02P,$% @ F86G M6-([;T-3 @ SP4 !D !X;"]W;W)K&ULK51= M3]LP%/TK5QZ:0-K()X5U:21H-3%IDQ =V\.T!S>]:2P<.[/=AOW[V4X(!4K' MPUX27_N>XW.N[9NU4MWJ"M' 7=;0%<[1W#17RD;!P+)D-0K-I "%Y82<1^-IZO)]PG>&K=X:@W.RD/+6 M!9^7$Q(Z0<9-C2 ;?']^R?O'?K94$U3B7_P9:F MFI S DLLZ9J;:]E>8N_GQ/$5DFO_A;;/#0D4:VUDW8.M@IJ)[D_O^CIL :+T M!4#< ^+7 I(>D'BCG3)O:T8-S3,E6U NV[*Y@:^-1ULW3+A3G!ME5YG%F?P: M-RC6J.$]S+N#!%G"5 JC;(7A7<&JA8PA=&%XPSPVSRX0P-95P?6=C-? :' M!T=P $S MTJNM/(8'MB:#(6)A\+$GB_97Q@HE:P?ZM$R4\'4'PLJ^'F^T'[^URZ['7^ZF]^] MSK%N:($38I^?1K5!DK]]$XW"C[O,_R>R1Z5(AE(D^]CSP3WUMV&7UXY@Y E< MX]CDT5D8AEFPV3;QKZQ'ZM)!7?HZ=?SA@NZ2F#[;_#0>14\4/D\:I1]&3P0& M6\_-M3I[6QE M#DIBIE8W)W\O;'2IG+-X&['[T[.NK=G5[NQT\JX)2$7M'S M9XB>]7!=BV'2\;.DGU#&A"]VA5NAWQ&'7F+ON$/M'6/DQ$-NF8X6UBLY&65* MM@L:$1>PNC1GP3T58S*E@L\T!U9&U8_O =L>&.1"- 8'Q 4FHX(:P[2\LIWJX2KX" KJ]NVF ML X7FF[Z@W/2$JJ;33)3.F6Z2=,GV]!D)%@&=C1?+.%N5!$":(S*;2/E=*$D MK3QL&77#RLZ9$#?P!G[/=K3766?%>K!>LFE:0W73R;@.Z'?5G'97=O BW:#@ M]\I\6MGAR*H/AB:MK7_ MFF?YQ8ZCBW]EN?JMLF_8Z['>5E^[R?-#,!D?@LF#J,GA(9A,7J7)L-[ .Z>$ MG3-"$PW@+#8FW^!,)]JDP6S%A>&R[BUYFC+YZ*A@Y0V=V3\!=O3M\RG+Z$J8 MVP8C&KFH%MV*SU M!81]Y*JZ_ C&<9@? 0S+@SG .(Z%Y?F?QC-$Q^,PS-O0BPQ1SA#E.)8/F58? M+(^?D]C+/](DB:(XQF9T.O4ZF&+S%L?PXU?#O $#RP.9_FRN\=7&*^3I.L#6 M]*D*P4:*5R(V4GRN ?'/&S"2Q+_:6!Y@8*N U0[D]^>!FO)SH@A6%?.&O<$X MDB08 K7HK]$X1F8GAH]_?;"W)(J2Q(\ YG<011@";R..8 [ X9$4;4/[NU' MX7:?"MO_BTU^ 5!+ P04 " "9A:=8EXJ[', 3 @ "P %]R96QS M+RYR96QSG9*Y;L,P#$!_Q=">, ?0(8@S9?$6!/D!5J(/V!(%BD6=OZ_:I7&0 M"QEY/3P2W!YI0.TXI+:+J1C]$%)I6M6X 4BV)8]ISI%"KM0L'C6'TD!$VV-# ML%HL/D N&6:WO606IW.D5XA-/E_G;@2=&A(E@6FD7)TZ(=I7\=Q_:0T^FO8R*T>EOH^7%H M5 J.W&,EC'%BM/XU@LD/['X 4$L#!!0 ( )F%IUB0E#V2A00 /(C / M >&PO=V]R:V)O;VLN>&ULQ9K=<^(V$,#_%8U?>GV@@#_(7>:XF?1HKLQT M+LR1R6M'V (TD24JR>3CK^_:A&;=D)V^;'D"R6#_O+;UVY7\^<'Y^Y5S]^*Q M-C9,DVV,N\OA,)1;5=?LM-VTNX&S&*+3Z.)P_#P$ M\=+_ES"Z]5J7:N;*IE8V'N+HE6D!;=CJ74B$E;6:)E_=7OGV?. \^IP;A&@ M4*3\I88-?EYU>)PHME(VJ$K M^",KH"C$K]*(VVI!(),"2$@)R<,Y(9@KP@("]X M(6_\1EK]W&T0TE9BID+I]:YKNS6"_$A ?N2%7#9U+?U3=WGUQFKXF[117)6E M:VS4"/(3 ?F)%W)N]RK$PWW8!O)::B_NI&E4RWV-!_,1-9J/>#&/XW8G0;@S MZYVS+3/F(VW#K)LYF-YNVH.*JQ!4'XPRS)A9,=^S%Z8PY,) M0XFX];*"L4Y<>0\".R2DF)%R1:CO)- MSKZX0DSBB0'&I'R3,_OF9'H^Z-9_[@09=PL^+52GI91JS%@I)/ MT'S'I%)K;57U'0X1H+^4IEQXT7X<5L3RHIW97C?&?(6^&_N'D]7QE97C MZS9?_@902P,$% @ F86G6 ^45$C: 0 62 !H !X;"]?Z)0A&.14&#YE36V/+U7UB?K)'G+VG7EFUWR)MMGR?'_>Z0%\VFE/XA MA+SNN7'/AW*+X/#9S>\YTU*I9F\ML,ZE443CKOKZ1PN![DY3VXFSV^+ M9GA^DR;4#E((TOI!!D%6/\@AR.L'10B*]8-F$#2K'W0+0;?U@^X@Z*Y^T#T$ MW=0J"WHMY*H+>BWDJ@MXX^M@GT5M1;"?16U%L)]%;46PGT5M1;"?16 MU%L)]%;46PGT5M1;"?0VU-L(]#;4VPCT-M3;"/2VT68)@=Z&>AN!WH9Z&X'> MAGH;@=Z&>AN!WH9Z&X'>AGH;@=Z.>CN!WHYZ.X'>CGH[@=Z.>CN!WC[:[";0 MVU%O)]#;46\GT-M1;R?0VU%O)]#;46\GT#NBWI% [XAZ1P*](^H="?2.J'GLO. ?XD^#Q"U!+ P04 M " "9A:=8(5VG)LT! D( $P %M#;VYT96YT7U1Y<&5S72YX;6S- MVLENPC 4!=!?0=E6Q'@('01LVFY;%OT!-WE 1!);MJ'P]W7"(+6BJ(A*O1LB M8OO=%ULZFV3TMK7D>YNZ:OPX681@'QCS^8)J[5-CJ8DC,^-J'>)?-V=6YTL] M)R8&@R'+31.H"?W0UD@FHR>:Z545>L^;>-N7IADGCBJ?]!YW$]NL<:*MKE/MPHNNXRRV MJ9@/VXI\>K[$B1[-;%;F5)A\5<.=.$71*&NTEW1F_/)(>XP[7[YU?E= MF7.!<>;4&>OCB3FZ/.YP).WJOHV%R(7R_",>$V/IJY^/VM,NJ/AE=MS>#^.6 MW7EXUEVNW^.O9WRL?V$? J0/"=*' NDC ^EC"-+'+4@?=R!]W(/TP0&UL4$L! A0#% @ F86G6*]R M0GCN *P( !$ ( !KP &1O8U!R;W!S+V-O&UL M4$L! A0#% @ F86G6)E&PO=V]R:W-H965T&UL M4$L! A0#% @ F86G6 /IW;=@!@ 01L !@ ("! X M 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ F86G M6&6LE!5* P V0D !@ ("!YAL 'AL+W=O>4' !>(@ & @('K)0 >&PO=V]R:W-H M965T&UL4$L! A0#% @ F86G6%<"!TU' P 60< !@ M ("!!BX 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ F86G6&6D MAKAF! Y@H !D ("!IT\ 'AL+W=O&PO=V]R:W-H965TR<@, )L' 9 " @7U7 !X;"]W;W)K&UL4$L! A0#% @ F86G6"$ZBALN!P IQ( !D M ("!)EL 'AL+W=O&PO M=V]R:W-H965T&UL4$L! A0#% @ F86G6&,,N2S3!0 T@T !D ("! M;VT 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% M @ F86G6 SNJ*S]"@ <" !D ("!T'H 'AL+W=O&PO=V]R:W-H965T>H+@0 &0* 9 " @4R< !X;"]W;W)K&UL4$L! A0#% @ F86G6 31V5L6! B0H !D M ("!L: 'AL+W=O&PO=V]R M:W-H965T&UL M4$L! A0#% @ F86G6!RQ*!((! >@D !D ("! *L M 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ MF86G6&H/PG=\ P K@@ !D ("!O+4 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ F86G6+"&=R]8"P OG8 !D M ("!2L\ 'AL+W=O&PO=V]R:W-H M965TCGZP( .P' 9 M " @&UL4$L! M A0#% @ F86G6#\FA!'P @ %0@ !D ("!Z> 'AL M+W=O\Z)NX% M "** &0 @($0Y >&PO=V]R:W-H965T&UL4$L! A0#% @ F86G M6/TOM(TB @ M00 !D ("!TNP 'AL+W=O&PO=V]R:W-H965TWS !X;"]W;W)K M&UL4$L! A0#% @ F86G6!/%B,*1!0 ?B M !D ("!3_D 'AL+W=OV4$/7X" !1!@ &0 @($7_P M>&PO=V]R:W-H965T , &(+ 9 " @&UL4$L! A0#% @ F86G6 YKIPQ\ @ 8 !D M ("!>P4! 'AL+W=O&PO=V]R:W-H965T M%@P, '40 9 M " @1H+ 0!X;"]W;W)K&UL4$L! A0# M% @ F86G6-([;T-3 @ SP4 !D ("!U X! 'AL+W=O M$0$ >&PO&PO7W)E;',O=V]R:V)O;VLN>&UL+G)E;'-0 M2P$"% ,4 " "9A:=8(5VG)LT! D( $P @ %E' $ I6T-O;G1E;G1?5'EP97-=+GAM;%!+!08 /@ ^ .D0 !C'@$ ! end XML 66 Show.js IDEA: XBRL DOCUMENT // 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)}}} XML 67 report.css IDEA: XBRL DOCUMENT /* 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; } XML 69 FilingSummary.xml IDEA: XBRL DOCUMENT 3.24.1.u1 html 163 221 1 false 36 0 false 6 false false R1.htm 0000001 - Document - Cover Sheet http://www.penumbrainc.com/role/Cover Cover Cover 1 false false R2.htm 0000002 - Statement - Condensed Consolidated Balance Sheets Sheet http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets Condensed Consolidated Balance Sheets Statements 2 false false R3.htm 0000003 - Statement - Condensed Consolidated Balance Sheets (Parenthetical) Sheet http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheetsParenthetical Condensed Consolidated Balance Sheets (Parenthetical) Statements 3 false false R4.htm 0000004 - Statement - Condensed Consolidated Statements of Operations Sheet http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations Condensed Consolidated Statements of Operations Statements 4 false false R5.htm 0000005 - Statement - Condensed Consolidated Statements of Comprehensive (Loss) Income Sheet http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofComprehensiveLossIncome Condensed Consolidated Statements of Comprehensive (Loss) Income Statements 5 false false R6.htm 0000006 - Statement - Consolidated Statements of Stockholders' Equity (Deficit) Sheet http://www.penumbrainc.com/role/ConsolidatedStatementsofStockholdersEquityDeficit Consolidated Statements of Stockholders' Equity (Deficit) Statements 6 false false R7.htm 0000007 - Statement - Condensed Consolidated Statements of Cash Flows Sheet http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows Condensed Consolidated Statements of Cash Flows Statements 7 false false R8.htm 0000008 - Disclosure - Organization and Description of Business Sheet http://www.penumbrainc.com/role/OrganizationandDescriptionofBusiness Organization and Description of Business Notes 8 false false R9.htm 0000009 - Disclosure - Summary of Significant Accounting Policies Sheet http://www.penumbrainc.com/role/SummaryofSignificantAccountingPolicies Summary of Significant Accounting Policies Notes 9 false false R10.htm 0000010 - Disclosure - Investments and Fair Value of Financial Instruments Sheet http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstruments Investments and Fair Value of Financial Instruments Notes 10 false false R11.htm 0000011 - Disclosure - Balance Sheet Components Sheet http://www.penumbrainc.com/role/BalanceSheetComponents Balance Sheet Components Notes 11 false false R12.htm 0000012 - Disclosure - Intangible Assets Sheet http://www.penumbrainc.com/role/IntangibleAssets Intangible Assets Notes 12 false false R13.htm 0000013 - Disclosure - Goodwill Sheet http://www.penumbrainc.com/role/Goodwill Goodwill Notes 13 false false R14.htm 0000014 - Disclosure - Indebtedness Sheet http://www.penumbrainc.com/role/Indebtedness Indebtedness Notes 14 false false R15.htm 0000015 - Disclosure - Commitments and Contingencies Sheet http://www.penumbrainc.com/role/CommitmentsandContingencies Commitments and Contingencies Notes 15 false false R16.htm 0000016 - Disclosure - Stockholder's Equity Sheet http://www.penumbrainc.com/role/StockholdersEquity Stockholder's Equity Notes 16 false false R17.htm 0000017 - Disclosure - Accumulated Other Comprehensive Income Sheet http://www.penumbrainc.com/role/AccumulatedOtherComprehensiveIncome Accumulated Other Comprehensive Income Notes 17 false false R18.htm 0000018 - Disclosure - Income Taxes Sheet http://www.penumbrainc.com/role/IncomeTaxes Income Taxes Notes 18 false false R19.htm 0000019 - Disclosure - Net Income per Share Sheet http://www.penumbrainc.com/role/NetIncomeperShare Net Income per Share Notes 19 false false R20.htm 0000020 - Disclosure - Interest and other income (expense), net Sheet http://www.penumbrainc.com/role/Interestandotherincomeexpensenet Interest and other income (expense), net Notes 20 false false R21.htm 0000021 - Disclosure - Revenues Sheet http://www.penumbrainc.com/role/Revenues Revenues Notes 21 false false R22.htm 995410 - Disclosure - Pay vs Performance Disclosure Sheet http://xbrl.sec.gov/ecd/role/PvpDisclosure Pay vs Performance Disclosure Notes 22 false false R23.htm 995445 - Disclosure - Insider Trading Arrangements Sheet http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements Insider Trading Arrangements Notes 23 false false R24.htm 9954471 - Disclosure - Summary of Significant Accounting Policies (Policies) Sheet http://www.penumbrainc.com/role/SummaryofSignificantAccountingPoliciesPolicies Summary of Significant Accounting Policies (Policies) Policies http://www.penumbrainc.com/role/SummaryofSignificantAccountingPolicies 24 false false R25.htm 9954472 - Disclosure - Investments and Fair Value of Financial Instruments (Tables) Sheet http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsTables Investments and Fair Value of Financial Instruments (Tables) Tables http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstruments 25 false false R26.htm 9954473 - Disclosure - Balance Sheet Components Balance Sheet Components (Tables) Sheet http://www.penumbrainc.com/role/BalanceSheetComponentsBalanceSheetComponentsTables Balance Sheet Components Balance Sheet Components (Tables) Tables 26 false false R27.htm 9954474 - Disclosure - Intangible Assets Intangible Assets (Tables) Sheet http://www.penumbrainc.com/role/IntangibleAssetsIntangibleAssetsTables Intangible Assets Intangible Assets (Tables) Tables 27 false false R28.htm 9954475 - Disclosure - Goodwill (Tables) Sheet http://www.penumbrainc.com/role/GoodwillTables Goodwill (Tables) Tables http://www.penumbrainc.com/role/Goodwill 28 false false R29.htm 9954476 - Disclosure - Stockholder's Equity (Tables) Sheet http://www.penumbrainc.com/role/StockholdersEquityTables Stockholder's Equity (Tables) Tables http://www.penumbrainc.com/role/StockholdersEquity 29 false false R30.htm 9954477 - Disclosure - Accumulated Other Comprehensive Income (Tables) Sheet http://www.penumbrainc.com/role/AccumulatedOtherComprehensiveIncomeTables Accumulated Other Comprehensive Income (Tables) Tables http://www.penumbrainc.com/role/AccumulatedOtherComprehensiveIncome 30 false false R31.htm 9954478 - Disclosure - Net Income per Share (Tables) Sheet http://www.penumbrainc.com/role/NetIncomeperShareTables Net Income per Share (Tables) Tables http://www.penumbrainc.com/role/NetIncomeperShare 31 false false R32.htm 9954479 - Disclosure - Interest and other income (expense), net (Tables) Sheet http://www.penumbrainc.com/role/InterestandotherincomeexpensenetTables Interest and other income (expense), net (Tables) Tables http://www.penumbrainc.com/role/Interestandotherincomeexpensenet 32 false false R33.htm 9954480 - Disclosure - Revenues Revenues (Tables) Sheet http://www.penumbrainc.com/role/RevenuesRevenuesTables Revenues Revenues (Tables) Tables 33 false false R34.htm 9954481 - Disclosure - Summary of Significant Accounting Policies - Additional Disclosures (Details) Sheet http://www.penumbrainc.com/role/SummaryofSignificantAccountingPoliciesAdditionalDisclosuresDetails Summary of Significant Accounting Policies - Additional Disclosures (Details) Details 34 false false R35.htm 9954482 - Disclosure - Investments and Fair Value of Financial Instruments - Gains and Losses of Marketable Investments (Details) Sheet http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsGainsandLossesofMarketableInvestmentsDetails Investments and Fair Value of Financial Instruments - Gains and Losses of Marketable Investments (Details) Details 35 false false R36.htm 9954483 - Disclosure - Investments and Fair Value of Financial Instruments - Narrative (Details) Sheet http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsNarrativeDetails Investments and Fair Value of Financial Instruments - Narrative (Details) Details http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsTables 36 false false R37.htm 9954484 - Disclosure - Investments and Fair Value of Financial Instruments - Marketable Securities in an Unrealized Loss Position (Details) Sheet http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsMarketableSecuritiesinanUnrealizedLossPositionDetails Investments and Fair Value of Financial Instruments - Marketable Securities in an Unrealized Loss Position (Details) Details 37 false false R38.htm 9954485 - Disclosure - Investments and Fair Value of Financial Instruments - Contractual Maturities of Marketable Investments (Details) Sheet http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsContractualMaturitiesofMarketableInvestmentsDetails Investments and Fair Value of Financial Instruments - Contractual Maturities of Marketable Investments (Details) Details 38 false false R39.htm 9954486 - Disclosure - Investments and Fair Value of Financial Instruments - Financial Assets and Liabilities Measured at Fair Value (Details) Sheet http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsFinancialAssetsandLiabilitiesMeasuredatFairValueDetails Investments and Fair Value of Financial Instruments - Financial Assets and Liabilities Measured at Fair Value (Details) Details 39 false false R40.htm 9954487 - Disclosure - Balance Sheet Components - Inventories (Details) Sheet http://www.penumbrainc.com/role/BalanceSheetComponentsInventoriesDetails Balance Sheet Components - Inventories (Details) Details 40 false false R41.htm 9954488 - Disclosure - Balance Sheet Components - Accrued Liabilities (Details) Sheet http://www.penumbrainc.com/role/BalanceSheetComponentsAccruedLiabilitiesDetails Balance Sheet Components - Accrued Liabilities (Details) Details 41 false false R42.htm 9954489 - Disclosure - Balance Sheet Components - Product Warranty (Details) Sheet http://www.penumbrainc.com/role/BalanceSheetComponentsProductWarrantyDetails Balance Sheet Components - Product Warranty (Details) Details 42 false false R43.htm 9954490 - Disclosure - Intangible Assets - Intangible Assets (Details) Sheet http://www.penumbrainc.com/role/IntangibleAssetsIntangibleAssetsDetails Intangible Assets - Intangible Assets (Details) Details 43 false false R44.htm 9954491 - Disclosure - Goodwill (Details) Sheet http://www.penumbrainc.com/role/GoodwillDetails Goodwill (Details) Details http://www.penumbrainc.com/role/GoodwillTables 44 false false R45.htm 9954492 - Disclosure - Indebtedness (Details) Sheet http://www.penumbrainc.com/role/IndebtednessDetails Indebtedness (Details) Details http://www.penumbrainc.com/role/Indebtedness 45 false false R46.htm 9954493 - Disclosure - Commitments and Contingencies - Royalty Obligations (Details) Sheet http://www.penumbrainc.com/role/CommitmentsandContingenciesRoyaltyObligationsDetails Commitments and Contingencies - Royalty Obligations (Details) Details 46 false false R47.htm 9954494 - Disclosure - Stockholder's Equity - Stock-based Compensation Expense (Details) Sheet http://www.penumbrainc.com/role/StockholdersEquityStockbasedCompensationExpenseDetails Stockholder's Equity - Stock-based Compensation Expense (Details) Details 47 false false R48.htm 9954495 - Disclosure - Accumulated Other Comprehensive Income (Details) Sheet http://www.penumbrainc.com/role/AccumulatedOtherComprehensiveIncomeDetails Accumulated Other Comprehensive Income (Details) Details http://www.penumbrainc.com/role/AccumulatedOtherComprehensiveIncomeTables 48 false false R49.htm 9954496 - Disclosure - Income Taxes Income Taxes (Details) Sheet http://www.penumbrainc.com/role/IncomeTaxesIncomeTaxesDetails Income Taxes Income Taxes (Details) Details 49 false false R50.htm 9954497 - Disclosure - Net Income per Share - Basic and Diluted Earnings per Share (Details) Sheet http://www.penumbrainc.com/role/NetIncomeperShareBasicandDilutedEarningsperShareDetails Net Income per Share - Basic and Diluted Earnings per Share (Details) Details 50 false false R51.htm 9954498 - Disclosure - Net Income per Share - Antidilutive Securities (Details) Sheet http://www.penumbrainc.com/role/NetIncomeperShareAntidilutiveSecuritiesDetails Net Income per Share - Antidilutive Securities (Details) Details 51 false false R52.htm 9954499 - Disclosure - Interest and other income (expense), net (Details) Sheet http://www.penumbrainc.com/role/InterestandotherincomeexpensenetDetails Interest and other income (expense), net (Details) Details http://www.penumbrainc.com/role/InterestandotherincomeexpensenetTables 52 false false R53.htm 9954500 - Disclosure - Revenues - Disaggregation of Revenue (Details) Sheet http://www.penumbrainc.com/role/RevenuesDisaggregationofRevenueDetails Revenues - Disaggregation of Revenue (Details) Details 53 false false R54.htm 9954501 - Disclosure - Revenues - Summary of Contract Assets and Liabilities (Details) Sheet http://www.penumbrainc.com/role/RevenuesSummaryofContractAssetsandLiabilitiesDetails Revenues - Summary of Contract Assets and Liabilities (Details) Details 54 false false All Reports Book All Reports pen-20240331.htm pen-20240331.xsd pen-20240331_cal.xml pen-20240331_def.xml pen-20240331_lab.xml pen-20240331_pre.xml http://fasb.org/us-gaap/2023 http://xbrl.sec.gov/dei/2023 http://xbrl.sec.gov/ecd/2023 true true JSON 71 MetaLinks.json IDEA: XBRL DOCUMENT { "version": "2.2", "instance": { "pen-20240331.htm": { "nsprefix": "pen", "nsuri": "http://www.penumbrainc.com/20240331", "dts": { "inline": { "local": [ "pen-20240331.htm" ] }, "schema": { "local": [ "pen-20240331.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/net-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd", "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd", "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd", "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-roles-2023.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd", "https://xbrl.sec.gov/country/2023/country-2023.xsd", "https://xbrl.sec.gov/dei/2023/dei-2023.xsd", "https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd" ] }, "calculationLink": { "local": [ "pen-20240331_cal.xml" ] }, "definitionLink": { "local": [ "pen-20240331_def.xml" ] }, "labelLink": { "local": [ "pen-20240331_lab.xml" ] }, "presentationLink": { "local": [ "pen-20240331_pre.xml" ] } }, "keyStandard": 214, "keyCustom": 7, "axisStandard": 13, "axisCustom": 0, "memberStandard": 26, "memberCustom": 7, "hidden": { "total": 5, "http://xbrl.sec.gov/dei/2023": 5 }, "contextCount": 163, "entityCount": 1, "segmentCount": 36, "elementCount": 429, "unitCount": 6, "baseTaxonomies": { "http://fasb.org/us-gaap/2023": 638, "http://xbrl.sec.gov/dei/2023": 29, "http://xbrl.sec.gov/ecd/2023": 4 }, "report": { "R1": { "role": "http://www.penumbrainc.com/role/Cover", "longName": "0000001 - Document - Cover", "shortName": "Cover", "isDefault": "true", "groupType": "document", "subGroupType": "", "menuCat": "Cover", "order": "1", "firstAnchor": { "contextRef": "c-1", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true } }, "R2": { "role": "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets", "longName": "0000002 - Statement - Condensed Consolidated Balance Sheets", "shortName": "Condensed Consolidated Balance Sheets", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "2", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true } }, "R3": { "role": "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheetsParenthetical", "longName": "0000003 - Statement - Condensed Consolidated Balance Sheets (Parenthetical)", "shortName": "Condensed Consolidated Balance Sheets (Parenthetical)", "isDefault": "false", "groupType": "statement", "subGroupType": "parenthetical", "menuCat": "Statements", "order": "3", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:AllowanceForDoubtfulAccountsReceivable", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "div", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:AllowanceForDoubtfulAccountsReceivable", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "div", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true } }, "R4": { "role": "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations", "longName": "0000004 - Statement - Condensed Consolidated Statements of Operations", "shortName": "Condensed Consolidated Statements of Operations", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "4", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:Revenues", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:Revenues", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true } }, "R5": { "role": "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofComprehensiveLossIncome", "longName": "0000005 - Statement - Condensed Consolidated Statements of Comprehensive (Loss) Income", "shortName": "Condensed Consolidated Statements of Comprehensive (Loss) Income", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "5", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:NetIncomeLoss", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "unique": true } }, "R6": { "role": "http://www.penumbrainc.com/role/ConsolidatedStatementsofStockholdersEquityDeficit", "longName": "0000006 - Statement - Consolidated Statements of Stockholders' Equity (Deficit)", "shortName": "Consolidated Statements of Stockholders' Equity (Deficit)", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "6", "firstAnchor": { "contextRef": "c-18", "name": "us-gaap:SharesOutstanding", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "0", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-18", "name": "us-gaap:SharesOutstanding", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "0", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true } }, "R7": { "role": "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows", "longName": "0000007 - Statement - Condensed Consolidated Statements of Cash Flows", "shortName": "Condensed Consolidated Statements of Cash Flows", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "7", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ProfitLoss", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ProfitLoss", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true } }, "R8": { "role": "http://www.penumbrainc.com/role/OrganizationandDescriptionofBusiness", "longName": "0000008 - Disclosure - Organization and Description of Business", "shortName": "Organization and Description of Business", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "8", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:NatureOfOperations", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:NatureOfOperations", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true } }, "R9": { "role": "http://www.penumbrainc.com/role/SummaryofSignificantAccountingPolicies", "longName": "0000009 - Disclosure - Summary of Significant Accounting Policies", "shortName": "Summary of Significant Accounting Policies", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "9", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true } }, "R10": { "role": "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstruments", "longName": "0000010 - Disclosure - Investments and Fair Value of Financial Instruments", "shortName": "Investments and Fair Value of Financial Instruments", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "10", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:FairValueDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:FairValueDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true } }, "R11": { "role": "http://www.penumbrainc.com/role/BalanceSheetComponents", "longName": "0000011 - Disclosure - Balance Sheet Components", "shortName": "Balance Sheet Components", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "11", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true } }, "R12": { "role": "http://www.penumbrainc.com/role/IntangibleAssets", "longName": "0000012 - Disclosure - Intangible Assets", "shortName": "Intangible Assets", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "12", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:IntangibleAssetsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:IntangibleAssetsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true } }, "R13": { "role": "http://www.penumbrainc.com/role/Goodwill", "longName": "0000013 - Disclosure - Goodwill", "shortName": "Goodwill", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "13", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:GoodwillDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:GoodwillDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true } }, "R14": { "role": "http://www.penumbrainc.com/role/Indebtedness", "longName": "0000014 - Disclosure - Indebtedness", "shortName": "Indebtedness", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "14", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:DebtDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:DebtDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true } }, "R15": { "role": "http://www.penumbrainc.com/role/CommitmentsandContingencies", "longName": "0000015 - Disclosure - Commitments and Contingencies", "shortName": "Commitments and Contingencies", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "15", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true } }, "R16": { "role": "http://www.penumbrainc.com/role/StockholdersEquity", "longName": "0000016 - Disclosure - Stockholder's Equity", "shortName": "Stockholder's Equity", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "16", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true } }, "R17": { "role": "http://www.penumbrainc.com/role/AccumulatedOtherComprehensiveIncome", "longName": "0000017 - Disclosure - Accumulated Other Comprehensive Income", "shortName": "Accumulated Other Comprehensive Income", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "17", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ComprehensiveIncomeNoteTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ComprehensiveIncomeNoteTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true } }, "R18": { "role": "http://www.penumbrainc.com/role/IncomeTaxes", "longName": "0000018 - Disclosure - Income Taxes", "shortName": "Income Taxes", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "18", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true } }, "R19": { "role": "http://www.penumbrainc.com/role/NetIncomeperShare", "longName": "0000019 - Disclosure - Net Income per Share", "shortName": "Net Income per Share", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "19", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:EarningsPerShareTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:EarningsPerShareTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true } }, "R20": { "role": "http://www.penumbrainc.com/role/Interestandotherincomeexpensenet", "longName": "0000020 - Disclosure - Interest and other income (expense), net", "shortName": "Interest and other income (expense), net", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "20", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:OtherIncomeAndOtherExpenseDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:OtherIncomeAndOtherExpenseDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true } }, "R21": { "role": "http://www.penumbrainc.com/role/Revenues", "longName": "0000021 - Disclosure - Revenues", "shortName": "Revenues", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "21", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true } }, "R22": { "role": "http://xbrl.sec.gov/ecd/role/PvpDisclosure", "longName": "995410 - Disclosure - Pay vs Performance Disclosure", "shortName": "Pay vs Performance Disclosure", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "22", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:NetIncomeLoss", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true }, "uniqueAnchor": null }, "R23": { "role": "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "longName": "995445 - Disclosure - Insider Trading Arrangements", "shortName": "Insider Trading Arrangements", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "23", "firstAnchor": { "contextRef": "c-1", "name": "ecd:Rule10b51ArrAdoptedFlag", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ecd:NonRule10b51ArrAdoptedFlag", "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "ecd:Rule10b51ArrAdoptedFlag", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ecd:NonRule10b51ArrAdoptedFlag", "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true } }, "R24": { "role": "http://www.penumbrainc.com/role/SummaryofSignificantAccountingPoliciesPolicies", "longName": "9954471 - Disclosure - Summary of Significant Accounting Policies (Policies)", "shortName": "Summary of Significant Accounting Policies (Policies)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "policies", "menuCat": "Policies", "order": "24", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:SignificantAccountingPoliciesTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:SignificantAccountingPoliciesTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true } }, "R25": { "role": "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsTables", "longName": "9954472 - Disclosure - Investments and Fair Value of Financial Instruments (Tables)", "shortName": "Investments and Fair Value of Financial Instruments (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "25", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "us-gaap:FairValueDisclosuresTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "us-gaap:FairValueDisclosuresTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true } }, "R26": { "role": "http://www.penumbrainc.com/role/BalanceSheetComponentsBalanceSheetComponentsTables", "longName": "9954473 - Disclosure - Balance Sheet Components Balance Sheet Components (Tables)", "shortName": "Balance Sheet Components Balance Sheet Components (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "26", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true } }, "R27": { "role": "http://www.penumbrainc.com/role/IntangibleAssetsIntangibleAssetsTables", "longName": "9954474 - Disclosure - Intangible Assets Intangible Assets (Tables)", "shortName": "Intangible Assets Intangible Assets (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "27", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:IntangibleAssetsDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:IntangibleAssetsDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true } }, "R28": { "role": "http://www.penumbrainc.com/role/GoodwillTables", "longName": "9954475 - Disclosure - Goodwill (Tables)", "shortName": "Goodwill (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "28", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:GoodwillDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:GoodwillDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true } }, "R29": { "role": "http://www.penumbrainc.com/role/StockholdersEquityTables", "longName": "9954476 - Disclosure - Stockholder's Equity (Tables)", "shortName": "Stockholder's Equity (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "29", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true } }, "R30": { "role": "http://www.penumbrainc.com/role/AccumulatedOtherComprehensiveIncomeTables", "longName": "9954477 - Disclosure - Accumulated Other Comprehensive Income (Tables)", "shortName": "Accumulated Other Comprehensive Income (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "30", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:ComprehensiveIncomeNoteTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:ComprehensiveIncomeNoteTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true } }, "R31": { "role": "http://www.penumbrainc.com/role/NetIncomeperShareTables", "longName": "9954478 - Disclosure - Net Income per Share (Tables)", "shortName": "Net Income per Share (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "31", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:EarningsPerShareTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:EarningsPerShareTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true } }, "R32": { "role": "http://www.penumbrainc.com/role/InterestandotherincomeexpensenetTables", "longName": "9954479 - Disclosure - Interest and other income (expense), net (Tables)", "shortName": "Interest and other income (expense), net (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "32", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfOtherOperatingCostAndExpenseByComponentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfOtherOperatingCostAndExpenseByComponentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true } }, "R33": { "role": "http://www.penumbrainc.com/role/RevenuesRevenuesTables", "longName": "9954480 - Disclosure - Revenues Revenues (Tables)", "shortName": "Revenues Revenues (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "33", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:RevenueFromContractWithCustomerTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:RevenueFromContractWithCustomerTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true } }, "R34": { "role": "http://www.penumbrainc.com/role/SummaryofSignificantAccountingPoliciesAdditionalDisclosuresDetails", "longName": "9954481 - Disclosure - Summary of Significant Accounting Policies - Additional Disclosures (Details)", "shortName": "Summary of Significant Accounting Policies - Additional Disclosures (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "34", "firstAnchor": { "contextRef": "c-1", "name": "pen:NumberofBusinessActivities", "unitRef": "activity", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "pen:NumberofBusinessActivities", "unitRef": "activity", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true } }, "R35": { "role": "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsGainsandLossesofMarketableInvestmentsDetails", "longName": "9954482 - Disclosure - Investments and Fair Value of Financial Instruments - Gains and Losses of Marketable Investments (Details)", "shortName": "Investments and Fair Value of Financial Instruments - Gains and Losses of Marketable Investments (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "35", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "unique": true } }, "R36": { "role": "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsNarrativeDetails", "longName": "9954483 - Disclosure - Investments and Fair Value of Financial Instruments - Narrative (Details)", "shortName": "Investments and Fair Value of Financial Instruments - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "36", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:DebtSecuritiesAvailableForSaleAllowanceForCreditLossPeriodIncreaseDecrease", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "0", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "unique": true } }, "R37": { "role": "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsMarketableSecuritiesinanUnrealizedLossPositionDetails", "longName": "9954484 - Disclosure - Investments and Fair Value of Financial Instruments - Marketable Securities in an Unrealized Loss Position (Details)", "shortName": "Investments and Fair Value of Financial Instruments - Marketable Securities in an Unrealized Loss Position (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "37", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true } }, "R38": { "role": "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsContractualMaturitiesofMarketableInvestmentsDetails", "longName": "9954485 - Disclosure - Investments and Fair Value of Financial Instruments - Contractual Maturities of Marketable Investments (Details)", "shortName": "Investments and Fair Value of Financial Instruments - Contractual Maturities of Marketable Investments (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "38", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true } }, "R39": { "role": "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsFinancialAssetsandLiabilitiesMeasuredatFairValueDetails", "longName": "9954486 - Disclosure - Investments and Fair Value of Financial Instruments - Financial Assets and Liabilities Measured at Fair Value (Details)", "shortName": "Investments and Fair Value of Financial Instruments - Financial Assets and Liabilities Measured at Fair Value (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "39", "firstAnchor": { "contextRef": "c-87", "name": "us-gaap:AssetsFairValueDisclosure", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-87", "name": "us-gaap:AssetsFairValueDisclosure", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true } }, "R40": { "role": "http://www.penumbrainc.com/role/BalanceSheetComponentsInventoriesDetails", "longName": "9954487 - Disclosure - Balance Sheet Components - Inventories (Details)", "shortName": "Balance Sheet Components - Inventories (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "40", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:InventoryRawMaterialsNetOfReserves", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:InventoryRawMaterialsNetOfReserves", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true } }, "R41": { "role": "http://www.penumbrainc.com/role/BalanceSheetComponentsAccruedLiabilitiesDetails", "longName": "9954488 - Disclosure - Balance Sheet Components - Accrued Liabilities (Details)", "shortName": "Balance Sheet Components - Accrued Liabilities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "41", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:EmployeeRelatedLiabilitiesCurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:EmployeeRelatedLiabilitiesCurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true } }, "R42": { "role": "http://www.penumbrainc.com/role/BalanceSheetComponentsProductWarrantyDetails", "longName": "9954489 - Disclosure - Balance Sheet Components - Product Warranty (Details)", "shortName": "Balance Sheet Components - Product Warranty (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "42", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:ProductWarrantyAccrual", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-22", "name": "us-gaap:ProductWarrantyAccrual", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "unique": true } }, "R43": { "role": "http://www.penumbrainc.com/role/IntangibleAssetsIntangibleAssetsDetails", "longName": "9954490 - Disclosure - Intangible Assets - Intangible Assets (Details)", "shortName": "Intangible Assets - Intangible Assets (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "43", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "us-gaap:IntangibleAssetsDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "us-gaap:IntangibleAssetsDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true } }, "R44": { "role": "http://www.penumbrainc.com/role/GoodwillDetails", "longName": "9954491 - Disclosure - Goodwill (Details)", "shortName": "Goodwill (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "44", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:Goodwill", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:GoodwillOtherIncreaseDecrease", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfGoodwillTextBlock", "us-gaap:GoodwillDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "unique": true } }, "R45": { "role": "http://www.penumbrainc.com/role/IndebtednessDetails", "longName": "9954492 - Disclosure - Indebtedness (Details)", "shortName": "Indebtedness (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "45", "firstAnchor": { "contextRef": "c-133", "name": "us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "us-gaap:DebtDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-133", "name": "us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "us-gaap:DebtDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true } }, "R46": { "role": "http://www.penumbrainc.com/role/CommitmentsandContingenciesRoyaltyObligationsDetails", "longName": "9954493 - Disclosure - Commitments and Contingencies - Royalty Obligations (Details)", "shortName": "Commitments and Contingencies - Royalty Obligations (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "46", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:LossContingencyAccrualAtCarryingValue", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "ix:continuation", "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:LossContingencyAccrualAtCarryingValue", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "ix:continuation", "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true } }, "R47": { "role": "http://www.penumbrainc.com/role/StockholdersEquityStockbasedCompensationExpenseDetails", "longName": "9954494 - Disclosure - Stockholder's Equity - Stock-based Compensation Expense (Details)", "shortName": "Stockholder's Equity - Stock-based Compensation Expense (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "47", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:AllocatedShareBasedCompensationExpense", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:AllocatedShareBasedCompensationExpense", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true } }, "R48": { "role": "http://www.penumbrainc.com/role/AccumulatedOtherComprehensiveIncomeDetails", "longName": "9954495 - Disclosure - Accumulated Other Comprehensive Income (Details)", "shortName": "Accumulated Other Comprehensive Income (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "48", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:StockholdersEquity", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-144", "name": "us-gaap:StockholdersEquity", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock", "us-gaap:ComprehensiveIncomeNoteTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "unique": true } }, "R49": { "role": "http://www.penumbrainc.com/role/IncomeTaxesIncomeTaxesDetails", "longName": "9954496 - Disclosure - Income Taxes Income Taxes (Details)", "shortName": "Income Taxes Income Taxes (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "49", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:IncomeTaxExpenseBenefit", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations", "unitRef": "number", "xsiNil": "false", "lang": "en-US", "decimals": "3", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "unique": true } }, "R50": { "role": "http://www.penumbrainc.com/role/NetIncomeperShareBasicandDilutedEarningsperShareDetails", "longName": "9954497 - Disclosure - Net Income per Share - Basic and Diluted Earnings per Share (Details)", "shortName": "Net Income per Share - Basic and Diluted Earnings per Share (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "50", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:NetIncomeLoss", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "0", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "us-gaap:EarningsPerShareTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "unique": true } }, "R51": { "role": "http://www.penumbrainc.com/role/NetIncomeperShareAntidilutiveSecuritiesDetails", "longName": "9954498 - Disclosure - Net Income per Share - Antidilutive Securities (Details)", "shortName": "Net Income per Share - Antidilutive Securities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "51", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "div", "us-gaap:EarningsPerShareTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "div", "us-gaap:EarningsPerShareTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true } }, "R52": { "role": "http://www.penumbrainc.com/role/InterestandotherincomeexpensenetDetails", "longName": "9954499 - Disclosure - Interest and other income (expense), net (Details)", "shortName": "Interest and other income (expense), net (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "52", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:InvestmentIncomeInterest", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "us-gaap:ScheduleOfOtherOperatingCostAndExpenseByComponentTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:InvestmentIncomeInterest", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "us-gaap:ScheduleOfOtherOperatingCostAndExpenseByComponentTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true } }, "R53": { "role": "http://www.penumbrainc.com/role/RevenuesDisaggregationofRevenueDetails", "longName": "9954500 - Disclosure - Revenues - Disaggregation of Revenue (Details)", "shortName": "Revenues - Disaggregation of Revenue (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "53", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DisaggregationOfRevenueTableTextBlock", "us-gaap:RevenueFromContractWithCustomerTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DisaggregationOfRevenueTableTextBlock", "us-gaap:RevenueFromContractWithCustomerTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true } }, "R54": { "role": "http://www.penumbrainc.com/role/RevenuesSummaryofContractAssetsandLiabilitiesDetails", "longName": "9954501 - Disclosure - Revenues - Summary of Contract Assets and Liabilities (Details)", "shortName": "Revenues - Summary of Contract Assets and Liabilities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "54", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:ContractWithCustomerAssetNet", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:ContractWithCustomerAssetNet", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "pen-20240331.htm", "first": true, "unique": true } } }, "tag": { "us-gaap_AccountingPoliciesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountingPoliciesAbstract", "lang": { "en-us": { "role": { "terseLabel": "Accounting Policies [Abstract]", "label": "Accounting Policies [Abstract]" } } }, "auth_ref": [] }, "us-gaap_AccountsPayableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsPayableCurrent", "crdr": "credit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Accounts payable", "label": "Accounts Payable, Current", "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": [ "r16", "r617" ] }, "us-gaap_AccountsReceivableNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsReceivableNetCurrent", "crdr": "debit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Accounts receivable, net of allowance for credit losses of $3,020 and $3,169 at March 31, 2024 and December 31, 2023, respectively", "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": [ "r207", "r208" ] }, "us-gaap_AccruedLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccruedLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 2.0 }, "http://www.penumbrainc.com/role/BalanceSheetComponentsAccruedLiabilitiesDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.penumbrainc.com/role/BalanceSheetComponentsAccruedLiabilitiesDetails", "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Accrued liabilities", "totalLabel": "Total accrued liabilities", "label": "Accrued Liabilities, Current", "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": [ "r19" ] }, "us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedNetUnrealizedInvestmentGainLossMember", "presentation": [ "http://www.penumbrainc.com/role/AccumulatedOtherComprehensiveIncomeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Marketable Investments", "label": "AOCI, Accumulated Gain (Loss), Debt Securities, Available-for-Sale, Parent [Member]", "documentation": "Accumulated 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), attributable to parent." } } }, "auth_ref": [ "r124", "r125", "r126", "r128", "r135", "r136", "r719" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedOtherComprehensiveIncomeLossLineItems", "presentation": [ "http://www.penumbrainc.com/role/AccumulatedOtherComprehensiveIncomeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Accumulated Other Comprehensive Income (Loss) [Line Items]", "label": "Accumulated Other Comprehensive Income (Loss) [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r134", "r135", "r422", "r424", "r425", "r426", "r427", "r428" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax", "crdr": "credit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Accumulated other comprehensive loss", "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax", "documentation": "Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source." } } }, "auth_ref": [ "r24", "r25", "r67", "r120", "r485", "r507", "r508" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedOtherComprehensiveIncomeLossTable", "presentation": [ "http://www.penumbrainc.com/role/AccumulatedOtherComprehensiveIncomeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Accumulated Other Comprehensive Income (Loss) [Table]", "label": "Accumulated Other Comprehensive Income (Loss) [Table]", "documentation": "Disclosure of information about components of accumulated other comprehensive income (loss)." } } }, "auth_ref": [ "r134", "r135", "r422", "r424", "r425", "r426", "r427", "r428" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedOtherComprehensiveIncomeMember", "presentation": [ "http://www.penumbrainc.com/role/AccumulatedOtherComprehensiveIncomeDetails", "http://www.penumbrainc.com/role/ConsolidatedStatementsofStockholdersEquityDeficit" ], "lang": { "en-us": { "role": { "terseLabel": "Accumulated Other Comprehensive Income (Loss)", "verboseLabel": "Total", "label": "AOCI Attributable to Parent [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": [ "r2", "r11", "r25", "r403", "r406", "r437", "r503", "r504", "r719", "r720", "r721", "r727", "r728", "r729" ] }, "us-gaap_AccumulatedTranslationAdjustmentMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedTranslationAdjustmentMember", "presentation": [ "http://www.penumbrainc.com/role/AccumulatedOtherComprehensiveIncomeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Currency Translation Adjustments", "label": "Accumulated Foreign Currency Adjustment Attributable to Parent [Member]", "documentation": "Accumulated other comprehensive income (loss) resulting from foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature, attributable to the parent." } } }, "auth_ref": [ "r4", "r11", "r25", "r135", "r136", "r424", "r425", "r426", "r427", "r428", "r719" ] }, "us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife", "presentation": [ "http://www.penumbrainc.com/role/IntangibleAssetsIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Weighted-Average Amortization Period", "label": "Acquired Finite-Lived Intangible Assets, Weighted Average Useful Life", "documentation": "Weighted average amortization period of finite-lived intangible assets acquired either individually or as part of a group of assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r84" ] }, "ecd_Additional402vDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "Additional402vDisclosureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Additional 402(v) Disclosure", "label": "Additional 402(v) Disclosure [Text Block]" } } }, "auth_ref": [ "r667" ] }, "us-gaap_AdditionalPaidInCapital": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdditionalPaidInCapital", "crdr": "credit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Additional paid-in capital", "label": "Additional Paid in Capital", "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": [ "r58", "r617", "r775" ] }, "us-gaap_AdditionalPaidInCapitalMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdditionalPaidInCapitalMember", "presentation": [ "http://www.penumbrainc.com/role/ConsolidatedStatementsofStockholdersEquityDeficit" ], "lang": { "en-us": { "role": { "terseLabel": "Additional Paid-in Capital", "label": "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": [ "r376", "r377", "r378", "r513", "r727", "r728", "r729", "r763", "r777" ] }, "ecd_AdjToCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AdjToCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Adjustment to Compensation, Amount", "label": "Adjustment to Compensation Amount" } } }, "auth_ref": [ "r673" ] }, "ecd_AdjToCompAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AdjToCompAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Adjustment to Compensation:", "label": "Adjustment to Compensation [Axis]" } } }, "auth_ref": [ "r673" ] }, "ecd_AdjToNonPeoNeoCompFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AdjToNonPeoNeoCompFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Adjustment to Non-PEO NEO Compensation Footnote", "label": "Adjustment to Non-PEO NEO Compensation Footnote [Text Block]" } } }, "auth_ref": [ "r673" ] }, "ecd_AdjToPeoCompFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AdjToPeoCompFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Adjustment To PEO Compensation, Footnote", "label": "Adjustment To PEO Compensation, Footnote [Text Block]" } } }, "auth_ref": [ "r673" ] }, "us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Adjustments to reconcile net income to net cash provided by operating activities:", "label": "Adjustments, Noncash Items, to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]" } } }, "auth_ref": [] }, "us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation", "crdr": "debit", "presentation": [ "http://www.penumbrainc.com/role/ConsolidatedStatementsofStockholdersEquityDeficit" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Shares held for tax withholdings", "label": "Share-Based Payment Arrangement, Decrease for Tax Withholding Obligation", "documentation": "Amount of decrease to equity for grantee's tax withholding obligation for award under share-based payment arrangement." } } }, "auth_ref": [] }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "crdr": "credit", "presentation": [ "http://www.penumbrainc.com/role/ConsolidatedStatementsofStockholdersEquityDeficit" ], "lang": { "en-us": { "role": { "terseLabel": "Stock-based compensation", "label": "APIC, Share-Based Payment Arrangement, Increase for Cost Recognition", "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement." } } }, "auth_ref": [ "r46", "r47", "r345" ] }, "ecd_AggtErrCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AggtErrCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Aggregate Erroneous Compensation Amount", "label": "Aggregate Erroneous Compensation Amount" } } }, "auth_ref": [ "r638", "r649", "r659", "r684" ] }, "ecd_AggtErrCompNotYetDeterminedTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AggtErrCompNotYetDeterminedTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Aggregate Erroneous Compensation Not Yet Determined", "label": "Aggregate Erroneous Compensation Not Yet Determined [Text Block]" } } }, "auth_ref": [ "r641", "r652", "r662", "r687" ] }, "ecd_AllAdjToCompMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AllAdjToCompMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "All Adjustments to Compensation", "label": "All Adjustments to Compensation [Member]" } } }, "auth_ref": [ "r673" ] }, "ecd_AllExecutiveCategoriesMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AllExecutiveCategoriesMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "All Executive Categories", "label": "All Executive Categories [Member]" } } }, "auth_ref": [ "r680" ] }, "ecd_AllIndividualsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AllIndividualsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure", "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure", "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "All Individuals", "label": "All Individuals [Member]" } } }, "auth_ref": [ "r645", "r653", "r663", "r680", "r688", "r692", "r700" ] }, "ecd_AllTradingArrangementsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AllTradingArrangementsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "All Trading Arrangements", "label": "All Trading Arrangements [Member]" } } }, "auth_ref": [ "r698" ] }, "us-gaap_AllocatedShareBasedCompensationExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AllocatedShareBasedCompensationExpense", "crdr": "debit", "presentation": [ "http://www.penumbrainc.com/role/StockholdersEquityStockbasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Stock-based compensation expense", "label": "Share-Based Payment Arrangement, Expense", "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized." } } }, "auth_ref": [ "r373", "r379" ] }, "us-gaap_AllowanceForDoubtfulAccountsReceivable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AllowanceForDoubtfulAccountsReceivable", "crdr": "credit", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Allowance for credit losses", "label": "Accounts Receivable, Allowance for Credit Loss", "documentation": "Amount of allowance for credit loss on accounts receivable." } } }, "auth_ref": [ "r121", "r209", "r246", "r249", "r250", "r771" ] }, "dei_AmendmentFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "AmendmentFlag", "presentation": [ "http://www.penumbrainc.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Amendment Flag", "label": "Amendment Flag", "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission." } } }, "auth_ref": [] }, "us-gaap_AmortizationOfIntangibleAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AmortizationOfIntangibleAssets", "crdr": "debit", "presentation": [ "http://www.penumbrainc.com/role/IntangibleAssetsIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Total amortization of finite lived intangible assets", "label": "Amortization of Intangible Assets", "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method." } } }, "auth_ref": [ "r8", "r38", "r42" ] }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "presentation": [ "http://www.penumbrainc.com/role/NetIncomeperShareAntidilutiveSecuritiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Antidilutive securities excluded from the computation of earnings per share (in shares)", "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount", "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": [ "r177" ] }, "us-gaap_Assets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Assets", "crdr": "debit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "totalLabel": "Total assets", "label": "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": [ "r93", "r119", "r151", "r182", "r197", "r201", "r243", "r288", "r289", "r290", "r291", "r292", "r293", "r294", "r295", "r296", "r396", "r400", "r420", "r482", "r538", "r617", "r629", "r757", "r758", "r768" ] }, "us-gaap_AssetsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsAbstract", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Assets", "label": "Assets [Abstract]" } } }, "auth_ref": [] }, "us-gaap_AssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsCurrent", "crdr": "debit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "totalLabel": "Total current assets", "label": "Assets, Current", "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": [ "r113", "r123", "r151", "r243", "r288", "r289", "r290", "r291", "r292", "r293", "r294", "r295", "r296", "r396", "r400", "r420", "r617", "r757", "r758", "r768" ] }, "us-gaap_AssetsCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsCurrentAbstract", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Current assets:", "label": "Assets, Current [Abstract]" } } }, "auth_ref": [] }, "us-gaap_AssetsFairValueDisclosure": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsFairValueDisclosure", "crdr": "debit", "calculation": { "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsFinancialAssetsandLiabilitiesMeasuredatFairValueDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsFinancialAssetsandLiabilitiesMeasuredatFairValueDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Assets, Fair Value Disclosure", "label": "Assets, Fair Value Disclosure", "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": [ "r51" ] }, "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax", "crdr": "credit", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsGainsandLossesofMarketableInvestmentsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Gross Unrealized Gains", "label": "Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Gain, before Tax", "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": [ "r216" ] }, "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax", "crdr": "debit", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsGainsandLossesofMarketableInvestmentsDetails", "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsNarrativeDetails" ], "lang": { "en-us": { "role": { "negatedLabel": "Gross Unrealized Losses", "label": "Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Loss, before Tax", "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": [ "r217" ] }, "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AvailableForSaleDebtSecuritiesAmortizedCostBasis", "crdr": "debit", "calculation": { "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsContractualMaturitiesofMarketableInvestmentsDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsContractualMaturitiesofMarketableInvestmentsDetails", "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsGainsandLossesofMarketableInvestmentsDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Amortized Cost", "totalLabel": "Total", "label": "Debt Securities, Available-for-Sale, 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": [ "r213", "r254", "r481" ] }, "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost", "crdr": "debit", "calculation": { "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsContractualMaturitiesofMarketableInvestmentsDetails": { "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsContractualMaturitiesofMarketableInvestmentsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Due in one to five years", "label": "Debt Securities, Available-for-Sale, Amortized Cost, Maturity, Allocated and Single Maturity Date, after Year One Through Five", "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), with single maturity date and allocated without single maturity date, maturing in second through 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": [ "r735" ] }, "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue", "crdr": "debit", "calculation": { "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsContractualMaturitiesofMarketableInvestmentsDetails": { "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsContractualMaturitiesofMarketableInvestmentsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Due in one to five years", "label": "Debt Securities, Available-for-Sale, Fair Value, Maturity, Allocated and Single Maturity Date, after Year One Through Five", "documentation": "Fair value of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in second through 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": [ "r221", "r479" ] }, "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAmortizedCostAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AvailableForSaleSecuritiesDebtMaturitiesAmortizedCostAbstract", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsContractualMaturitiesofMarketableInvestmentsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Amortized Cost", "label": "Debt Securities, Available-for-Sale, Amortized Cost, Fiscal Year Maturity [Abstract]" } } }, "auth_ref": [] }, "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesFairValueAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AvailableForSaleSecuritiesDebtMaturitiesFairValueAbstract", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsContractualMaturitiesofMarketableInvestmentsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value", "label": "Debt Securities, Available-for-Sale, Fair Value, Fiscal Year Maturity [Abstract]" } } }, "auth_ref": [] }, "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost", "crdr": "debit", "calculation": { "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsContractualMaturitiesofMarketableInvestmentsDetails": { "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsContractualMaturitiesofMarketableInvestmentsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Due in one year", "label": "Debt Securities, Available-for-Sale, Amortized Cost, Maturity, Allocated and Single Maturity Date, Year One", "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), with single maturity date and allocated without single maturity date, maturing in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r734" ] }, "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue", "crdr": "debit", "calculation": { "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsContractualMaturitiesofMarketableInvestmentsDetails": { "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsContractualMaturitiesofMarketableInvestmentsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Due in one year", "label": "Debt Securities, Available-for-Sale, Fair Value, Maturity, Allocated and Single Maturity Date, Year One", "documentation": "Fair value of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r220", "r478" ] }, "us-gaap_AvailableForSaleSecuritiesDebtSecurities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AvailableForSaleSecuritiesDebtSecurities", "crdr": "debit", "calculation": { "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsFinancialAssetsandLiabilitiesMeasuredatFairValueDetails": { "parentTag": "us-gaap_AssetsFairValueDisclosure", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsFinancialAssetsandLiabilitiesMeasuredatFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Marketable investments", "label": "Debt Securities, Available-for-Sale", "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": [ "r214", "r254", "r473", "r732" ] }, "us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AvailableForSaleSecuritiesDebtSecuritiesCurrent", "crdr": "debit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 5.0 }, "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsContractualMaturitiesofMarketableInvestmentsDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets", "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsContractualMaturitiesofMarketableInvestmentsDetails", "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsGainsandLossesofMarketableInvestmentsDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Marketable investments", "terseLabel": "Fair Value", "totalLabel": "Total", "label": "Debt Securities, Available-for-Sale, Current", "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as current." } } }, "auth_ref": [ "r211", "r254" ] }, "ecd_AwardExrcPrice": { "xbrltype": "perShareItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardExrcPrice", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Exercise Price", "label": "Award Exercise Price" } } }, "auth_ref": [ "r695" ] }, "ecd_AwardGrantDateFairValue": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardGrantDateFairValue", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value as of Grant Date", "label": "Award Grant Date Fair Value" } } }, "auth_ref": [ "r696" ] }, "ecd_AwardTmgDiscLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgDiscLineItems", "lang": { "en-us": { "role": { "label": "Award Timing Disclosures [Line Items]" } } }, "auth_ref": [ "r691" ] }, "ecd_AwardTmgHowMnpiCnsdrdTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgHowMnpiCnsdrdTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Timing, How MNPI Considered", "label": "Award Timing, How MNPI Considered [Text Block]" } } }, "auth_ref": [ "r691" ] }, "ecd_AwardTmgMethodTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgMethodTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Timing Method", "label": "Award Timing Method [Text Block]" } } }, "auth_ref": [ "r691" ] }, "ecd_AwardTmgMnpiCnsdrdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgMnpiCnsdrdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Timing MNPI Considered", "label": "Award Timing MNPI Considered [Flag]" } } }, "auth_ref": [ "r691" ] }, "ecd_AwardTmgMnpiDiscTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgMnpiDiscTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Timing MNPI Disclosure", "label": "Award Timing MNPI Disclosure [Text Block]" } } }, "auth_ref": [ "r691" ] }, "ecd_AwardTmgPredtrmndFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgPredtrmndFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Timing Predetermined", "label": "Award Timing Predetermined [Flag]" } } }, "auth_ref": [ "r691" ] }, "us-gaap_AwardTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AwardTypeAxis", "presentation": [ "http://www.penumbrainc.com/role/StockholdersEquityStockbasedCompensationExpenseDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Type [Axis]", "label": "Award Type [Axis]", "documentation": "Information by type of award under share-based payment arrangement." } } }, "auth_ref": [ "r347", "r348", "r349", "r350", "r351", "r352", "r353", "r354", "r355", "r356", "r357", "r358", "r359", "r360", "r361", "r362", "r363", "r364", "r365", "r366", "r367", "r368", "r369", "r370", "r371", "r372" ] }, "ecd_AwardUndrlygSecuritiesAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardUndrlygSecuritiesAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Underlying Securities", "label": "Award Underlying Securities Amount" } } }, "auth_ref": [ "r694" ] }, "ecd_AwardsCloseToMnpiDiscIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardsCloseToMnpiDiscIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Name", "label": "Awards Close in Time to MNPI Disclosures, Individual Name" } } }, "auth_ref": [ "r693" ] }, "ecd_AwardsCloseToMnpiDiscTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardsCloseToMnpiDiscTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Awards Close in Time to MNPI Disclosures", "label": "Awards Close in Time to MNPI Disclosures [Table]" } } }, "auth_ref": [ "r692" ] }, "ecd_AwardsCloseToMnpiDiscTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardsCloseToMnpiDiscTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Awards Close in Time to MNPI Disclosures, Table", "label": "Awards Close in Time to MNPI Disclosures [Table Text Block]" } } }, "auth_ref": [ "r692" ] }, "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BasisOfAccountingPolicyPolicyTextBlock", "presentation": [ "http://www.penumbrainc.com/role/SummaryofSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Basis of Presentation", "label": "Basis of Accounting, Policy [Policy Text Block]", "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": [] }, "us-gaap_CapitalExpendituresIncurredButNotYetPaid": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CapitalExpendituresIncurredButNotYetPaid", "crdr": "credit", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Purchase of property and equipment funded through accounts payable and accrued liabilities", "label": "Capital Expenditures Incurred but Not yet Paid", "documentation": "Future cash outflow to pay for purchases of fixed assets that have occurred." } } }, "auth_ref": [ "r31", "r32", "r33" ] }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashAndCashEquivalentsAtCarryingValue", "crdr": "debit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Cash and cash equivalents", "label": "Cash and Cash Equivalents, at Carrying Value", "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": [ "r29", "r115", "r588" ] }, "us-gaap_CashAndCashEquivalentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashAndCashEquivalentsAxis", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsFinancialAssetsandLiabilitiesMeasuredatFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cash and Cash Equivalents [Axis]", "label": "Cash and Cash Equivalents [Axis]", "documentation": "Information by type of cash and cash equivalent balance." } } }, "auth_ref": [ "r115" ] }, "us-gaap_CashAndCashEquivalentsFairValueDisclosure": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashAndCashEquivalentsFairValueDisclosure", "crdr": "debit", "calculation": { "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsFinancialAssetsandLiabilitiesMeasuredatFairValueDetails": { "parentTag": "us-gaap_AssetsFairValueDisclosure", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsFinancialAssetsandLiabilitiesMeasuredatFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cash equivalents", "label": "Cash and Cash Equivalents, 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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "crdr": "debit", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "periodStartLabel": "CASH AND CASH EQUIVALENTS\u2014Beginning of period", "periodEndLabel": "CASH AND CASH EQUIVALENTS\u2014End of period", "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents", "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r29", "r78", "r147" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "crdr": "debit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "totalLabel": "NET INCREASE 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": [ "r1", "r78" ] }, "us-gaap_CertificatesOfDepositMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CertificatesOfDepositMember", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsFinancialAssetsandLiabilitiesMeasuredatFairValueDetails", "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsGainsandLossesofMarketableInvestmentsDetails", "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsMarketableSecuritiesinanUnrealizedLossPositionDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Certificate of Deposit", "label": "Certificates of Deposit [Member]", "documentation": "Short to medium-term investment available at banks and savings and loan institutions where a customer agrees to lend money to the institution for a certain amount of time and is paid a predetermined rate of interest. Certificates of deposit (CD) are typically Federal Deposit Insurance Corporation (FDIC) insured." } } }, "auth_ref": [ "r10", "r623", "r624", "r625", "r626" ] }, "ecd_ChangedPeerGroupFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ChangedPeerGroupFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Changed Peer Group, Footnote", "label": "Changed Peer Group, Footnote [Text Block]" } } }, "auth_ref": [ "r671" ] }, "dei_CityAreaCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CityAreaCode", "presentation": [ "http://www.penumbrainc.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "City Area Code", "label": "City Area Code", "documentation": "Area code of city" } } }, "auth_ref": [] }, "ecd_CoSelectedMeasureAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CoSelectedMeasureAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Company Selected Measure Amount", "label": "Company Selected Measure Amount" } } }, "auth_ref": [ "r672" ] }, "ecd_CoSelectedMeasureName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CoSelectedMeasureName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Company Selected Measure Name", "label": "Company Selected Measure Name" } } }, "auth_ref": [ "r672" ] }, "us-gaap_CommercialPaperNotIncludedWithCashAndCashEquivalentsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommercialPaperNotIncludedWithCashAndCashEquivalentsMember", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsFinancialAssetsandLiabilitiesMeasuredatFairValueDetails", "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsGainsandLossesofMarketableInvestmentsDetails", "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsMarketableSecuritiesinanUnrealizedLossPositionDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Commercial paper", "label": "Commercial Paper, Not Included with Cash and Cash Equivalents [Member]", "documentation": "Unsecured promissory note (generally negotiable) that provides institutions with short-term funds that is excluded from cash and cash equivalents." } } }, "auth_ref": [ "r761", "r764" ] }, "us-gaap_CommitmentsAndContingencies": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingencies", "crdr": "credit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Commitments and contingencies", "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": [ "r22", "r54", "r483", "r525" ] }, "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingenciesDisclosureAbstract", "lang": { "en-us": { "role": { "terseLabel": "Commitments and Contingencies Disclosure [Abstract]", "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.penumbrainc.com/role/CommitmentsandContingencies" ], "lang": { "en-us": { "role": { "terseLabel": "Commitments and Contingencies", "label": "Commitments and Contingencies Disclosure [Text Block]", "documentation": "The entire disclosure for commitments and contingencies." } } }, "auth_ref": [ "r86", "r279", "r280", "r576", "r754" ] }, "us-gaap_CommonStockMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockMember", "presentation": [ "http://www.penumbrainc.com/role/ConsolidatedStatementsofStockholdersEquityDeficit" ], "lang": { "en-us": { "role": { "verboseLabel": "Common Stock", "label": "Common Stock [Member]", "documentation": "Stock that is subordinate to all other stock of the issuer." } } }, "auth_ref": [ "r619", "r620", "r621", "r623", "r624", "r625", "r626", "r727", "r728", "r763", "r774", "r777" ] }, "us-gaap_CommonStockValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockValue", "crdr": "credit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Common stock", "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": [ "r57", "r484", "r617" ] }, "ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CompActuallyPaidVsCoSelectedMeasureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Compensation Actually Paid vs. Company Selected Measure", "label": "Compensation Actually Paid vs. Company Selected Measure [Text Block]" } } }, "auth_ref": [ "r677" ] }, "ecd_CompActuallyPaidVsNetIncomeTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CompActuallyPaidVsNetIncomeTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Compensation Actually Paid vs. Net Income", "label": "Compensation Actually Paid vs. Net Income [Text Block]" } } }, "auth_ref": [ "r676" ] }, "ecd_CompActuallyPaidVsOtherMeasureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CompActuallyPaidVsOtherMeasureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Compensation Actually Paid vs. Other Measure", "label": "Compensation Actually Paid vs. Other Measure [Text Block]" } } }, "auth_ref": [ "r678" ] }, "ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CompActuallyPaidVsTotalShareholderRtnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Compensation Actually Paid vs. Total Shareholder Return", "label": "Compensation Actually Paid vs. Total Shareholder Return [Text Block]" } } }, "auth_ref": [ "r675" ] }, "us-gaap_ComprehensiveIncomeNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComprehensiveIncomeNetOfTax", "crdr": "credit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofComprehensiveLossIncome": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofComprehensiveLossIncome" ], "lang": { "en-us": { "role": { "totalLabel": "Comprehensive income", "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent", "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": [ "r26", "r131", "r133", "r140", "r475", "r494" ] }, "us-gaap_ComprehensiveIncomeNoteTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComprehensiveIncomeNoteTextBlock", "presentation": [ "http://www.penumbrainc.com/role/AccumulatedOtherComprehensiveIncome" ], "lang": { "en-us": { "role": { "terseLabel": "Accumulated Other Comprehensive Income", "label": "Comprehensive Income (Loss) Note [Text Block]", "documentation": "The entire disclosure for comprehensive income, which includes, but is not limited to, 1) the amount of income tax expense or benefit allocated to each component of other comprehensive income, including reclassification adjustments, 2) the reclassification adjustments for each classification of other comprehensive income and 3) the ending accumulated balances for each component of comprehensive income." } } }, "auth_ref": [ "r66", "r139", "r474", "r492" ] }, "us-gaap_ConsolidationPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConsolidationPolicyTextBlock", "presentation": [ "http://www.penumbrainc.com/role/SummaryofSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Consolidation", "label": "Consolidation, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting. The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary." } } }, "auth_ref": [ "r50", "r593" ] }, "us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerAssetAndLiabilityTableTextBlock", "presentation": [ "http://www.penumbrainc.com/role/RevenuesRevenuesTables" ], "lang": { "en-us": { "role": { "terseLabel": "Summary of Contract Assets and Liabilities", "label": "Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block]", "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": [ "r759" ] }, "us-gaap_ContractWithCustomerAssetNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerAssetNet", "crdr": "debit", "presentation": [ "http://www.penumbrainc.com/role/RevenuesSummaryofContractAssetsandLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Contract assets", "label": "Contract with Customer, Asset, after Allowance for Credit Loss", "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." } } }, "auth_ref": [ "r324", "r326", "r337" ] }, "us-gaap_ContractWithCustomerLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerLiability", "crdr": "credit", "presentation": [ "http://www.penumbrainc.com/role/RevenuesSummaryofContractAssetsandLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Contract liabilities", "label": "Contract with Customer, Liability", "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable." } } }, "auth_ref": [ "r324", "r325", "r337" ] }, "us-gaap_ContractWithCustomerLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerLiabilityCurrent", "crdr": "credit", "calculation": { "http://www.penumbrainc.com/role/BalanceSheetComponentsAccruedLiabilitiesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.penumbrainc.com/role/BalanceSheetComponentsAccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Deferred revenue", "label": "Contract with Customer, Liability, Current", "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": [ "r324", "r325", "r337" ] }, "us-gaap_CorporateDebtSecuritiesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CorporateDebtSecuritiesMember", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsFinancialAssetsandLiabilitiesMeasuredatFairValueDetails", "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsGainsandLossesofMarketableInvestmentsDetails", "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsMarketableSecuritiesinanUnrealizedLossPositionDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Corporate bonds", "label": "Corporate Debt Securities [Member]", "documentation": "Debt securities issued by domestic or foreign corporate business, banks and other entities with a promise of repayment." } } }, "auth_ref": [ "r610", "r612", "r773" ] }, "us-gaap_CostOfRevenue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CostOfRevenue", "crdr": "debit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations": { "parentTag": "us-gaap_GrossProfit", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations" ], "lang": { "en-us": { "role": { "terseLabel": "Cost of revenue", "label": "Cost of Revenue", "documentation": "The aggregate cost of goods produced and sold and services rendered during the reporting period." } } }, "auth_ref": [ "r71", "r151", "r243", "r288", "r289", "r290", "r291", "r292", "r293", "r294", "r295", "r296", "r420", "r757" ] }, "us-gaap_CostOfSalesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CostOfSalesMember", "presentation": [ "http://www.penumbrainc.com/role/CommitmentsandContingenciesRoyaltyObligationsDetails", "http://www.penumbrainc.com/role/IntangibleAssetsIntangibleAssetsDetails", "http://www.penumbrainc.com/role/StockholdersEquityStockbasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cost of revenue", "verboseLabel": "Cost of revenue", "label": "Cost of Sales [Member]", "documentation": "Primary financial statement caption encompassing cost of sales." } } }, "auth_ref": [] }, "dei_CoverAbstract": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CoverAbstract", "lang": { "en-us": { "role": { "terseLabel": "Cover page.", "label": "Cover [Abstract]", "documentation": "Cover page." } } }, "auth_ref": [] }, "us-gaap_CreditFacilityAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CreditFacilityAxis", "presentation": [ "http://www.penumbrainc.com/role/IndebtednessDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Credit Facility [Axis]", "label": "Credit Facility [Axis]", "documentation": "Information by type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing." } } }, "auth_ref": [] }, "us-gaap_CreditFacilityDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CreditFacilityDomain", "presentation": [ "http://www.penumbrainc.com/role/IndebtednessDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Credit Facility [Domain]", "label": "Credit Facility [Domain]", "documentation": "Type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing." } } }, "auth_ref": [] }, "dei_CurrentFiscalYearEndDate": { "xbrltype": "gMonthDayItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CurrentFiscalYearEndDate", "presentation": [ "http://www.penumbrainc.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Current Fiscal Year End Date", "label": "Current Fiscal Year End Date", "documentation": "End date of current fiscal year in the format --MM-DD." } } }, "auth_ref": [] }, "us-gaap_CustomerRelationshipsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CustomerRelationshipsMember", "presentation": [ "http://www.penumbrainc.com/role/IntangibleAssetsIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Customer relationships", "label": "Customer Relationships [Member]", "documentation": "Customer relationship that exists between an entity and its customer, for example, but not limited to, tenant relationships." } } }, "auth_ref": [ "r48" ] }, "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.penumbrainc.com/role/Indebtedness" ], "lang": { "en-us": { "role": { "terseLabel": "Indebtedness", "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": [ "r87", "r149", "r297", "r298", "r299", "r300", "r301", "r302", "r303", "r305", "r306", "r307", "r309" ] }, "us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtSecuritiesAvailableForSaleAllowanceForCreditLoss", "crdr": "credit", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsGainsandLossesofMarketableInvestmentsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Allowance for Credit Loss", "label": "Debt Securities, Available-for-Sale, Allowance for Credit Loss", "documentation": "Amount of allowance for credit loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)." } } }, "auth_ref": [ "r215", "r254", "r261", "r262" ] }, "us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossPeriodIncreaseDecrease": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtSecuritiesAvailableForSaleAllowanceForCreditLossPeriodIncreaseDecrease", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Allowance for credit loss", "label": "Debt Securities, Available-for-Sale, Allowance for Credit Loss, Period Increase (Decrease)", "documentation": "Amount of increase (decrease) in allowance for credit loss of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)." } } }, "auth_ref": [ "r742" ] }, "us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger", "crdr": "debit", "calculation": { "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsMarketableSecuritiesinanUnrealizedLossPositionDetails": { "parentTag": "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsMarketableSecuritiesinanUnrealizedLossPositionDetails" ], "lang": { "en-us": { "role": { "terseLabel": "12 Months of more: Fair Value", "label": "Debt Securities, Available-for-Sale, Continuous Unrealized Loss Position, 12 Months or Longer", "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": [ "r101", "r258", "r599" ] }, "us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss", "crdr": "debit", "calculation": { "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsMarketableSecuritiesinanUnrealizedLossPositionDetails": { "parentTag": "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsMarketableSecuritiesinanUnrealizedLossPositionDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "12 months or more: Gross Unrealized Losses", "label": "Debt Securities, Available-for-Sale, Continuous Unrealized Loss Position, 12 Months or Longer, Accumulated Loss", "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": [ "r101", "r258" ] }, "us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months", "crdr": "debit", "calculation": { "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsMarketableSecuritiesinanUnrealizedLossPositionDetails": { "parentTag": "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsMarketableSecuritiesinanUnrealizedLossPositionDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Less than 12 months: Fair Value", "label": "Debt Securities, Available-for-Sale, Continuous Unrealized Loss Position, Less than 12 Months", "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": [ "r101", "r258", "r599" ] }, "us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss", "crdr": "debit", "calculation": { "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsMarketableSecuritiesinanUnrealizedLossPositionDetails": { "parentTag": "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsMarketableSecuritiesinanUnrealizedLossPositionDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Less than 12 months: Gross Unrealized Losses", "label": "Debt Securities, Available-for-Sale, Continuous Unrealized Loss Position, Less than 12 Months, Accumulated Loss", "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": [ "r101", "r258" ] }, "us-gaap_DebtSecuritiesAvailableForSaleTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtSecuritiesAvailableForSaleTable", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsGainsandLossesofMarketableInvestmentsDetails", "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsMarketableSecuritiesinanUnrealizedLossPositionDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Debt Securities, Available-for-Sale [Table]", "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": [ "r212", "r213", "r214", "r215", "r216", "r217", "r218", "r219", "r220", "r221", "r222", "r223" ] }, "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtSecuritiesAvailableForSaleUnrealizedLossPosition", "crdr": "debit", "calculation": { "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsMarketableSecuritiesinanUnrealizedLossPositionDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsMarketableSecuritiesinanUnrealizedLossPositionDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Total: Fair Value", "label": "Debt Securities, Available-for-Sale, Unrealized Loss Position", "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": [ "r99", "r256", "r599" ] }, "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss", "crdr": "debit", "calculation": { "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsMarketableSecuritiesinanUnrealizedLossPositionDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsMarketableSecuritiesinanUnrealizedLossPositionDetails" ], "lang": { "en-us": { "role": { "negatedTotalLabel": "Total: Gross Unrealized Losses", "label": "Debt Securities, Available-for-Sale, Unrealized Loss Position, Accumulated Loss", "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": [ "r100", "r257" ] }, "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTableTextBlock", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Debt Securities, Available-for-sale, Unrealized Loss Position, Fair Value", "label": "Debt Securities, Available-for-Sale, Unrealized Loss Position, Fair Value [Table Text Block]", "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": [ "r98", "r599", "r741" ] }, "us-gaap_DeferredIncomeTaxAssetsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredIncomeTaxAssetsNet", "crdr": "debit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 8.0 } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Deferred taxes", "label": "Deferred Income Tax Assets, Net", "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting." } } }, "auth_ref": [ "r381", "r382" ] }, "us-gaap_DeferredIncomeTaxesAndTaxCredits": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredIncomeTaxesAndTaxCredits", "crdr": "debit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Deferred taxes", "label": "Deferred Income Taxes and Tax Credits", "documentation": "Amount of deferred income tax expense (benefit) and income tax credits." } } }, "auth_ref": [ "r80" ] }, "us-gaap_DepreciationDepletionAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DepreciationDepletionAndAmortization", "crdr": "debit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Depreciation and amortization", "label": "Depreciation, Depletion and Amortization", "documentation": "The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets." } } }, "auth_ref": [ "r8", "r187" ] }, "us-gaap_DevelopedTechnologyRightsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DevelopedTechnologyRightsMember", "presentation": [ "http://www.penumbrainc.com/role/IntangibleAssetsIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Developed technology", "label": "Developed Technology Rights [Member]", "documentation": "Rights to developed technology, which can include the right to develop, use, market, sell, or offer for sale products, compounds, or intellectual property." } } }, "auth_ref": [ "r92" ] }, "us-gaap_DisaggregationOfRevenueLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisaggregationOfRevenueLineItems", "presentation": [ "http://www.penumbrainc.com/role/RevenuesDisaggregationofRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Disaggregation of Revenue [Line Items]", "label": "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": [ "r336", "r603", "r604", "r605", "r606", "r607", "r608", "r609" ] }, "us-gaap_DisaggregationOfRevenueTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisaggregationOfRevenueTable", "presentation": [ "http://www.penumbrainc.com/role/RevenuesDisaggregationofRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Disaggregation of Revenue [Table]", "label": "Disaggregation of Revenue [Table]", "documentation": "Disclosure of information about disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor." } } }, "auth_ref": [ "r336", "r603", "r604", "r605", "r606", "r607", "r608", "r609" ] }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisaggregationOfRevenueTableTextBlock", "presentation": [ "http://www.penumbrainc.com/role/RevenuesRevenuesTables" ], "lang": { "en-us": { "role": { "terseLabel": "Disaggregation of Revenue", "label": "Disaggregation of Revenue [Table Text Block]", "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": [ "r760" ] }, "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract", "lang": { "en-us": { "role": { "terseLabel": "Disclosure of Compensation Related Costs, Share-based Payments [Abstract]", "label": "Share-Based Payment Arrangement [Abstract]" } } }, "auth_ref": [] }, "dei_DocumentFiscalPeriodFocus": { "xbrltype": "fiscalPeriodItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentFiscalPeriodFocus", "presentation": [ "http://www.penumbrainc.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Document Fiscal Period Focus", "label": "Document Fiscal Period Focus", "documentation": "Fiscal period values are FY, Q1, Q2, and Q3. 1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY." } } }, "auth_ref": [] }, "dei_DocumentFiscalYearFocus": { "xbrltype": "gYearItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentFiscalYearFocus", "presentation": [ "http://www.penumbrainc.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Document Fiscal Year Focus", "label": "Document Fiscal Year Focus", "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006." } } }, "auth_ref": [] }, "dei_DocumentPeriodEndDate": { "xbrltype": "dateItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentPeriodEndDate", "presentation": [ "http://www.penumbrainc.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Document Period End Date", "label": "Document Period End Date", "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD." } } }, "auth_ref": [] }, "dei_DocumentQuarterlyReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentQuarterlyReport", "presentation": [ "http://www.penumbrainc.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Document Quarterly Report", "label": "Document Quarterly Report", "documentation": "Boolean flag that is true only for a form used as an quarterly report." } } }, "auth_ref": [ "r633" ] }, "dei_DocumentTransitionReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentTransitionReport", "presentation": [ "http://www.penumbrainc.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Document Transition Report", "label": "Document Transition Report", "documentation": "Boolean flag that is true only for a form used as a transition report." } } }, "auth_ref": [ "r666" ] }, "dei_DocumentType": { "xbrltype": "submissionTypeItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentType", "presentation": [ "http://www.penumbrainc.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Document Type", "label": "Document Type", "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'." } } }, "auth_ref": [] }, "us-gaap_EarningsPerShareAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareAbstract", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations" ], "lang": { "en-us": { "role": { "terseLabel": "Net income per share:", "label": "Earnings Per Share [Abstract]" } } }, "auth_ref": [] }, "us-gaap_EarningsPerShareBasic": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareBasic", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations", "http://www.penumbrainc.com/role/NetIncomeperShareBasicandDilutedEarningsperShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Basic (in dollars per share)", "label": "Earnings 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": [ "r141", "r158", "r159", "r160", "r161", "r162", "r167", "r169", "r174", "r175", "r176", "r180", "r411", "r412", "r476", "r495", "r595" ] }, "us-gaap_EarningsPerShareDiluted": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareDiluted", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations", "http://www.penumbrainc.com/role/NetIncomeperShareBasicandDilutedEarningsperShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Diluted (in dollars per share)", "label": "Earnings 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": [ "r141", "r158", "r159", "r160", "r161", "r162", "r169", "r174", "r175", "r176", "r180", "r411", "r412", "r476", "r495", "r595" ] }, "us-gaap_EarningsPerShareReconciliationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareReconciliationAbstract", "presentation": [ "http://www.penumbrainc.com/role/NetIncomeperShareBasicandDilutedEarningsperShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Net income per share:", "label": "Earnings Per Share Reconciliation [Abstract]" } } }, "auth_ref": [] }, "us-gaap_EarningsPerShareTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareTextBlock", "presentation": [ "http://www.penumbrainc.com/role/NetIncomeperShare" ], "lang": { "en-us": { "role": { "terseLabel": "Net Income (Loss) per Share", "label": "Earnings Per Share [Text Block]", "documentation": "The entire disclosure for earnings per share." } } }, "auth_ref": [ "r166", "r177", "r178", "r179" ] }, "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "crdr": "debit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Effect of foreign exchange rate changes on cash and cash equivalents", "label": "Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Continuing Operations", "documentation": "Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies. Excludes amounts for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r421" ] }, "us-gaap_EffectiveIncomeTaxRateContinuingOperations": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateContinuingOperations", "presentation": [ "http://www.penumbrainc.com/role/IncomeTaxesIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Effective tax rate", "label": "Effective Income Tax Rate Reconciliation, Percent", "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations." } } }, "auth_ref": [ "r384" ] }, "pen_EmbolizationAndAccessMember": { "xbrltype": "domainItemType", "nsuri": "http://www.penumbrainc.com/20240331", "localname": "EmbolizationAndAccessMember", "presentation": [ "http://www.penumbrainc.com/role/RevenuesDisaggregationofRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Embolization and Access", "label": "Embolization and Access [Member]", "documentation": "Embolization and Access" } } }, "auth_ref": [] }, "us-gaap_EmployeeRelatedLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeRelatedLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.penumbrainc.com/role/BalanceSheetComponentsAccruedLiabilitiesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.penumbrainc.com/role/BalanceSheetComponentsAccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Payroll and employee-related expenses", "label": "Employee-related Liabilities, Current", "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": [ "r19" ] }, "us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount", "crdr": "debit", "presentation": [ "http://www.penumbrainc.com/role/StockholdersEquityStockbasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Share-based compensation expense, capitalized in inventory", "label": "Share-Based Payment Arrangement, Amount Capitalized", "documentation": "Amount of cost capitalized for award under share-based payment arrangement." } } }, "auth_ref": [ "r374" ] }, "us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems", "presentation": [ "http://www.penumbrainc.com/role/StockholdersEquityStockbasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Compensation Cost [Line Items]", "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [] }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized", "crdr": "debit", "presentation": [ "http://www.penumbrainc.com/role/StockholdersEquityStockbasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Unrecognized compensation cost related to unvested share-based compensation arrangements", "label": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount", "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement." } } }, "auth_ref": [ "r375" ] }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1", "presentation": [ "http://www.penumbrainc.com/role/StockholdersEquityStockbasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Unrecognized compensation cost, expected recognition period (in years)", "label": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition", "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": [ "r375" ] }, "us-gaap_EmployeeStockOptionMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeStockOptionMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Employee Stock Option", "label": "Employee Stock Option [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.penumbrainc.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Address, Address Description", "label": "Entity Address, Address Line One", "documentation": "Address Line 1 such as Attn, Building Name, Street Name" } } }, "auth_ref": [] }, "dei_EntityAddressCityOrTown": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressCityOrTown", "presentation": [ "http://www.penumbrainc.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Address, City or Town", "label": "Entity Address, City or Town", "documentation": "Name of the City or Town" } } }, "auth_ref": [] }, "dei_EntityAddressPostalZipCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressPostalZipCode", "presentation": [ "http://www.penumbrainc.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Address, Postal Zip Code", "label": "Entity Address, Postal Zip Code", "documentation": "Code for the postal or zip code" } } }, "auth_ref": [] }, "dei_EntityAddressStateOrProvince": { "xbrltype": "stateOrProvinceItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressStateOrProvince", "presentation": [ "http://www.penumbrainc.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Address, State or Province", "label": "Entity Address, State or Province", "documentation": "Name of the state or province." } } }, "auth_ref": [] }, "dei_EntityCentralIndexKey": { "xbrltype": "centralIndexKeyItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCentralIndexKey", "presentation": [ "http://www.penumbrainc.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Central Index Key", "label": "Entity Central Index Key", "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK." } } }, "auth_ref": [ "r631" ] }, "dei_EntityCommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCommonStockSharesOutstanding", "presentation": [ "http://www.penumbrainc.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Common Stock, Shares Outstanding", "label": "Entity Common Stock, Shares Outstanding", "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument." } } }, "auth_ref": [] }, "dei_EntityCurrentReportingStatus": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCurrentReportingStatus", "presentation": [ "http://www.penumbrainc.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Current Reporting Status", "label": "Entity Current Reporting Status", "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure." } } }, "auth_ref": [] }, "dei_EntityEmergingGrowthCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityEmergingGrowthCompany", "presentation": [ "http://www.penumbrainc.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Emerging Growth Company", "label": "Entity Emerging Growth Company", "documentation": "Indicate if registrant meets the emerging growth company criteria." } } }, "auth_ref": [ "r631" ] }, "dei_EntityFileNumber": { "xbrltype": "fileNumberItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityFileNumber", "presentation": [ "http://www.penumbrainc.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity File Number", "label": "Entity File Number", "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen." } } }, "auth_ref": [] }, "dei_EntityFilerCategory": { "xbrltype": "filerCategoryItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityFilerCategory", "presentation": [ "http://www.penumbrainc.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Filer Category", "label": "Entity Filer Category", "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure." } } }, "auth_ref": [ "r631" ] }, "dei_EntityIncorporationStateCountryCode": { "xbrltype": "edgarStateCountryItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityIncorporationStateCountryCode", "presentation": [ "http://www.penumbrainc.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Incorporation, State or Country Code", "label": "Entity Incorporation, State or Country Code", "documentation": "Two-character EDGAR code representing the state or country of incorporation." } } }, "auth_ref": [] }, "dei_EntityInteractiveDataCurrent": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityInteractiveDataCurrent", "presentation": [ "http://www.penumbrainc.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Interactive Data Current", "label": "Entity Interactive Data Current", "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files)." } } }, "auth_ref": [ "r705" ] }, "dei_EntityRegistrantName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityRegistrantName", "presentation": [ "http://www.penumbrainc.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Registrant Name", "label": "Entity Registrant Name", "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC." } } }, "auth_ref": [ "r631" ] }, "dei_EntityShellCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityShellCompany", "presentation": [ "http://www.penumbrainc.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Shell Company", "label": "Entity Shell Company", "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act." } } }, "auth_ref": [ "r631" ] }, "dei_EntitySmallBusiness": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntitySmallBusiness", "presentation": [ "http://www.penumbrainc.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Small Business", "label": "Entity Small Business", "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)." } } }, "auth_ref": [ "r631" ] }, "dei_EntityTaxIdentificationNumber": { "xbrltype": "employerIdItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityTaxIdentificationNumber", "presentation": [ "http://www.penumbrainc.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Tax Identification Number", "label": "Entity Tax Identification Number", "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS." } } }, "auth_ref": [ "r631" ] }, "us-gaap_EquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EquityAbstract", "lang": { "en-us": { "role": { "terseLabel": "Equity [Abstract]", "label": "Equity [Abstract]" } } }, "auth_ref": [] }, "us-gaap_EquityComponentDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EquityComponentDomain", "presentation": [ "http://www.penumbrainc.com/role/AccumulatedOtherComprehensiveIncomeDetails", "http://www.penumbrainc.com/role/ConsolidatedStatementsofStockholdersEquityDeficit" ], "lang": { "en-us": { "role": { "terseLabel": "Equity Component [Domain]", "label": "Equity Component [Domain]", "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc." } } }, "auth_ref": [ "r12", "r111", "r134", "r135", "r136", "r153", "r154", "r155", "r157", "r163", "r165", "r181", "r244", "r245", "r323", "r376", "r377", "r378", "r388", "r389", "r402", "r403", "r404", "r405", "r406", "r407", "r410", "r422", "r424", "r425", "r426", "r427", "r428", "r437", "r503", "r504", "r505", "r513", "r565" ] }, "ecd_EquityValuationAssumptionDifferenceFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "EquityValuationAssumptionDifferenceFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Equity Valuation Assumption Difference, Footnote", "label": "Equity Valuation Assumption Difference, Footnote [Text Block]" } } }, "auth_ref": [ "r674" ] }, "ecd_ErrCompAnalysisTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ErrCompAnalysisTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Erroneous Compensation Analysis", "label": "Erroneous Compensation Analysis [Text Block]" } } }, "auth_ref": [ "r638", "r649", "r659", "r684" ] }, "ecd_ErrCompRecoveryTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ErrCompRecoveryTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Erroneously Awarded Compensation Recovery", "label": "Erroneously Awarded Compensation Recovery [Table]" } } }, "auth_ref": [ "r635", "r646", "r656", "r681" ] }, "ecd_ExecutiveCategoryAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ExecutiveCategoryAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Executive Category:", "label": "Executive Category [Axis]" } } }, "auth_ref": [ "r680" ] }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsFinancialAssetsandLiabilitiesMeasuredatFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]", "label": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r414", "r415", "r418" ] }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsFinancialAssetsandLiabilitiesMeasuredatFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value Measurements, Recurring and Nonrecurring [Table]", "label": "Fair Value, Recurring and Nonrecurring [Table]", "documentation": "Disclosure of information about asset and liability measured at fair value on recurring and nonrecurring basis." } } }, "auth_ref": [ "r414", "r415", "r418" ] }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueByFairValueHierarchyLevelAxis", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsFinancialAssetsandLiabilitiesMeasuredatFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value Hierarchy and NAV [Axis]", "label": "Fair Value Hierarchy and NAV [Axis]", "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient." } } }, "auth_ref": [ "r304", "r339", "r340", "r341", "r342", "r343", "r344", "r415", "r442", "r443", "r444", "r601", "r602", "r610", "r611", "r612" ] }, "us-gaap_FairValueByMeasurementFrequencyAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueByMeasurementFrequencyAxis", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsFinancialAssetsandLiabilitiesMeasuredatFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Measurement Frequency [Axis]", "label": "Measurement Frequency [Axis]", "documentation": "Information by measurement frequency." } } }, "auth_ref": [ "r414", "r415", "r416", "r417", "r419" ] }, "us-gaap_FairValueDisclosuresAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueDisclosuresAbstract", "lang": { "en-us": { "role": { "terseLabel": "Fair Value Disclosures [Abstract]", "label": "Fair Value Disclosures [Abstract]" } } }, "auth_ref": [] }, "us-gaap_FairValueDisclosuresTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueDisclosuresTextBlock", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstruments" ], "lang": { "en-us": { "role": { "terseLabel": "Investments and Fair Value of Financial Instruments", "label": "Fair Value Disclosures [Text Block]", "documentation": "The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information." } } }, "auth_ref": [ "r413" ] }, "us-gaap_FairValueInputsLevel1Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueInputsLevel1Member", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsFinancialAssetsandLiabilitiesMeasuredatFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Level\u00a01", "label": "Fair Value, Inputs, Level 1 [Member]", "documentation": "Quoted prices in active markets for identical assets or liabilities that the reporting entity can access at the measurement date." } } }, "auth_ref": [ "r304", "r339", "r344", "r415", "r442", "r610", "r611", "r612" ] }, "us-gaap_FairValueInputsLevel2Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueInputsLevel2Member", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsFinancialAssetsandLiabilitiesMeasuredatFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Level\u00a02", "label": "Fair Value, Inputs, 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": [ "r304", "r339", "r344", "r415", "r443", "r601", "r602", "r610", "r611", "r612" ] }, "us-gaap_FairValueInputsLevel3Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueInputsLevel3Member", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsFinancialAssetsandLiabilitiesMeasuredatFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Level 3", "label": "Fair Value, Inputs, Level 3 [Member]", "documentation": "Unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing." } } }, "auth_ref": [ "r304", "r339", "r340", "r341", "r342", "r343", "r344", "r415", "r444", "r601", "r602", "r610", "r611", "r612" ] }, "us-gaap_FairValueMeasurementFrequencyDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementFrequencyDomain", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsFinancialAssetsandLiabilitiesMeasuredatFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value, Measurement Frequency [Domain]", "label": "Measurement Frequency [Domain]", "documentation": "Measurement frequency." } } }, "auth_ref": [] }, "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementsFairValueHierarchyDomain", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsFinancialAssetsandLiabilitiesMeasuredatFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value Hierarchy and NAV [Domain]", "label": "Fair Value Hierarchy and NAV [Domain]", "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value." } } }, "auth_ref": [ "r304", "r339", "r340", "r341", "r342", "r343", "r344", "r442", "r443", "r444", "r601", "r602", "r610", "r611", "r612" ] }, "us-gaap_FairValueMeasurementsRecurringMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementsRecurringMember", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsFinancialAssetsandLiabilitiesMeasuredatFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Recurring", "label": "Fair Value, Recurring [Member]", "documentation": "Frequent fair value measurement. Includes, but is not limited to, fair value adjustment for impairment of asset, liability or equity, frequently measured at fair value." } } }, "auth_ref": [ "r413", "r419" ] }, "us-gaap_FinanceLeaseLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseLiabilityCurrent", "crdr": "credit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Current finance lease liabilities", "label": "Finance Lease, Liability, Current", "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as current." } } }, "auth_ref": [ "r432" ] }, "us-gaap_FinanceLeaseLiabilityNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseLiabilityNoncurrent", "crdr": "credit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Non-current finance lease liabilities", "label": "Finance Lease, Liability, Noncurrent", "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as noncurrent." } } }, "auth_ref": [ "r432" ] }, "us-gaap_FinanceLeasePrincipalPayments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeasePrincipalPayments", "crdr": "credit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "negatedLabel": "Payments of finance lease obligations", "label": "Finance Lease, Principal Payments", "documentation": "Amount of cash outflow for principal payment on finance lease." } } }, "auth_ref": [ "r433", "r435" ] }, "us-gaap_FinanceLeaseRightOfUseAsset": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseRightOfUseAsset", "crdr": "debit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Finance lease right-of-use assets", "label": "Finance Lease, Right-of-Use Asset, after Accumulated Amortization", "documentation": "Amount, after accumulated amortization, of right-of-use asset from finance lease." } } }, "auth_ref": [ "r431" ] }, "us-gaap_FinancialInstrumentAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinancialInstrumentAxis", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsFinancialAssetsandLiabilitiesMeasuredatFairValueDetails", "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsGainsandLossesofMarketableInvestmentsDetails", "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsMarketableSecuritiesinanUnrealizedLossPositionDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Financial Instrument [Axis]", "label": "Financial Instrument [Axis]", "documentation": "Information by type of financial instrument." } } }, "auth_ref": [ "r212", "r213", "r214", "r215", "r216", "r217", "r218", "r219", "r220", "r221", "r222", "r223", "r224", "r225", "r226", "r227", "r228", "r229", "r230", "r231", "r232", "r233", "r234", "r235", "r236", "r237", "r238", "r239", "r240", "r241", "r247", "r248", "r251", "r252", "r253", "r255", "r259", "r260", "r308", "r321", "r408", "r439", "r440", "r441", "r442", "r443", "r444", "r445", "r446", "r447", "r448", "r449", "r450", "r451", "r452", "r453", "r454", "r455", "r456", "r457", "r458", "r459", "r460", "r461", "r462", "r463", "r464", "r465", "r466", "r467", "r468", "r493", "r599", "r710", "r711", "r712", "r713", "r714", "r715", "r716", "r736", "r737", "r738", "r739" ] }, "us-gaap_FinancialInstrumentsFinancialAssetsBalanceSheetGroupingsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinancialInstrumentsFinancialAssetsBalanceSheetGroupingsAbstract", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsFinancialAssetsandLiabilitiesMeasuredatFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Financial Assets", "label": "Financial Instruments, Financial Assets, Balance Sheet Groupings [Abstract]" } } }, "auth_ref": [] }, "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization", "crdr": "credit", "calculation": { "http://www.penumbrainc.com/role/IntangibleAssetsIntangibleAssetsDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.penumbrainc.com/role/IntangibleAssetsIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Accumulated amortization", "label": "Finite-Lived Intangible Assets, Accumulated Amortization", "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r117", "r275" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock", "presentation": [ "http://www.penumbrainc.com/role/IntangibleAssetsIntangibleAssetsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Finite-lived Intangible Assets Amortization Expense", "label": "Finite-Lived Intangible Assets Amortization Expense [Table Text Block]", "documentation": "Tabular disclosure of amortization expense of assets, excluding financial assets, that lack physical substance, having a limited useful life." } } }, "auth_ref": [] }, "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis", "presentation": [ "http://www.penumbrainc.com/role/IntangibleAssetsIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Finite-Lived Intangible Assets by Major Class [Axis]", "label": "Finite-Lived Intangible Assets by Major Class [Axis]", "documentation": "Information by major type or class of finite-lived intangible assets." } } }, "auth_ref": [ "r273", "r274", "r275", "r276", "r470", "r471" ] }, "us-gaap_FiniteLivedIntangibleAssetsGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsGross", "crdr": "debit", "calculation": { "http://www.penumbrainc.com/role/IntangibleAssetsIntangibleAssetsDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.penumbrainc.com/role/IntangibleAssetsIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Finite lived intangible assets: gross carrying amount", "label": "Finite-Lived Intangible Assets, Gross", "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r85", "r471" ] }, "us-gaap_FiniteLivedIntangibleAssetsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsLineItems", "presentation": [ "http://www.penumbrainc.com/role/IntangibleAssetsIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Finite-Lived Intangible Assets [Line Items]", "label": "Finite-Lived Intangible 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": [ "r470" ] }, "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain", "presentation": [ "http://www.penumbrainc.com/role/IntangibleAssetsIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Finite-Lived Intangible Assets, Major Class Name [Domain]", "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]", "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company." } } }, "auth_ref": [ "r39", "r41" ] }, "us-gaap_FiniteLivedIntangibleAssetsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsNet", "crdr": "debit", "calculation": { "http://www.penumbrainc.com/role/IntangibleAssetsIntangibleAssetsDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.penumbrainc.com/role/IntangibleAssetsIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Finite lived intangible assets: net", "label": "Finite-Lived Intangible Assets, Net", "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r85", "r470" ] }, "ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Forgone Recovery due to Disqualification of Tax Benefits, Amount", "label": "Forgone Recovery due to Disqualification of Tax Benefits, Amount" } } }, "auth_ref": [ "r642", "r653", "r663", "r688" ] }, "ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryDueToExpenseOfEnforcementAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Forgone Recovery due to Expense of Enforcement, Amount", "label": "Forgone Recovery due to Expense of Enforcement, Amount" } } }, "auth_ref": [ "r642", "r653", "r663", "r688" ] }, "ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryDueToViolationOfHomeCountryLawAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Forgone Recovery due to Violation of Home Country Law, Amount", "label": "Forgone Recovery due to Violation of Home Country Law, Amount" } } }, "auth_ref": [ "r642", "r653", "r663", "r688" ] }, "ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryExplanationOfImpracticabilityTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Forgone Recovery, Explanation of Impracticability", "label": "Forgone Recovery, Explanation of Impracticability [Text Block]" } } }, "auth_ref": [ "r642", "r653", "r663", "r688" ] }, "ecd_ForgoneRecoveryIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Name", "label": "Forgone Recovery, Individual Name" } } }, "auth_ref": [ "r642", "r653", "r663", "r688" ] }, "us-gaap_Goodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Goodwill", "crdr": "debit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets", "http://www.penumbrainc.com/role/GoodwillDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Goodwill", "periodStartLabel": "Goodwill", "periodEndLabel": "Goodwill", "label": "Goodwill", "documentation": "Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized." } } }, "auth_ref": [ "r116", "r265", "r472", "r600", "r617", "r744", "r751" ] }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract", "lang": { "en-us": { "role": { "terseLabel": "Goodwill and Intangible Assets Disclosure [Abstract]", "label": "Goodwill and Intangible Assets Disclosure [Abstract]" } } }, "auth_ref": [] }, "us-gaap_GoodwillDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillDisclosureTextBlock", "presentation": [ "http://www.penumbrainc.com/role/Goodwill" ], "lang": { "en-us": { "role": { "terseLabel": "Goodwill", "label": "Goodwill Disclosure [Text Block]", "documentation": "The entire disclosure for goodwill." } } }, "auth_ref": [ "r264", "r267", "r270", "r600" ] }, "us-gaap_GoodwillImpairmentLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillImpairmentLoss", "crdr": "debit", "presentation": [ "http://www.penumbrainc.com/role/GoodwillDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Goodwill impairment", "label": "Goodwill, Impairment Loss", "documentation": "Amount of loss from the write-down of an asset representing the future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized." } } }, "auth_ref": [ "r8", "r266", "r268", "r271", "r600" ] }, "us-gaap_GoodwillOtherIncreaseDecrease": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillOtherIncreaseDecrease", "crdr": "debit", "presentation": [ "http://www.penumbrainc.com/role/GoodwillDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Foreign currency translation and other adjustments", "label": "Goodwill, Other Increase (Decrease)", "documentation": "Amount of increase (decrease), classified as other, of an asset representing the future economic benefits from other assets acquired in a business combination that are not individually identified and separately recognized." } } }, "auth_ref": [ "r269" ] }, "us-gaap_GoodwillRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillRollForward", "presentation": [ "http://www.penumbrainc.com/role/GoodwillDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Goodwill [Roll Forward]", "label": "Goodwill [Roll Forward]", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "us-gaap_GrossProfit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GrossProfit", "crdr": "credit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations" ], "lang": { "en-us": { "role": { "totalLabel": "Gross profit", "label": "Gross Profit", "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity." } } }, "auth_ref": [ "r70", "r151", "r182", "r196", "r200", "r202", "r243", "r288", "r289", "r290", "r291", "r292", "r293", "r294", "r295", "r296", "r420", "r597", "r757" ] }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "crdr": "credit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations": { "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations" ], "lang": { "en-us": { "role": { "totalLabel": "Income before income taxes", "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest", "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest." } } }, "auth_ref": [ "r0", "r68", "r95", "r182", "r196", "r200", "r202", "r477", "r489", "r597" ] }, "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.penumbrainc.com/role/CommitmentsandContingenciesRoyaltyObligationsDetails", "http://www.penumbrainc.com/role/IntangibleAssetsIntangibleAssetsDetails", "http://www.penumbrainc.com/role/StockholdersEquityStockbasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Income Statement Location [Axis]", "label": "Income Statement Location [Axis]", "documentation": "Information by location in the income statement." } } }, "auth_ref": [ "r277", "r278", "r549" ] }, "us-gaap_IncomeStatementLocationDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeStatementLocationDomain", "presentation": [ "http://www.penumbrainc.com/role/CommitmentsandContingenciesRoyaltyObligationsDetails", "http://www.penumbrainc.com/role/IntangibleAssetsIntangibleAssetsDetails", "http://www.penumbrainc.com/role/StockholdersEquityStockbasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Income Statement Location [Domain]", "label": "Income Statement Location [Domain]", "documentation": "Location in the income statement." } } }, "auth_ref": [ "r278", "r549" ] }, "us-gaap_IncomeTaxDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxDisclosureAbstract", "lang": { "en-us": { "role": { "terseLabel": "Income Tax Disclosure [Abstract]", "label": "Income Tax Disclosure [Abstract]" } } }, "auth_ref": [] }, "us-gaap_IncomeTaxDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxDisclosureTextBlock", "presentation": [ "http://www.penumbrainc.com/role/IncomeTaxes" ], "lang": { "en-us": { "role": { "terseLabel": "Income Taxes", "label": "Income Tax Disclosure [Text Block]", "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": [ "r152", "r380", "r385", "r386", "r387", "r390", "r392", "r393", "r394", "r511" ] }, "us-gaap_IncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations": { "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations", "http://www.penumbrainc.com/role/IncomeTaxesIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Provision for income taxes", "label": "Income Tax Expense (Benefit)", "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations." } } }, "auth_ref": [ "r102", "r108", "r164", "r165", "r188", "r383", "r391", "r496" ] }, "us-gaap_IncomeTaxesPaid": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxesPaid", "crdr": "credit", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Cash paid for income taxes", "label": "Income Taxes Paid", "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income." } } }, "auth_ref": [ "r28", "r30" ] }, "us-gaap_IncreaseDecreaseInAccountsPayable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccountsPayable", "crdr": "debit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 10.0 } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Accounts payable", "label": "Increase (Decrease) in Accounts Payable", "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business." } } }, "auth_ref": [ "r7" ] }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccountsReceivable", "crdr": "credit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 7.0 } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Accounts receivable", "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": [ "r7" ] }, "us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities", "crdr": "debit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 11.0 } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Accrued expenses and other non-current liabilities", "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": [ "r724" ] }, "us-gaap_IncreaseDecreaseInInventories": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInInventories", "crdr": "credit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 8.0 } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Inventories", "label": "Increase (Decrease) in Inventories", "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities." } } }, "auth_ref": [ "r7" ] }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Changes in operating assets and liabilities:", "label": "Increase (Decrease) in Operating Capital [Abstract]" } } }, "auth_ref": [] }, "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "crdr": "credit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 9.0 } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Prepaid expenses and other current and non-current assets", "label": "Increase (Decrease) in Prepaid Expense and Other Assets", "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other." } } }, "auth_ref": [ "r7" ] }, "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInStockholdersEquityRollForward", "presentation": [ "http://www.penumbrainc.com/role/ConsolidatedStatementsofStockholdersEquityDeficit" ], "lang": { "en-us": { "role": { "terseLabel": "Increase (Decrease) in Stockholders' Equity [Roll Forward]", "label": "Increase (Decrease) in Stockholders' Equity [Roll Forward]", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "calculation": { "http://www.penumbrainc.com/role/NetIncomeperShareBasicandDilutedEarningsperShareDetails": { "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.penumbrainc.com/role/NetIncomeperShareBasicandDilutedEarningsperShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Potential dilutive stock-based options and awards (in shares)", "label": "Incremental Common Shares Attributable to Dilutive Effect of Share-Based Payment Arrangements", "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method." } } }, "auth_ref": [ "r170", "r171", "r172", "r176", "r346" ] }, "ecd_IndividualAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "IndividualAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure", "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure", "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Individual:", "label": "Individual [Axis]" } } }, "auth_ref": [ "r645", "r653", "r663", "r680", "r688", "r692", "r700" ] }, "ecd_InsiderTradingArrLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTradingArrLineItems", "lang": { "en-us": { "role": { "label": "Insider Trading Arrangements [Line Items]" } } }, "auth_ref": [ "r698" ] }, "ecd_InsiderTradingPoliciesProcLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTradingPoliciesProcLineItems", "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures [Line Items]" } } }, "auth_ref": [ "r634", "r704" ] }, "ecd_InsiderTrdPoliciesProcAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTrdPoliciesProcAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" ], "lang": { "en-us": { "role": { "terseLabel": "Insider Trading Policies and Procedures Adopted", "label": "Insider Trading Policies and Procedures Adopted [Flag]" } } }, "auth_ref": [ "r634", "r704" ] }, "ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTrdPoliciesProcNotAdoptedTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" ], "lang": { "en-us": { "role": { "terseLabel": "Insider Trading Policies and Procedures Not Adopted", "label": "Insider Trading Policies and Procedures Not Adopted [Text Block]" } } }, "auth_ref": [ "r634", "r704" ] }, "us-gaap_IntangibleAssetsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IntangibleAssetsDisclosureTextBlock", "presentation": [ "http://www.penumbrainc.com/role/IntangibleAssets" ], "lang": { "en-us": { "role": { "terseLabel": "Intangible Assets", "label": "Intangible Assets Disclosure [Text Block]", "documentation": "The entire disclosure for all or part of the information related to intangible assets." } } }, "auth_ref": [ "r272" ] }, "us-gaap_IntangibleAssetsNetExcludingGoodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IntangibleAssetsNetExcludingGoodwill", "crdr": "debit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets", "http://www.penumbrainc.com/role/IntangibleAssetsIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Intangible assets, net", "label": "Intangible Assets, Net (Excluding Goodwill)", "documentation": "Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges." } } }, "auth_ref": [ "r37", "r40" ] }, "us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IntangibleAssetsNetExcludingGoodwillAbstract", "lang": { "en-us": { "role": { "terseLabel": "Intangible Assets, Net (Excluding Goodwill) [Abstract]", "label": "Intangible Assets, Net (Excluding Goodwill) [Abstract]" } } }, "auth_ref": [] }, "us-gaap_InterestAndOtherIncome": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InterestAndOtherIncome", "crdr": "credit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations" ], "lang": { "en-us": { "role": { "terseLabel": "Interest and other income, net", "label": "Interest and Other Income", "documentation": "The amount of interest income and other income recognized during the period. Included in this element is interest derived from investments in debt securities, cash and cash equivalents, and other investments which reflect the time value of money or transactions in which the payments are for the use or forbearance of money and other income from ancillary business-related activities (that is, excluding major activities considered part of the normal operations of the business)." } } }, "auth_ref": [] }, "us-gaap_InterestExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InterestExpense", "crdr": "debit", "calculation": { "http://www.penumbrainc.com/role/InterestandotherincomeexpensenetDetails": { "parentTag": "us-gaap_NonoperatingIncomeExpense", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.penumbrainc.com/role/InterestandotherincomeexpensenetDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Interest expense", "label": "Interest Expense", "documentation": "Amount of the cost of borrowed funds accounted for as interest expense." } } }, "auth_ref": [ "r52", "r97", "r137", "r186", "r430", "r550", "r627", "r776" ] }, "us-gaap_InventoryFinishedGoodsNetOfReserves": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryFinishedGoodsNetOfReserves", "crdr": "debit", "calculation": { "http://www.penumbrainc.com/role/BalanceSheetComponentsInventoriesDetails": { "parentTag": "us-gaap_InventoryNet", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.penumbrainc.com/role/BalanceSheetComponentsInventoriesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Finished goods", "label": "Inventory, Finished Goods, Net of Reserves", "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of merchandise or goods held by the company that are readily available for sale." } } }, "auth_ref": [ "r83", "r590" ] }, "us-gaap_InventoryNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryNet", "crdr": "debit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 3.0 }, "http://www.penumbrainc.com/role/BalanceSheetComponentsInventoriesDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.penumbrainc.com/role/BalanceSheetComponentsInventoriesDetails", "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Inventories", "totalLabel": "Inventories", "label": "Inventory, Net", "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer." } } }, "auth_ref": [ "r122", "r589", "r617" ] }, "us-gaap_InventoryRawMaterialsNetOfReserves": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryRawMaterialsNetOfReserves", "crdr": "debit", "calculation": { "http://www.penumbrainc.com/role/BalanceSheetComponentsInventoriesDetails": { "parentTag": "us-gaap_InventoryNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.penumbrainc.com/role/BalanceSheetComponentsInventoriesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Raw materials", "label": "Inventory, Raw Materials, Net of Reserves", "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of unprocessed items to be consumed in the manufacturing or production process." } } }, "auth_ref": [ "r83", "r592" ] }, "us-gaap_InventoryWorkInProcessNetOfReserves": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryWorkInProcessNetOfReserves", "crdr": "debit", "calculation": { "http://www.penumbrainc.com/role/BalanceSheetComponentsInventoriesDetails": { "parentTag": "us-gaap_InventoryNet", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.penumbrainc.com/role/BalanceSheetComponentsInventoriesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Work in process", "label": "Inventory, Work in Process, Net of Reserves", "documentation": "Carrying amount, net of reserves and adjustments, as of the balance sheet date of merchandise or goods which are partially completed. This inventory is generally comprised of raw materials, labor and factory overhead costs, which require further materials, labor and overhead to be converted into finished goods, and which generally require the use of estimates to determine percentage complete and pricing." } } }, "auth_ref": [ "r83", "r591" ] }, "us-gaap_InventoryWriteDown": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryWriteDown", "crdr": "debit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Inventory write-downs", "label": "Inventory Write-down", "documentation": "Amount of loss from reductions in inventory due to subsequent measurement adjustments, including, but not limited to, physical deterioration, obsolescence, or changes in price levels." } } }, "auth_ref": [ "r263" ] }, "us-gaap_InvestmentIncomeInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InvestmentIncomeInterest", "crdr": "credit", "calculation": { "http://www.penumbrainc.com/role/InterestandotherincomeexpensenetDetails": { "parentTag": "us-gaap_NonoperatingIncomeExpense", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.penumbrainc.com/role/InterestandotherincomeexpensenetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Interest income", "label": "Investment Income, Interest", "documentation": "Amount before accretion (amortization) of purchase discount (premium) of interest income on nonoperating securities." } } }, "auth_ref": [ "r74", "r185" ] }, "us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InvestmentsClassifiedByContractualMaturityDateTableTextBlock", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Contractual Maturities of Marketable Investments", "label": "Investments Classified by Contractual Maturity Date [Table Text Block]", "documentation": "Tabular disclosure of maturities of an entity's investments as well as any other information pertinent to the investments." } } }, "auth_ref": [] }, "us-gaap_Liabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Liabilities", "crdr": "credit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "totalLabel": "Total liabilities", "label": "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": [ "r18", "r151", "r243", "r288", "r289", "r290", "r291", "r292", "r293", "r294", "r295", "r296", "r397", "r400", "r401", "r420", "r524", "r596", "r629", "r757", "r768", "r769" ] }, "us-gaap_LiabilitiesAndStockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesAndStockholdersEquity", "crdr": "credit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "totalLabel": "Total liabilities and stockholders\u2019 equity", "label": "Liabilities and Equity", "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any." } } }, "auth_ref": [ "r62", "r94", "r487", "r617", "r726", "r740", "r765" ] }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesAndStockholdersEquityAbstract", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Liabilities and Stockholders\u2019 Equity", "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.penumbrainc.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "totalLabel": "Total current liabilities", "label": "Liabilities, Current", "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": [ "r20", "r114", "r151", "r243", "r288", "r289", "r290", "r291", "r292", "r293", "r294", "r295", "r296", "r397", "r400", "r401", "r420", "r617", "r757", "r768", "r769" ] }, "us-gaap_LiabilitiesCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesCurrentAbstract", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Current liabilities:", "label": "Liabilities, Current [Abstract]" } } }, "auth_ref": [] }, "pen_LineOfCreditFacilityAccordianFeatureIncreaseLimit": { "xbrltype": "monetaryItemType", "nsuri": "http://www.penumbrainc.com/20240331", "localname": "LineOfCreditFacilityAccordianFeatureIncreaseLimit", "crdr": "credit", "presentation": [ "http://www.penumbrainc.com/role/IndebtednessDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Line of credit, increase limit", "label": "Line Of Credit Facility, Accordian Feature, Increase Limit", "documentation": "Line Of Credit Facility, Accordian Feature, Increase Limit" } } }, "auth_ref": [] }, "us-gaap_LineOfCreditFacilityLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityLineItems", "presentation": [ "http://www.penumbrainc.com/role/IndebtednessDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Line of Credit Facility [Line Items]", "label": "Line of Credit Facility [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": [ "r725" ] }, "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityMaximumBorrowingCapacity", "crdr": "credit", "presentation": [ "http://www.penumbrainc.com/role/IndebtednessDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Borrowing capacity", "label": "Line of Credit Facility, Maximum Borrowing Capacity", "documentation": "Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility." } } }, "auth_ref": [ "r17" ] }, "us-gaap_LineOfCreditFacilityTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityTable", "presentation": [ "http://www.penumbrainc.com/role/IndebtednessDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Line of Credit Facility [Table]", "label": "Line of Credit Facility [Table]", "documentation": "A table or schedule providing information pertaining to short-term or long-term contractual arrangements with lenders, including letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line." } } }, "auth_ref": [ "r17", "r725" ] }, "us-gaap_LitigationSettlementAmountAwardedToOtherParty": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LitigationSettlementAmountAwardedToOtherParty", "crdr": "credit", "presentation": [ "http://www.penumbrainc.com/role/CommitmentsandContingenciesRoyaltyObligationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Litigation settlement, amount agreed upon", "label": "Litigation Settlement, Amount Awarded to Other Party", "documentation": "Amount awarded to other party in judgment or settlement of litigation." } } }, "auth_ref": [] }, "dei_LocalPhoneNumber": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "LocalPhoneNumber", "presentation": [ "http://www.penumbrainc.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Local Phone Number", "label": "Local Phone Number", "documentation": "Local phone number for entity." } } }, "auth_ref": [] }, "us-gaap_LossContingencyAccrualAtCarryingValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LossContingencyAccrualAtCarryingValue", "crdr": "credit", "presentation": [ "http://www.penumbrainc.com/role/CommitmentsandContingenciesRoyaltyObligationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Contingent liability", "label": "Loss Contingency Accrual", "documentation": "Amount of loss contingency liability." } } }, "auth_ref": [ "r281", "r706" ] }, "pen_MarketableAndNonMarketableInvestmentsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.penumbrainc.com/20240331", "localname": "MarketableAndNonMarketableInvestmentsMember", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsGainsandLossesofMarketableInvestmentsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Marketable And Non-Marketable Investments", "label": "Marketable And Non-Marketable Investments [Member]", "documentation": "Marketable And Non-Marketable Investments" } } }, "auth_ref": [] }, "us-gaap_MarketableSecuritiesPolicy": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MarketableSecuritiesPolicy", "presentation": [ "http://www.penumbrainc.com/role/SummaryofSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Marketable and Non-Marketable Investments", "label": "Marketable Securities, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy for investment classified as marketable security." } } }, "auth_ref": [ "r55" ] }, "ecd_MeasureAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "MeasureAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Measure:", "label": "Measure [Axis]" } } }, "auth_ref": [ "r672" ] }, "ecd_MeasureName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "MeasureName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Name", "label": "Measure Name" } } }, "auth_ref": [ "r672" ] }, "ecd_MnpiDiscTimedForCompValFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "MnpiDiscTimedForCompValFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "MNPI Disclosure Timed for Compensation Value", "label": "MNPI Disclosure Timed for Compensation Value [Flag]" } } }, "auth_ref": [ "r691" ] }, "us-gaap_MoneyMarketFundsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MoneyMarketFundsMember", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsFinancialAssetsandLiabilitiesMeasuredatFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Money market funds", "label": "Money Market Funds [Member]", "documentation": "Fund that invests in short-term money-market instruments, for example, but not limited to, commercial paper, banker's acceptances, repurchase agreements, government securities, certificates of deposit, and other highly liquid securities." } } }, "auth_ref": [ "r761" ] }, "us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward", "presentation": [ "http://www.penumbrainc.com/role/BalanceSheetComponentsProductWarrantyDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Product Warranty, Increase (Decrease) [Roll Forward]", "label": "Movement in Standard and Extended Product Warranty Accrual, Increase (Decrease) [Roll Forward]", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "ecd_MtrlTermsOfTrdArrTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "MtrlTermsOfTrdArrTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Material Terms of Trading Arrangement", "label": "Material Terms of Trading Arrangement [Text Block]" } } }, "auth_ref": [ "r699" ] }, "ecd_NamedExecutiveOfficersFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NamedExecutiveOfficersFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Named Executive Officers, Footnote", "label": "Named Executive Officers, Footnote [Text Block]" } } }, "auth_ref": [ "r673" ] }, "us-gaap_NatureOfOperations": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NatureOfOperations", "presentation": [ "http://www.penumbrainc.com/role/OrganizationandDescriptionofBusiness" ], "lang": { "en-us": { "role": { "terseLabel": "Organization and Description of Business", "label": "Nature of Operations [Text Block]", "documentation": "The entire disclosure for the nature of an entity's business, major products or services, principal markets including location, and the relative importance of its operations in each business and the basis for the determination, including but not limited to, assets, revenues, or earnings. For an entity that has not commenced principal operations, disclosures about the risks and uncertainties related to the activities in which the entity is currently engaged and an understanding of what those activities are being directed toward." } } }, "auth_ref": [ "r103", "r109" ] }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInFinancingActivities", "crdr": "debit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "totalLabel": "Net cash (used in) provided by financing activities", "label": "Net Cash Provided by (Used in) Financing Activities", "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit." } } }, "auth_ref": [ "r146" ] }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "CASH FLOWS FROM FINANCING ACTIVITIES:", "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInInvestingActivities", "crdr": "debit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "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": [ "r146" ] }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "CASH FLOWS FROM INVESTING ACTIVITIES:", "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInOperatingActivities", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "totalLabel": "Net cash provided by (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": [ "r78", "r79", "r80" ] }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "CASH FLOWS FROM OPERATING ACTIVITIES:", "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]" } } }, "auth_ref": [] }, "us-gaap_NetIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetIncomeLoss", "crdr": "credit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofComprehensiveLossIncome": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0, "order": 1.0 }, "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofComprehensiveLossIncome", "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations", "http://www.penumbrainc.com/role/ConsolidatedStatementsofStockholdersEquityDeficit", "http://www.penumbrainc.com/role/NetIncomeperShareBasicandDilutedEarningsperShareDetails", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "totalLabel": "Net income", "terseLabel": "Net income", "verboseLabel": "Net income (loss)", "label": "Net Income (Loss)", "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent." } } }, "auth_ref": [ "r69", "r80", "r96", "r112", "r129", "r132", "r136", "r151", "r156", "r158", "r159", "r160", "r161", "r164", "r165", "r173", "r182", "r196", "r200", "r202", "r243", "r288", "r289", "r290", "r291", "r292", "r293", "r294", "r295", "r296", "r412", "r420", "r491", "r546", "r563", "r564", "r597", "r627", "r757" ] }, "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetIncomeLossAvailableToCommonStockholdersBasicAbstract", "presentation": [ "http://www.penumbrainc.com/role/NetIncomeperShareBasicandDilutedEarningsperShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Numerator:", "label": "Net Income (Loss) Available to Common Stockholders, Basic [Abstract]" } } }, "auth_ref": [] }, "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock", "presentation": [ "http://www.penumbrainc.com/role/SummaryofSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Recently Issued Accounting Standards", "label": "New Accounting Pronouncements, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact." } } }, "auth_ref": [] }, "ecd_NonGaapMeasureDescriptionTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonGaapMeasureDescriptionTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Non-GAAP Measure Description", "label": "Non-GAAP Measure Description [Text Block]" } } }, "auth_ref": [ "r672" ] }, "pen_NonMarketableInvestmentsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.penumbrainc.com/20240331", "localname": "NonMarketableInvestmentsMember", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsFinancialAssetsandLiabilitiesMeasuredatFairValueDetails", "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsGainsandLossesofMarketableInvestmentsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Non-marketable investments", "label": "Non-Marketable Investments [Member]", "documentation": "Non-Marketable Investments" } } }, "auth_ref": [] }, "ecd_NonNeosMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonNeosMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Non-NEOs", "label": "Non-NEOs [Member]" } } }, "auth_ref": [ "r642", "r653", "r663", "r680", "r688" ] }, "ecd_NonPeoNeoAvgCompActuallyPaidAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonPeoNeoAvgCompActuallyPaidAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Non-PEO NEO Average Compensation Actually Paid Amount", "label": "Non-PEO NEO Average Compensation Actually Paid Amount" } } }, "auth_ref": [ "r670" ] }, "ecd_NonPeoNeoAvgTotalCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonPeoNeoAvgTotalCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Non-PEO NEO Average Total Compensation Amount", "label": "Non-PEO NEO Average Total Compensation Amount" } } }, "auth_ref": [ "r669" ] }, "ecd_NonPeoNeoMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonPeoNeoMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Non-PEO NEO", "label": "Non-PEO NEO [Member]" } } }, "auth_ref": [ "r680" ] }, "pen_NonPerformanceSharesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.penumbrainc.com/20240331", "localname": "NonPerformanceSharesMember", "presentation": [ "http://www.penumbrainc.com/role/StockholdersEquityStockbasedCompensationExpenseDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "NonPerformanceShares [Member]", "label": "Non-Performance Shares [Member]", "documentation": "Share-based payment arrangement in which award of equity shares are granted without performance or market vesting conditions." } } }, "auth_ref": [] }, "ecd_NonRule10b51ArrAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonRule10b51ArrAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Non-Rule 10b5-1 Arrangement Adopted", "label": "Non-Rule 10b5-1 Arrangement Adopted [Flag]" } } }, "auth_ref": [ "r699" ] }, "ecd_NonRule10b51ArrTrmntdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonRule10b51ArrTrmntdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Non-Rule 10b5-1 Arrangement Terminated", "label": "Non-Rule 10b5-1 Arrangement Terminated [Flag]" } } }, "auth_ref": [ "r699" ] }, "us-gaap_NoncashInvestingAndFinancingItemsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NoncashInvestingAndFinancingItemsAbstract", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "NONCASH INVESTING AND FINANCING ACTIVITIES:", "label": "Noncash Investing and Financing Items [Abstract]" } } }, "auth_ref": [] }, "us-gaap_NonoperatingIncomeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NonoperatingIncomeExpense", "crdr": "credit", "calculation": { "http://www.penumbrainc.com/role/InterestandotherincomeexpensenetDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.penumbrainc.com/role/InterestandotherincomeexpensenetDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Interest and other income, net", "label": "Nonoperating Income (Expense)", "documentation": "The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business)." } } }, "auth_ref": [ "r75" ] }, "us-gaap_NumberOfOperatingSegments": { "xbrltype": "integerItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NumberOfOperatingSegments", "presentation": [ "http://www.penumbrainc.com/role/SummaryofSignificantAccountingPoliciesAdditionalDisclosuresDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Number of operating segments", "label": "Number of Operating Segments", "documentation": "Number of operating segments. An operating segment is a component of an enterprise: (a) that engages in business activities from which it may earn revenues and incur expenses (including revenues and expenses relating to transactions with other components of the same enterprise), (b) whose operating results are regularly reviewed by the enterprise's chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance, and (c) for which discrete financial information is available. An operating segment may engage in business activities for which it has yet to earn revenues, for example, start-up operations may be operating segments before earning revenues." } } }, "auth_ref": [ "r731" ] }, "pen_NumberofBusinessActivities": { "xbrltype": "integerItemType", "nsuri": "http://www.penumbrainc.com/20240331", "localname": "NumberofBusinessActivities", "presentation": [ "http://www.penumbrainc.com/role/SummaryofSignificantAccountingPoliciesAdditionalDisclosuresDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Number of business activities", "label": "Number of Business Activities", "documentation": "Number of Business Activities" } } }, "auth_ref": [] }, "us-gaap_OciBeforeReclassificationsBeforeTaxAttributableToParent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OciBeforeReclassificationsBeforeTaxAttributableToParent", "crdr": "credit", "presentation": [ "http://www.penumbrainc.com/role/AccumulatedOtherComprehensiveIncomeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Other comprehensive income before reclassifications", "label": "OCI, before Reclassifications, before Tax, Attributable to Parent", "documentation": "Amount before tax and reclassification adjustments of other comprehensive income (loss) attributable to parent." } } }, "auth_ref": [ "r25" ] }, "us-gaap_OciBeforeReclassificationsNetOfTaxAttributableToParent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OciBeforeReclassificationsNetOfTaxAttributableToParent", "crdr": "credit", "presentation": [ "http://www.penumbrainc.com/role/AccumulatedOtherComprehensiveIncomeDetails" ], "lang": { "en-us": { "role": { "netLabel": "Net of tax", "label": "OCI, before Reclassifications, Net of Tax, Attributable to Parent", "documentation": "Amount after tax, before reclassification adjustments, of other comprehensive income (loss), attributable to parent." } } }, "auth_ref": [ "r14", "r25" ] }, "us-gaap_OperatingExpenses": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingExpenses", "crdr": "debit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations" ], "lang": { "en-us": { "role": { "totalLabel": "Total operating expenses", "label": "Operating Expenses", "documentation": "Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense." } } }, "auth_ref": [] }, "us-gaap_OperatingExpensesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingExpensesAbstract", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations" ], "lang": { "en-us": { "role": { "terseLabel": "Operating expenses:", "label": "Operating Expenses [Abstract]" } } }, "auth_ref": [] }, "us-gaap_OperatingIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingIncomeLoss", "crdr": "credit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations" ], "lang": { "en-us": { "role": { "totalLabel": "Income from operations", "label": "Operating Income (Loss)", "documentation": "The net result for the period of deducting operating expenses from operating revenues." } } }, "auth_ref": [ "r182", "r196", "r200", "r202", "r597" ] }, "us-gaap_OperatingLeaseLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiabilityCurrent", "crdr": "credit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Current operating lease liabilities", "label": "Operating Lease, Liability, Current", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current." } } }, "auth_ref": [ "r432" ] }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiabilityNoncurrent", "crdr": "credit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Non-current operating lease liabilities", "label": "Operating Lease, Liability, Noncurrent", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent." } } }, "auth_ref": [ "r432" ] }, "us-gaap_OperatingLeasePayments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeasePayments", "crdr": "credit", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Cash paid for amounts included in the measurement of operating lease liabilities", "label": "Operating Lease, Payments", "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": [ "r434", "r435" ] }, "us-gaap_OperatingLeaseRightOfUseAsset": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseRightOfUseAsset", "crdr": "debit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Operating lease right-of-use assets", "label": "Operating Lease, Right-of-Use Asset", "documentation": "Amount of lessee's right to use underlying asset under operating lease." } } }, "auth_ref": [ "r431" ] }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract", "lang": { "en-us": { "role": { "terseLabel": "Organization, Consolidation and Presentation of Financial Statements [Abstract]", "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.penumbrainc.com/role/BalanceSheetComponentsAccruedLiabilitiesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.penumbrainc.com/role/BalanceSheetComponentsAccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Other accrued liabilities", "label": "Other Accrued Liabilities, Current", "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": [ "r19" ] }, "us-gaap_OtherAssetsNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherAssetsNoncurrent", "crdr": "debit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Other non-current assets", "label": "Other Assets, Noncurrent", "documentation": "Amount of noncurrent assets classified as other." } } }, "auth_ref": [ "r118" ] }, "us-gaap_OtherCommitmentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherCommitmentsAxis", "presentation": [ "http://www.penumbrainc.com/role/CommitmentsandContingenciesRoyaltyObligationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Other Commitments [Axis]", "label": "Other Commitments [Axis]", "documentation": "Information by type of other commitment." } } }, "auth_ref": [] }, "us-gaap_OtherCommitmentsDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherCommitmentsDomain", "presentation": [ "http://www.penumbrainc.com/role/CommitmentsandContingenciesRoyaltyObligationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Other Commitments [Domain]", "label": "Other Commitments [Domain]", "documentation": "Other future obligation." } } }, "auth_ref": [] }, "us-gaap_OtherCommitmentsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherCommitmentsLineItems", "presentation": [ "http://www.penumbrainc.com/role/CommitmentsandContingenciesRoyaltyObligationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Other Commitments [Line Items]", "label": "Other Commitments [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_OtherCommitmentsTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherCommitmentsTable", "presentation": [ "http://www.penumbrainc.com/role/CommitmentsandContingenciesRoyaltyObligationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Other Commitments [Table]", "label": "Other Commitments [Table]", "documentation": "Disclosure of information about obligations resulting from other commitments." } } }, "auth_ref": [] }, "us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossBeforeReclassificationsTax", "crdr": "debit", "presentation": [ "http://www.penumbrainc.com/role/AccumulatedOtherComprehensiveIncomeDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Income tax effect \u2014 expense", "label": "Other Comprehensive Income (Loss) before Reclassifications, Tax", "documentation": "Amount of tax expense (benefit) allocated to other comprehensive income (loss) before reclassification adjustment from accumulated other comprehensive income (loss)." } } }, "auth_ref": [ "r5", "r134", "r492" ] }, "us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsTaxAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossBeforeReclassificationsTaxAbstract", "presentation": [ "http://www.penumbrainc.com/role/AccumulatedOtherComprehensiveIncomeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Other comprehensive loss before reclassifications:", "label": "Other Comprehensive Income (Loss) before Reclassifications, Tax [Abstract]" } } }, "auth_ref": [] }, "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax", "crdr": "credit", "presentation": [ "http://www.penumbrainc.com/role/AccumulatedOtherComprehensiveIncomeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Foreign currency translation (losses) gains", "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, before Tax", "documentation": "Amount before tax, after 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": [ "r3", "r67" ] }, "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax", "crdr": "credit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofComprehensiveLossIncome": { "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTax", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofComprehensiveLossIncome" ], "lang": { "en-us": { "role": { "terseLabel": "Foreign currency translation adjustments, net of tax", "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax", "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": [ "r3" ] }, "us-gaap_OtherComprehensiveIncomeLossNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossNetOfTax", "crdr": "credit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofComprehensiveLossIncome": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.penumbrainc.com/role/AccumulatedOtherComprehensiveIncomeDetails", "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofComprehensiveLossIncome", "http://www.penumbrainc.com/role/ConsolidatedStatementsofStockholdersEquityDeficit" ], "lang": { "en-us": { "role": { "totalLabel": "Total other comprehensive (loss) income, net of tax", "verboseLabel": "Other comprehensive income (loss)", "netLabel": "Total other comprehensive (loss) income, net of tax", "label": "Other Comprehensive Income (Loss), Net of Tax", "documentation": "Amount after tax and reclassification adjustments of other comprehensive income (loss)." } } }, "auth_ref": [ "r12", "r14", "r130", "r133", "r139", "r422", "r423", "r428", "r474", "r492", "r719", "r720" ] }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofComprehensiveLossIncome" ], "lang": { "en-us": { "role": { "terseLabel": "Other comprehensive (loss) income, net of tax:", "label": "Other Comprehensive Income (Loss), Net of Tax [Abstract]" } } }, "auth_ref": [] }, "us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax", "crdr": "credit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofComprehensiveLossIncome": { "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTax", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofComprehensiveLossIncome" ], "lang": { "en-us": { "role": { "terseLabel": "Net change in unrealized gains or losses on available-for-sale securities, net of tax", "label": "OCI, Debt Securities, Available-for-Sale, Unrealized Holding Gain (Loss), before Adjustment, after Tax", "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": [ "r124", "r127", "r242" ] }, "us-gaap_OtherIncomeAndExpensesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherIncomeAndExpensesAbstract", "lang": { "en-us": { "role": { "label": "Other Income and Expenses [Abstract]" } } }, "auth_ref": [] }, "us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherIncomeAndOtherExpenseDisclosureTextBlock", "presentation": [ "http://www.penumbrainc.com/role/Interestandotherincomeexpensenet" ], "lang": { "en-us": { "role": { "terseLabel": "Interest and other income (expense), net", "label": "Other Income and Other Expense Disclosure [Text Block]", "documentation": "The entire disclosure for other income or other expense items (both operating and nonoperating). Sources of nonoperating income or nonoperating expense that may be disclosed, include amounts earned from dividends, interest on securities, profits (losses) on securities, net and miscellaneous other income or income deductions." } } }, "auth_ref": [ "r90", "r91" ] }, "us-gaap_OtherLiabilitiesNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherLiabilitiesNoncurrent", "crdr": "credit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Other non-current liabilities", "label": "Other Liabilities, Noncurrent", "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r21" ] }, "pen_OtherNonUSMember": { "xbrltype": "domainItemType", "nsuri": "http://www.penumbrainc.com/20240331", "localname": "OtherNonUSMember", "presentation": [ "http://www.penumbrainc.com/role/RevenuesDisaggregationofRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "International", "label": "Other Non-US [Member]", "documentation": "Other Non-US [Member]" } } }, "auth_ref": [] }, "us-gaap_OtherNonoperatingIncomeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherNonoperatingIncomeExpense", "crdr": "credit", "calculation": { "http://www.penumbrainc.com/role/InterestandotherincomeexpensenetDetails": { "parentTag": "us-gaap_NonoperatingIncomeExpense", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.penumbrainc.com/role/InterestandotherincomeexpensenetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Other income, net", "label": "Other Nonoperating Income (Expense)", "documentation": "Amount of income (expense) related to nonoperating activities, classified as other." } } }, "auth_ref": [ "r76" ] }, "us-gaap_OtherOperatingActivitiesCashFlowStatement": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherOperatingActivitiesCashFlowStatement", "crdr": "debit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Other", "label": "Other Operating Activities, Cash Flow Statement", "documentation": "Other cash or noncash adjustments to reconcile net income to cash provided by (used in) operating activities that are not separately disclosed in the statement of cash flows (for example, cash received or cash paid during the current period for miscellaneous operating activities, net change during the reporting period in other assets or other liabilities)." } } }, "auth_ref": [] }, "ecd_OtherPerfMeasureAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "OtherPerfMeasureAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Other Performance Measure, Amount", "label": "Other Performance Measure, Amount" } } }, "auth_ref": [ "r672" ] }, "us-gaap_OtherSundryLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherSundryLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.penumbrainc.com/role/BalanceSheetComponentsAccruedLiabilitiesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.penumbrainc.com/role/BalanceSheetComponentsAccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Accrued expenses", "label": "Other Sundry Liabilities, Current", "documentation": "Obligations not otherwise itemized or categorized in the footnotes to the financial statements that are due within one year or operating cycle, if longer, from the balance sheet date." } } }, "auth_ref": [ "r19", "r43" ] }, "ecd_OutstandingAggtErrCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "OutstandingAggtErrCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Outstanding Aggregate Erroneous Compensation Amount", "label": "Outstanding Aggregate Erroneous Compensation Amount" } } }, "auth_ref": [ "r640", "r651", "r661", "r686" ] }, "ecd_OutstandingRecoveryCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "OutstandingRecoveryCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Compensation Amount", "label": "Outstanding Recovery Compensation Amount" } } }, "auth_ref": [ "r643", "r654", "r664", "r689" ] }, "ecd_OutstandingRecoveryIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "OutstandingRecoveryIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Name", "label": "Outstanding Recovery, Individual Name" } } }, "auth_ref": [ "r643", "r654", "r664", "r689" ] }, "ecd_PayVsPerformanceDisclosureLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PayVsPerformanceDisclosureLineItems", "lang": { "en-us": { "role": { "label": "Pay vs Performance Disclosure [Line Items]" } } }, "auth_ref": [ "r668" ] }, "us-gaap_PaymentsForProceedsFromOtherInvestingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsForProceedsFromOtherInvestingActivities", "crdr": "credit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 3.0 } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Other", "label": "Payments for (Proceeds from) Other Investing Activities", "documentation": "Amount of cash (inflow) outflow from investing activities classified as other." } } }, "auth_ref": [ "r707", "r722" ] }, "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation", "crdr": "credit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Payment of employee taxes related to vested stock", "label": "Payment, Tax Withholding, Share-Based Payment Arrangement", "documentation": "Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement." } } }, "auth_ref": [ "r144" ] }, "us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsToAcquireAvailableForSaleSecuritiesDebt", "crdr": "credit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 4.0 } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Purchases of marketable investments", "label": "Payments to Acquire Debt Securities, Available-for-Sale", "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": [ "r27", "r142", "r210" ] }, "pen_PaymentsToAcquireConvertiblePreferredStock": { "xbrltype": "monetaryItemType", "nsuri": "http://www.penumbrainc.com/20240331", "localname": "PaymentsToAcquireConvertiblePreferredStock", "crdr": "credit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 5.0 } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows", "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsNarrativeDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Purchases of non-marketable investments", "terseLabel": "Payments for non-marketable investment", "label": "Payments To Acquire Convertible Preferred Stock", "documentation": "Payments To Acquire Convertible Preferred Stock" } } }, "auth_ref": [] }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "crdr": "credit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Purchases of property and equipment", "label": "Payments to Acquire Property, Plant, and Equipment", "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets." } } }, "auth_ref": [ "r77" ] }, "ecd_PeerGroupIssuersFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeerGroupIssuersFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Peer Group Issuers, Footnote", "label": "Peer Group Issuers, Footnote [Text Block]" } } }, "auth_ref": [ "r671" ] }, "ecd_PeerGroupTotalShareholderRtnAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeerGroupTotalShareholderRtnAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Peer Group Total Shareholder Return Amount", "label": "Peer Group Total Shareholder Return Amount" } } }, "auth_ref": [ "r671" ] }, "ecd_PeoActuallyPaidCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeoActuallyPaidCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "PEO Actually Paid Compensation Amount", "label": "PEO Actually Paid Compensation Amount" } } }, "auth_ref": [ "r670" ] }, "ecd_PeoMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeoMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "PEO", "label": "PEO [Member]" } } }, "auth_ref": [ "r680" ] }, "ecd_PeoName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeoName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "PEO Name", "label": "PEO Name" } } }, "auth_ref": [ "r673" ] }, "ecd_PeoTotalCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeoTotalCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "PEO Total Compensation Amount", "label": "PEO Total Compensation Amount" } } }, "auth_ref": [ "r669" ] }, "us-gaap_PerformanceSharesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PerformanceSharesMember", "presentation": [ "http://www.penumbrainc.com/role/StockholdersEquityStockbasedCompensationExpenseDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Performance Shares", "label": "Performance Shares [Member]", "documentation": "Share-based payment arrangement awarded for meeting performance target." } } }, "auth_ref": [] }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PrepaidExpenseAndOtherAssetsCurrent", "crdr": "debit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Prepaid expenses and other current assets", "label": "Prepaid Expense and Other Assets, Current", "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": [ "r718" ] }, "us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities", "crdr": "debit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Proceeds from maturities of marketable investments", "label": "Proceeds from Maturities, Prepayments and Calls of Debt Securities, Available-for-Sale", "documentation": "Amount of cash inflow from maturity, prepayment and call of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)." } } }, "auth_ref": [ "r142", "r143", "r733" ] }, "us-gaap_ProceedsFromPaymentsForOtherFinancingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromPaymentsForOtherFinancingActivities", "crdr": "debit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Other", "label": "Proceeds from (Payments for) Other Financing Activities", "documentation": "Amount of cash inflow (outflow) from financing activities classified as other." } } }, "auth_ref": [ "r708", "r723" ] }, "us-gaap_ProceedsFromStockOptionsExercised": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromStockOptionsExercised", "crdr": "debit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Proceeds from exercises of stock options", "label": "Proceeds from Stock Options Exercised", "documentation": "Amount of cash inflow from exercise of option under share-based payment arrangement." } } }, "auth_ref": [ "r6", "r13" ] }, "srt_ProductOrServiceAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ProductOrServiceAxis", "presentation": [ "http://www.penumbrainc.com/role/RevenuesDisaggregationofRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Product and Service [Axis]", "label": "Product and Service [Axis]" } } }, "auth_ref": [ "r203", "r469", "r497", "r498", "r499", "r500", "r501", "r502", "r586", "r603", "r618", "r709", "r755", "r756", "r760", "r772" ] }, "us-gaap_ProductWarrantyAccrual": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProductWarrantyAccrual", "crdr": "credit", "presentation": [ "http://www.penumbrainc.com/role/BalanceSheetComponentsProductWarrantyDetails" ], "lang": { "en-us": { "role": { "periodStartLabel": "Balance at the beginning of the period", "periodEndLabel": "Balance at the end of the period", "label": "Standard and Extended Product Warranty Accrual", "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for estimated claims under standard and extended warranty protection rights granted to customers." } } }, "auth_ref": [ "r53", "r282", "r284", "r287" ] }, "us-gaap_ProductWarrantyAccrualPayments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProductWarrantyAccrualPayments", "crdr": "debit", "presentation": [ "http://www.penumbrainc.com/role/BalanceSheetComponentsProductWarrantyDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Settlements of warranty claims", "label": "Standard and Extended Product Warranty Accrual, Decrease for Payments", "documentation": "Amount of decrease in the standard and extended product warranty accrual from payments made in cash or in kind to satisfy claims under the terms of the standard and extended product warranty." } } }, "auth_ref": [ "r285" ] }, "us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProductWarrantyAccrualPreexistingIncreaseDecrease", "crdr": "credit", "presentation": [ "http://www.penumbrainc.com/role/BalanceSheetComponentsProductWarrantyDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Accruals of warranties issued, net", "label": "Standard and Extended Product Warranty Accrual, Increase (Decrease) for Preexisting Warranties", "documentation": "Amount of increase (decrease) in the standard and extended product warranty accrual from changes in estimates attributable to preexisting product warranties." } } }, "auth_ref": [ "r286" ] }, "srt_ProductsAndServicesDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ProductsAndServicesDomain", "presentation": [ "http://www.penumbrainc.com/role/RevenuesDisaggregationofRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Product and Service [Domain]", "label": "Product and Service [Domain]" } } }, "auth_ref": [ "r203", "r469", "r497", "r498", "r499", "r500", "r501", "r502", "r586", "r603", "r618", "r709", "r755", "r756", "r760", "r772" ] }, "us-gaap_ProfitLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProfitLoss", "crdr": "credit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Net income", "label": "Net Income (Loss), Including Portion Attributable to Noncontrolling Interest", "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest." } } }, "auth_ref": [ "r112", "r129", "r132", "r145", "r151", "r156", "r164", "r165", "r182", "r196", "r200", "r202", "r243", "r288", "r289", "r290", "r291", "r292", "r293", "r294", "r295", "r296", "r395", "r398", "r399", "r412", "r420", "r477", "r490", "r512", "r546", "r563", "r564", "r597", "r614", "r615", "r628", "r721", "r757" ] }, "us-gaap_PropertyPlantAndEquipmentNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentNet", "crdr": "debit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Property and equipment, net", "label": "Property, Plant and Equipment, Net", "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures." } } }, "auth_ref": [ "r9", "r480", "r488", "r617" ] }, "ecd_PvpTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PvpTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Pay vs Performance Disclosure", "label": "Pay vs Performance Disclosure [Table]" } } }, "auth_ref": [ "r668" ] }, "ecd_PvpTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PvpTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Pay vs Performance Disclosure, Table", "label": "Pay vs Performance [Table Text Block]" } } }, "auth_ref": [ "r668" ] }, "us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTaxAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTaxAbstract", "presentation": [ "http://www.penumbrainc.com/role/AccumulatedOtherComprehensiveIncomeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "AOCI Including Portion Attributable to Noncontrolling Interest, Net of Tax [Roll Forward]", "label": "AOCI Including Portion Attributable to Noncontrolling Interest, Net of Tax [Roll Forward]", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "ecd_RecoveryOfErrCompDisclosureLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "RecoveryOfErrCompDisclosureLineItems", "lang": { "en-us": { "role": { "label": "Recovery of Erroneously Awarded Compensation Disclosure [Line Items]" } } }, "auth_ref": [ "r635", "r646", "r656", "r681" ] }, "us-gaap_ResearchAndDevelopmentExpenseExcludingAcquiredInProcessCost": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ResearchAndDevelopmentExpenseExcludingAcquiredInProcessCost", "crdr": "debit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations": { "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations" ], "lang": { "en-us": { "role": { "terseLabel": "Research and development", "label": "Research and Development Expense (Excluding Acquired in Process Cost)", "documentation": "The costs incurred 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 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, excluding in-process research and development acquired in a business combination consummated during the period. Excludes software research and development, which has a separate concept." } } }, "auth_ref": [ "r762" ] }, "us-gaap_ResearchAndDevelopmentExpenseMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ResearchAndDevelopmentExpenseMember", "presentation": [ "http://www.penumbrainc.com/role/StockholdersEquityStockbasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Research and development", "label": "Research and Development Expense [Member]", "documentation": "Primary financial statement caption in which the reported facts about research and development expense have been included." } } }, "auth_ref": [] }, "ecd_RestatementDateAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "RestatementDateAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Restatement Determination Date:", "label": "Restatement Determination Date [Axis]" } } }, "auth_ref": [ "r636", "r647", "r657", "r682" ] }, "ecd_RestatementDeterminationDate": { "xbrltype": "dateItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "RestatementDeterminationDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Restatement Determination Date", "label": "Restatement Determination Date" } } }, "auth_ref": [ "r637", "r648", "r658", "r683" ] }, "ecd_RestatementDoesNotRequireRecoveryTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "RestatementDoesNotRequireRecoveryTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Restatement does not require Recovery", "label": "Restatement Does Not Require Recovery [Text Block]" } } }, "auth_ref": [ "r644", "r655", "r665", "r690" ] }, "us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsFinancialAssetsandLiabilitiesMeasuredatFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cash and Cash Equivalents [Domain]", "label": "Cash and Cash Equivalents [Domain]", "documentation": "Type of cash and cash equivalent. Cash is currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r115" ] }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetainedEarningsAccumulatedDeficit", "crdr": "credit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Retained earnings", "label": "Retained Earnings (Accumulated Deficit)", "documentation": "Amount of accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r59", "r89", "r486", "r506", "r508", "r510", "r527", "r617" ] }, "us-gaap_RetainedEarningsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetainedEarningsMember", "presentation": [ "http://www.penumbrainc.com/role/ConsolidatedStatementsofStockholdersEquityDeficit" ], "lang": { "en-us": { "role": { "terseLabel": "Retained Earnings (Accumulated Deficit)", "label": "Retained Earnings [Member]", "documentation": "Accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r111", "r153", "r154", "r155", "r157", "r163", "r165", "r244", "r245", "r376", "r377", "r378", "r388", "r389", "r402", "r404", "r405", "r407", "r410", "r503", "r505", "r513", "r777" ] }, "us-gaap_RevenueFromContractWithCustomerAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerAbstract", "lang": { "en-us": { "role": { "terseLabel": "Revenue from Contract with Customer [Abstract]", "label": "Revenue from Contract with Customer [Abstract]" } } }, "auth_ref": [] }, "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerExcludingAssessedTax", "crdr": "credit", "presentation": [ "http://www.penumbrainc.com/role/RevenuesDisaggregationofRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue from contract with customer", "label": "Revenue from Contract with Customer, Excluding Assessed Tax", "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": [ "r183", "r184", "r195", "r198", "r199", "r203", "r204", "r206", "r335", "r336", "r469" ] }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerTextBlock", "presentation": [ "http://www.penumbrainc.com/role/Revenues" ], "lang": { "en-us": { "role": { "terseLabel": "Revenues", "label": "Revenue from Contract with Customer [Text Block]", "documentation": "The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts." } } }, "auth_ref": [ "r110", "r327", "r328", "r329", "r330", "r331", "r332", "r333", "r334", "r338" ] }, "us-gaap_Revenues": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Revenues", "crdr": "credit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations": { "parentTag": "us-gaap_GrossProfit", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue", "label": "Revenues", "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": [ "r138", "r151", "r183", "r184", "r195", "r198", "r199", "r203", "r204", "r206", "r243", "r288", "r289", "r290", "r291", "r292", "r293", "r294", "r295", "r296", "r420", "r477", "r757" ] }, "us-gaap_RevolvingCreditFacilityMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevolvingCreditFacilityMember", "presentation": [ "http://www.penumbrainc.com/role/IndebtednessDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revolving Credit Facility", "label": "Revolving Credit Facility [Member]", "documentation": "Arrangement in which loan proceeds can continuously be obtained following repayments, but the total amount borrowed cannot exceed a specified maximum amount." } } }, "auth_ref": [] }, "us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability", "crdr": "debit", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Right-of-use assets obtained in exchange for finance lease obligations", "label": "Right-of-Use Asset Obtained in Exchange for Finance Lease Liability", "documentation": "Amount of increase in right-of-use asset obtained in exchange for finance lease liability." } } }, "auth_ref": [ "r436", "r616" ] }, "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability", "crdr": "debit", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Right-of-use assets obtained in exchange for lease obligations", "label": "Right-of-Use Asset Obtained in Exchange for Operating Lease Liability", "documentation": "Amount of increase in right-of-use asset obtained in exchange for operating lease liability." } } }, "auth_ref": [ "r436", "r616" ] }, "pen_RoyaltyAgreementMarch2005Member": { "xbrltype": "domainItemType", "nsuri": "http://www.penumbrainc.com/20240331", "localname": "RoyaltyAgreementMarch2005Member", "presentation": [ "http://www.penumbrainc.com/role/CommitmentsandContingenciesRoyaltyObligationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Royalty Agreement, March 2005", "label": "Royalty Agreement, March 2005 [Member]", "documentation": "Royalty Agreement, March 2005 [Member]" } } }, "auth_ref": [] }, "us-gaap_RoyaltyExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RoyaltyExpense", "crdr": "debit", "presentation": [ "http://www.penumbrainc.com/role/CommitmentsandContingenciesRoyaltyObligationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Royalty expense", "label": "Royalty Expense", "documentation": "Amount of expense related to royalty payments under a contractual arrangement such as payment for mineral and drilling rights and use of technology or intellectual property." } } }, "auth_ref": [ "r72" ] }, "pen_RoyaltyObligationsExtendedTermOfAgreement": { "xbrltype": "durationItemType", "nsuri": "http://www.penumbrainc.com/20240331", "localname": "RoyaltyObligationsExtendedTermOfAgreement", "presentation": [ "http://www.penumbrainc.com/role/CommitmentsandContingenciesRoyaltyObligationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Extended term of agreement", "label": "Royalty Obligations, Extended Term of Agreement", "documentation": "Royalty Obligations, Extended Term of Agreement" } } }, "auth_ref": [] }, "pen_RoyaltyObligationsIncreaseDecreaseInMinimumAnnualRoyaltyPayments": { "xbrltype": "monetaryItemType", "nsuri": "http://www.penumbrainc.com/20240331", "localname": "RoyaltyObligationsIncreaseDecreaseInMinimumAnnualRoyaltyPayments", "crdr": "credit", "presentation": [ "http://www.penumbrainc.com/role/CommitmentsandContingenciesRoyaltyObligationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Increase in minimum annual royalty payments", "label": "Royalty Obligations, Increase (Decrease) In Minimum Annual Royalty Payments", "documentation": "Royalty Obligations, Increase (Decrease) In Minimum Annual Royalty Payments" } } }, "auth_ref": [] }, "pen_RoyaltyObligationsMinimumAnnualRoyaltyPayments": { "xbrltype": "monetaryItemType", "nsuri": "http://www.penumbrainc.com/20240331", "localname": "RoyaltyObligationsMinimumAnnualRoyaltyPayments", "crdr": "credit", "presentation": [ "http://www.penumbrainc.com/role/CommitmentsandContingenciesRoyaltyObligationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Minimum annual royalty payments", "label": "Royalty Obligations, Minimum Annual Royalty Payments", "documentation": "Royalty Obligations, Minimum Annual Royalty Payments" } } }, "auth_ref": [] }, "pen_RoyaltyObligationsMinimumQuarterlyRoyaltyPayments": { "xbrltype": "monetaryItemType", "nsuri": "http://www.penumbrainc.com/20240331", "localname": "RoyaltyObligationsMinimumQuarterlyRoyaltyPayments", "crdr": "credit", "presentation": [ "http://www.penumbrainc.com/role/CommitmentsandContingenciesRoyaltyObligationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Minimum quarterly royalty payments", "label": "Royalty Obligations, Minimum Quarterly Royalty Payments", "documentation": "Royalty Obligations, Minimum Quarterly Royalty Payments" } } }, "auth_ref": [] }, "ecd_Rule10b51ArrAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "Rule10b51ArrAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Rule 10b5-1 Arrangement Adopted", "label": "Rule 10b5-1 Arrangement Adopted [Flag]" } } }, "auth_ref": [ "r699" ] }, "ecd_Rule10b51ArrTrmntdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "Rule10b51ArrTrmntdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Rule 10b5-1 Arrangement Terminated", "label": "Rule 10b5-1 Arrangement Terminated [Flag]" } } }, "auth_ref": [ "r699" ] }, "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock", "presentation": [ "http://www.penumbrainc.com/role/BalanceSheetComponentsBalanceSheetComponentsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Accrued Liabilities", "label": "Schedule of Accrued Liabilities [Table Text Block]", "documentation": "Tabular disclosure of the components of accrued liabilities." } } }, "auth_ref": [] }, "us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock", "presentation": [ "http://www.penumbrainc.com/role/AccumulatedOtherComprehensiveIncomeTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Accumulated Other Comprehensive Income (Loss)", "label": "Schedule of Accumulated Other Comprehensive Income (Loss) [Table Text Block]", "documentation": "Tabular disclosure of the components of accumulated other comprehensive income (loss)." } } }, "auth_ref": [ "r25", "r766", "r767" ] }, "us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfAvailableForSaleSecuritiesLineItems", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsGainsandLossesofMarketableInvestmentsDetails", "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsMarketableSecuritiesinanUnrealizedLossPositionDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Debt Securities, Available-for-sale [Line Items]", "label": "Debt Securities, Available-for-Sale [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": [ "r212", "r213", "r214", "r215", "r216", "r217", "r218", "r219", "r220", "r221", "r222", "r223" ] }, "us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Marketable Investments", "label": "Schedule of Available-for-Sale Securities Reconciliation [Table Text Block]", "documentation": "Tabular disclosure of the reconciliation of available-for-sale securities from cost basis to fair value." } } }, "auth_ref": [] }, "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "presentation": [ "http://www.penumbrainc.com/role/NetIncomeperShareTables" ], "lang": { "en-us": { "role": { "terseLabel": "Reconciliation of the Numerator and Denominator used in the Calculation of the Basic and Diluted Earnings per Share", "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]", "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations." } } }, "auth_ref": [ "r730" ] }, "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable", "presentation": [ "http://www.penumbrainc.com/role/StockholdersEquityStockbasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Table]", "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [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": [ "r45" ] }, "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "presentation": [ "http://www.penumbrainc.com/role/StockholdersEquityTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Stock-based Compensation Expense", "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]", "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": [ "r45" ] }, "us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Fair Value of Assets and Liabilities", "label": "Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis [Table Text Block]", "documentation": "Tabular disclosure of assets and liabilities, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3)." } } }, "auth_ref": [ "r414", "r415" ] }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable", "presentation": [ "http://www.penumbrainc.com/role/IntangibleAssetsIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Finite-Lived Intangible Assets [Table]", "label": "Schedule of Finite-Lived Intangible Assets [Table]", "documentation": "Schedule of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r39", "r41", "r470" ] }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "presentation": [ "http://www.penumbrainc.com/role/IntangibleAssetsIntangibleAssetsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Finite-lived Intangible Assets", "label": "Schedule of Finite-Lived Intangible Assets [Table Text Block]", "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment." } } }, "auth_ref": [ "r39", "r41" ] }, "us-gaap_ScheduleOfGoodwillTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfGoodwillTextBlock", "presentation": [ "http://www.penumbrainc.com/role/GoodwillTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Goodwill", "label": "Schedule of Goodwill [Table Text Block]", "documentation": "Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule." } } }, "auth_ref": [ "r600", "r743", "r744", "r745", "r746", "r747", "r748", "r749", "r750", "r751", "r752", "r753" ] }, "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfInventoryCurrentTableTextBlock", "presentation": [ "http://www.penumbrainc.com/role/BalanceSheetComponentsBalanceSheetComponentsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Inventories", "label": "Schedule of Inventory, Current [Table Text Block]", "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": [ "r15", "r63", "r64", "r65" ] }, "us-gaap_ScheduleOfOtherOperatingCostAndExpenseByComponentTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfOtherOperatingCostAndExpenseByComponentTextBlock", "presentation": [ "http://www.penumbrainc.com/role/InterestandotherincomeexpensenetTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Other Operating Cost and Expense, by Component", "label": "Schedule of Other Operating Cost and Expense, by Component [Table Text Block]", "documentation": "Tabular disclosure of each detailed component of other operating costs and expenses that are applicable to sales and revenues, but not included in the cost of sales in the income statement." } } }, "auth_ref": [ "r72" ] }, "us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfProductWarrantyLiabilityTableTextBlock", "presentation": [ "http://www.penumbrainc.com/role/BalanceSheetComponentsBalanceSheetComponentsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Estimated Product Warranty Accrual", "label": "Schedule of Product Warranty Liability [Table Text Block]", "documentation": "Tabular disclosure of the changes in the guarantor's aggregate product warranty liability, including the beginning balance of the aggregate product warranty liability, the aggregate reductions in that liability for payments made (in cash or in kind) under the warranty, the aggregate changes in the liability for accruals related to product warranties issued during the reporting period, the aggregate changes in the liability for accruals related to preexisting warranties (including adjustments related to changes in estimates), and the ending balance of the aggregate product warranty liability." } } }, "auth_ref": [ "r283" ] }, "dei_Security12bTitle": { "xbrltype": "securityTitleItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "Security12bTitle", "presentation": [ "http://www.penumbrainc.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Title of 12(b) Security", "label": "Title of 12(b) Security", "documentation": "Title of a 12(b) registered security." } } }, "auth_ref": [ "r630" ] }, "dei_SecurityExchangeName": { "xbrltype": "edgarExchangeCodeItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "SecurityExchangeName", "presentation": [ "http://www.penumbrainc.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Security Exchange Name", "label": "Security Exchange Name", "documentation": "Name of the Exchange on which a security is registered." } } }, "auth_ref": [ "r632" ] }, "srt_SegmentGeographicalDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "SegmentGeographicalDomain", "presentation": [ "http://www.penumbrainc.com/role/RevenuesDisaggregationofRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Geographical [Domain]", "label": "Geographical [Domain]" } } }, "auth_ref": [ "r204", "r205", "r515", "r516", "r517", "r570", "r571", "r572", "r573", "r577", "r578", "r579", "r580", "r581", "r582", "r583", "r584", "r585", "r587", "r604", "r621", "r760", "r772" ] }, "us-gaap_SegmentReportingPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentReportingPolicyPolicyTextBlock", "presentation": [ "http://www.penumbrainc.com/role/SummaryofSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Segments", "label": "Segment Reporting, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy for segment reporting." } } }, "auth_ref": [ "r189", "r190", "r191", "r192", "r193", "r194", "r204", "r598" ] }, "us-gaap_SellingGeneralAndAdministrativeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SellingGeneralAndAdministrativeExpense", "crdr": "debit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations": { "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations" ], "lang": { "en-us": { "role": { "terseLabel": "Sales, general and administrative", "label": "Selling, General and Administrative Expense", "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": [ "r73" ] }, "us-gaap_SellingGeneralAndAdministrativeExpensesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SellingGeneralAndAdministrativeExpensesMember", "presentation": [ "http://www.penumbrainc.com/role/IntangibleAssetsIntangibleAssetsDetails", "http://www.penumbrainc.com/role/StockholdersEquityStockbasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Sales, general and administrative", "label": "Selling, General and Administrative Expenses [Member]", "documentation": "Primary financial statement caption encompassing selling, general and administrative expense." } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensation", "crdr": "debit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Stock-based compensation", "label": "Share-Based Payment Arrangement, Noncash Expense", "documentation": "Amount of noncash expense for share-based payment arrangement." } } }, "auth_ref": [ "r7" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1", "presentation": [ "http://www.penumbrainc.com/role/StockholdersEquityStockbasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Award requisite service period", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Award Requisite Service Period", "documentation": "Estimated period over which an employee is required to provide service in exchange for the equity-based payment award, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r613" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "presentation": [ "http://www.penumbrainc.com/role/StockholdersEquityStockbasedCompensationExpenseDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Equity Award [Domain]", "label": "Award Type [Domain]", "documentation": "Award under share-based payment arrangement." } } }, "auth_ref": [ "r347", "r348", "r349", "r350", "r351", "r352", "r353", "r354", "r355", "r356", "r357", "r358", "r359", "r360", "r361", "r362", "r363", "r364", "r365", "r366", "r367", "r368", "r369", "r370", "r371", "r372" ] }, "us-gaap_SharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharesOutstanding", "presentation": [ "http://www.penumbrainc.com/role/ConsolidatedStatementsofStockholdersEquityDeficit" ], "lang": { "en-us": { "role": { "periodStartLabel": "Beginning balance (in shares)", "periodEndLabel": "Ending balance (in shares)", "label": "Shares, Outstanding", "documentation": "Number of shares issued which are neither cancelled nor held in the treasury." } } }, "auth_ref": [] }, "us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharesPaidForTaxWithholdingForShareBasedCompensation", "presentation": [ "http://www.penumbrainc.com/role/ConsolidatedStatementsofStockholdersEquityDeficit" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Shares held for tax withholdings (in shares)", "label": "Share-Based Payment Arrangement, Shares Withheld for Tax Withholding Obligation", "documentation": "Number of shares used to settle grantee's tax withholding obligation for award under share-based payment arrangement." } } }, "auth_ref": [] }, "us-gaap_SignificantAccountingPoliciesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SignificantAccountingPoliciesTextBlock", "presentation": [ "http://www.penumbrainc.com/role/SummaryofSignificantAccountingPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Summary of Significant Accounting Policies", "label": "Significant Accounting Policies [Text Block]", "documentation": "The entire disclosure for all significant accounting policies of the reporting entity." } } }, "auth_ref": [ "r81", "r148" ] }, "us-gaap_StatementEquityComponentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementEquityComponentsAxis", "presentation": [ "http://www.penumbrainc.com/role/AccumulatedOtherComprehensiveIncomeDetails", "http://www.penumbrainc.com/role/ConsolidatedStatementsofStockholdersEquityDeficit" ], "lang": { "en-us": { "role": { "terseLabel": "Equity Components [Axis]", "label": "Equity Components [Axis]", "documentation": "Information by component of equity." } } }, "auth_ref": [ "r12", "r23", "r111", "r134", "r135", "r136", "r153", "r154", "r155", "r157", "r163", "r165", "r181", "r244", "r245", "r323", "r376", "r377", "r378", "r388", "r389", "r402", "r403", "r404", "r405", "r406", "r407", "r410", "r422", "r424", "r425", "r426", "r427", "r428", "r437", "r503", "r504", "r505", "r513", "r565" ] }, "srt_StatementGeographicalAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "StatementGeographicalAxis", "presentation": [ "http://www.penumbrainc.com/role/RevenuesDisaggregationofRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Geographical [Axis]", "label": "Geographical [Axis]" } } }, "auth_ref": [ "r204", "r205", "r515", "r516", "r517", "r570", "r571", "r572", "r573", "r575", "r577", "r578", "r579", "r580", "r581", "r582", "r583", "r584", "r585", "r587", "r604", "r621", "r760", "r772" ] }, "us-gaap_StatementLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementLineItems", "presentation": [ "http://www.penumbrainc.com/role/ConsolidatedStatementsofStockholdersEquityDeficit" ], "lang": { "en-us": { "role": { "terseLabel": "Statement [Line Items]", "label": "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": [ "r153", "r154", "r155", "r181", "r469", "r509", "r514", "r518", "r519", "r520", "r521", "r522", "r523", "r526", "r529", "r530", "r531", "r532", "r533", "r534", "r535", "r536", "r537", "r539", "r540", "r541", "r542", "r543", "r545", "r547", "r548", "r551", "r552", "r553", "r554", "r555", "r556", "r557", "r558", "r559", "r560", "r561", "r562", "r565", "r622" ] }, "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": { "terseLabel": "Statement of Comprehensive Income [Abstract]", "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": { "terseLabel": "Statement of Stockholders' Equity [Abstract]", "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.penumbrainc.com/role/ConsolidatedStatementsofStockholdersEquityDeficit" ], "lang": { "en-us": { "role": { "terseLabel": "Statement [Table]", "label": "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": [ "r153", "r154", "r155", "r181", "r469", "r509", "r514", "r518", "r519", "r520", "r521", "r522", "r523", "r526", "r529", "r530", "r531", "r532", "r533", "r534", "r535", "r536", "r537", "r539", "r540", "r541", "r542", "r543", "r545", "r547", "r548", "r551", "r552", "r553", "r554", "r555", "r556", "r557", "r558", "r559", "r560", "r561", "r562", "r565", "r622" ] }, "ecd_StkPrcOrTsrEstimationMethodTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "StkPrcOrTsrEstimationMethodTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Stock Price or TSR Estimation Method", "label": "Stock Price or TSR Estimation Method [Text Block]" } } }, "auth_ref": [ "r639", "r650", "r660", "r685" ] }, "us-gaap_StockAppreciationRightsSARSMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockAppreciationRightsSARSMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Stock Appreciation Rights (SARs)", "label": "Stock Appreciation Rights (SARs) [Member]", "documentation": "Right to receive cash or shares equal to appreciation of predetermined number of grantor's shares during predetermined time period." } } }, "auth_ref": [] }, "us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesShareBasedCompensation", "presentation": [ "http://www.penumbrainc.com/role/ConsolidatedStatementsofStockholdersEquityDeficit" ], "lang": { "en-us": { "role": { "terseLabel": "Issuance of common stock (in shares)", "label": "Shares Issued, Shares, Share-Based Payment Arrangement, after Forfeiture", "documentation": "Number, after forfeiture, of shares or units issued under share-based payment arrangement. Excludes shares or units issued under employee stock ownership plan (ESOP)." } } }, "auth_ref": [ "r12", "r56", "r57", "r89" ] }, "us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodValueShareBasedCompensation", "crdr": "credit", "presentation": [ "http://www.penumbrainc.com/role/ConsolidatedStatementsofStockholdersEquityDeficit" ], "lang": { "en-us": { "role": { "terseLabel": "Issuance of common stock", "label": "Shares Issued, Value, Share-Based Payment Arrangement, after Forfeiture", "documentation": "Value, after forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP)." } } }, "auth_ref": [ "r44", "r56", "r57", "r89" ] }, "us-gaap_StockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquity", "crdr": "credit", "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.penumbrainc.com/role/AccumulatedOtherComprehensiveIncomeDetails", "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets", "http://www.penumbrainc.com/role/ConsolidatedStatementsofStockholdersEquityDeficit" ], "lang": { "en-us": { "role": { "totalLabel": "Total Penumbra, Inc. stockholders\u2019 equity", "periodStartLabel": "Beginning balance", "periodEndLabel": "Ending balance", "label": "Equity, Attributable to Parent", "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest." } } }, "auth_ref": [ "r57", "r60", "r61", "r82", "r528", "r544", "r566", "r567", "r617", "r629", "r726", "r740", "r765", "r777" ] }, "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Stockholders\u2019 equity:", "label": "Equity, Including Portion Attributable to Noncontrolling Interest [Abstract]" } } }, "auth_ref": [] }, "us-gaap_StockholdersEquityNoteDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquityNoteDisclosureTextBlock", "presentation": [ "http://www.penumbrainc.com/role/StockholdersEquity" ], "lang": { "en-us": { "role": { "verboseLabel": "Stockholder's Equity", "label": "Equity [Text Block]", "documentation": "The entire disclosure for equity." } } }, "auth_ref": [ "r88", "r150", "r310", "r311", "r312", "r313", "r314", "r315", "r316", "r317", "r318", "r319", "r320", "r322", "r323", "r409", "r568", "r569", "r574" ] }, "us-gaap_SubsequentEventMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsequentEventMember", "presentation": [ "http://www.penumbrainc.com/role/CommitmentsandContingenciesRoyaltyObligationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Subsequent Event", "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": [ "r429", "r438" ] }, "us-gaap_SubsequentEventTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsequentEventTypeAxis", "presentation": [ "http://www.penumbrainc.com/role/CommitmentsandContingenciesRoyaltyObligationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Subsequent Event Type [Axis]", "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": [ "r429", "r438" ] }, "us-gaap_SubsequentEventTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsequentEventTypeDomain", "presentation": [ "http://www.penumbrainc.com/role/CommitmentsandContingenciesRoyaltyObligationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Subsequent Event Type [Domain]", "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": [ "r429", "r438" ] }, "us-gaap_SupplementalBalanceSheetDisclosuresTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SupplementalBalanceSheetDisclosuresTextBlock", "presentation": [ "http://www.penumbrainc.com/role/BalanceSheetComponents" ], "lang": { "en-us": { "role": { "terseLabel": "Balance Sheet Components", "label": "Supplemental Balance Sheet Disclosures [Text Block]", "documentation": "The entire disclosure for supplemental balance sheet disclosures, including descriptions and amounts for assets, liabilities, and equity." } } }, "auth_ref": [ "r717" ] }, "us-gaap_SupplementalCashFlowElementsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SupplementalCashFlowElementsAbstract", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "SUPPLEMENTAL CASH FLOW INFORMATION:", "label": "Supplemental Cash Flow Elements [Abstract]" } } }, "auth_ref": [] }, "ecd_TabularListTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TabularListTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Tabular List, Table", "label": "Tabular List [Table Text Block]" } } }, "auth_ref": [ "r679" ] }, "pen_ThrombectomyMember": { "xbrltype": "domainItemType", "nsuri": "http://www.penumbrainc.com/20240331", "localname": "ThrombectomyMember", "presentation": [ "http://www.penumbrainc.com/role/RevenuesDisaggregationofRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Thrombectomy", "label": "Thrombectomy [Member]", "documentation": "Thrombectomy" } } }, "auth_ref": [] }, "ecd_TotalShareholderRtnAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TotalShareholderRtnAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Total Shareholder Return Amount", "label": "Total Shareholder Return Amount" } } }, "auth_ref": [ "r671" ] }, "ecd_TotalShareholderRtnVsPeerGroupTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TotalShareholderRtnVsPeerGroupTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Total Shareholder Return Vs Peer Group", "label": "Total Shareholder Return Vs Peer Group [Text Block]" } } }, "auth_ref": [ "r678" ] }, "us-gaap_TradeSecretsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TradeSecretsMember", "presentation": [ "http://www.penumbrainc.com/role/IntangibleAssetsIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Trade secrets and processes", "label": "Trade Secrets [Member]", "documentation": "Information generally known to only a limited number of the entity's employees, such as a formula, pattern, machine, technology, and production process that may give an entity a competitive advantage." } } }, "auth_ref": [ "r49" ] }, "ecd_TradingArrAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TradingArrAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Trading Arrangement:", "label": "Trading Arrangement [Axis]" } } }, "auth_ref": [ "r698" ] }, "ecd_TradingArrByIndTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TradingArrByIndTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Trading Arrangements, by Individual", "label": "Trading Arrangements, by Individual [Table]" } } }, "auth_ref": [ "r700" ] }, "dei_TradingSymbol": { "xbrltype": "tradingSymbolItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "TradingSymbol", "presentation": [ "http://www.penumbrainc.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Trading Symbol", "label": "Trading Symbol", "documentation": "Trading symbol of an instrument as listed on an exchange." } } }, "auth_ref": [] }, "us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsFinancialAssetsandLiabilitiesMeasuredatFairValueDetails", "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsGainsandLossesofMarketableInvestmentsDetails", "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsMarketableSecuritiesinanUnrealizedLossPositionDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Financial Instruments [Domain]", "label": "Financial Instruments [Domain]", "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": [ "r212", "r213", "r214", "r215", "r216", "r217", "r218", "r219", "r220", "r221", "r222", "r223", "r224", "r225", "r226", "r227", "r228", "r229", "r230", "r231", "r232", "r233", "r234", "r235", "r236", "r237", "r238", "r239", "r240", "r241", "r308", "r321", "r408", "r439", "r440", "r441", "r442", "r443", "r444", "r445", "r446", "r447", "r448", "r449", "r450", "r451", "r452", "r453", "r454", "r455", "r456", "r457", "r458", "r459", "r460", "r461", "r462", "r463", "r464", "r465", "r466", "r467", "r468", "r493", "r710", "r711", "r712", "r713", "r714", "r715", "r716", "r736", "r737", "r738", "r739" ] }, "ecd_TrdArrAdoptionDate": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrAdoptionDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Adoption Date", "label": "Trading Arrangement Adoption Date" } } }, "auth_ref": [ "r701" ] }, "ecd_TrdArrDuration": { "xbrltype": "durationItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrDuration", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Arrangement Duration", "label": "Trading Arrangement Duration" } } }, "auth_ref": [ "r702" ] }, "ecd_TrdArrIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Name", "label": "Trading Arrangement, Individual Name" } } }, "auth_ref": [ "r700" ] }, "ecd_TrdArrIndTitle": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrIndTitle", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Title", "label": "Trading Arrangement, Individual Title" } } }, "auth_ref": [ "r700" ] }, "ecd_TrdArrSecuritiesAggAvailAmt": { "xbrltype": "sharesItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrSecuritiesAggAvailAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Aggregate Available", "label": "Trading Arrangement, Securities Aggregate Available Amount" } } }, "auth_ref": [ "r703" ] }, "ecd_TrdArrTerminationDate": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrTerminationDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Termination Date", "label": "Trading Arrangement Termination Date" } } }, "auth_ref": [ "r701" ] }, "country_US": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/country/2023", "localname": "US", "presentation": [ "http://www.penumbrainc.com/role/RevenuesDisaggregationofRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "United States", "label": "UNITED STATES" } } }, "auth_ref": [] }, "us-gaap_USStatesAndPoliticalSubdivisionsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "USStatesAndPoliticalSubdivisionsMember", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsFinancialAssetsandLiabilitiesMeasuredatFairValueDetails", "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsGainsandLossesofMarketableInvestmentsDetails", "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsMarketableSecuritiesinanUnrealizedLossPositionDetails" ], "lang": { "en-us": { "role": { "terseLabel": "U.S. states and municipalities", "label": "US States and Political Subdivisions Debt Securities [Member]", "documentation": "Bonds or similar securities issued by state, city, or local US governments or the agencies operated by state, city, or local governments. Debt securities issued by state governments may include bond issuances of US state authorities including, for example, but not limited to, housing authorities, dormitory authorities, and general obligations while debt securities issued by political subdivisions of US states would include, for example, debt issuances by county, borough, city, or municipal governments." } } }, "auth_ref": [ "r610", "r773" ] }, "us-gaap_USTreasurySecuritiesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "USTreasurySecuritiesMember", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsFinancialAssetsandLiabilitiesMeasuredatFairValueDetails", "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsGainsandLossesofMarketableInvestmentsDetails", "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsMarketableSecuritiesinanUnrealizedLossPositionDetails" ], "lang": { "en-us": { "role": { "terseLabel": "U.S. treasury", "label": "US Treasury Securities [Member]", "documentation": "This category includes information about debt securities issued by the United States Department of the Treasury and backed by the United States government. Such securities primarily consist of 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)." } } }, "auth_ref": [ "r594", "r610", "r612", "r770" ] }, "ecd_UndrlygSecurityMktPriceChngPct": { "xbrltype": "pureItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "UndrlygSecurityMktPriceChngPct", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Underlying Security Market Price Change", "label": "Underlying Security Market Price Change, Percent" } } }, "auth_ref": [ "r697" ] }, "us-gaap_UseOfEstimates": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "UseOfEstimates", "presentation": [ "http://www.penumbrainc.com/role/SummaryofSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Use of Estimates", "label": "Use of Estimates, Policy [Policy Text Block]", "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": [ "r34", "r35", "r36", "r104", "r105", "r106", "r107" ] }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "calculation": { "http://www.penumbrainc.com/role/NetIncomeperShareBasicandDilutedEarningsperShareDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations", "http://www.penumbrainc.com/role/NetIncomeperShareBasicandDilutedEarningsperShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Diluted (in shares)", "totalLabel": "Diluted (in shares)", "label": "Weighted Average Number of Shares Outstanding, 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": [ "r168", "r176" ] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "calculation": { "http://www.penumbrainc.com/role/NetIncomeperShareBasicandDilutedEarningsperShareDetails": { "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations", "http://www.penumbrainc.com/role/NetIncomeperShareBasicandDilutedEarningsperShareDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Basic (in shares)", "label": "Weighted Average Number of Shares Outstanding, 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": [ "r167", "r176" ] }, "pen_WeightedAverageNumberOfSharesOutstandingBasicAndDilutedAbstract": { "xbrltype": "stringItemType", "nsuri": "http://www.penumbrainc.com/20240331", "localname": "WeightedAverageNumberOfSharesOutstandingBasicAndDilutedAbstract", "presentation": [ "http://www.penumbrainc.com/role/NetIncomeperShareBasicandDilutedEarningsperShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted average shares used to compute net income attributable to common stockholders:", "label": "Weighted Average Number of Shares Outstanding, Basic and Diluted [Abstract]", "documentation": "Weighted Average Number of Shares Outstanding, Basic and Diluted" } } }, "auth_ref": [] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations", "http://www.penumbrainc.com/role/NetIncomeperShareBasicandDilutedEarningsperShareDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Weighted average shares outstanding:", "terseLabel": "Denominator:", "label": "Weighted Average Number of Shares Outstanding Reconciliation [Abstract]" } } }, "auth_ref": [] } } } }, "std_ref": { "r0": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "1", "SubTopic": "20", "Topic": "940", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481913/940-20-25-1" }, "r1": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "SubTopic": "230", "Topic": "830", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1" }, "r2": { "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" }, "r3": { "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" }, "r4": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10A", "Subparagraph": "(a),(b),(c)", "SubTopic": "10", "Topic": "220", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A" }, "r5": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "12", "SubTopic": "10", "Topic": "220", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-12" }, "r6": { "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" }, "r7": { "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" }, "r8": { "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" }, "r9": { "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" }, "r10": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "SubTopic": "405", "Topic": "942", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481047/942-405-50-1" }, "r11": { "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" }, "r12": { "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" }, "r13": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2A", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "718", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2A" }, "r14": { "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" }, "r15": { "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" }, "r16": { "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" }, "r17": { "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(b),22(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r18": { "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" }, "r19": { "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" }, "r20": { "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" }, "r21": { "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" }, "r22": { "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" }, "r23": { "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" }, "r24": { "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" }, "r25": { "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" }, "r26": { "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" }, "r27": { "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" }, "r28": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "25", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25" }, "r29": { "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" }, "r30": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-2" }, "r31": { "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" }, "r32": { "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" }, "r33": { "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" }, "r34": { "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" }, "r35": { "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" }, "r36": { "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" }, "r37": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-1" }, "r38": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-2" }, "r39": { "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" }, "r40": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "50", "Paragraph": "2", "Subparagraph": "((a)(1),(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r41": { "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" }, "r42": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r43": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "470", "SubTopic": "10", "Section": "45", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481573/470-10-45-10" }, "r44": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r45": { "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" }, "r46": { "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" }, "r47": { "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" }, "r48": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "20", "Section": "55", "Paragraph": "20", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-20" }, "r49": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "20", "Section": "55", "Paragraph": "38", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-38" }, "r50": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "810", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1" }, "r51": { "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" }, "r52": { "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" }, "r53": { "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" }, "r54": { "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" }, "r55": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "942", "SubTopic": "320", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480832/942-320-50-5" }, "r56": { "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" }, "r57": { "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" }, "r58": { "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" }, "r59": { "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" }, "r60": { "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" }, "r61": { "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" }, "r62": { "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" }, "r63": { "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" }, "r64": { "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" }, "r65": { "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" }, "r66": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//220/tableOfContent" }, "r67": { "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" }, "r68": { "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" }, "r69": { "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" }, "r70": { "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,2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r71": { "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" }, "r72": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r73": { "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" }, "r74": { "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(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r75": { "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" }, "r76": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.9)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r77": { "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" }, "r78": { "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" }, "r79": { "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" }, "r80": { "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" }, "r81": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "235", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//235/tableOfContent" }, "r82": { "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" }, "r83": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "330", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 5.BB)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480581/330-10-S99-2" }, "r84": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1" }, "r85": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r86": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "440", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//440/tableOfContent" }, "r87": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "470", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//470/tableOfContent" }, "r88": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//505/tableOfContent" }, "r89": { "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" }, "r90": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "610", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//610/tableOfContent" }, "r91": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "720", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//720/tableOfContent" }, "r92": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "38", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-38" }, "r93": { "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" }, "r94": { "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" }, "r95": { "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" }, "r96": { "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" }, "r97": { "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" }, "r98": { "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" }, "r99": { "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" }, "r100": { "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" }, "r101": { "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" }, "r102": { "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" }, "r103": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1" }, "r104": { "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" }, "r105": { "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" }, "r106": { "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" }, "r107": { "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" }, "r108": { "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" }, "r109": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//275/tableOfContent" }, "r110": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org//606/tableOfContent" }, "r111": { "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" }, "r112": { "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" }, "r113": { "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" }, "r114": { "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" }, "r115": { "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" }, "r116": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r117": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(16))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r118": { "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" }, "r119": { "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" }, "r120": { "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" }, "r121": { "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" }, "r122": { "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" }, "r123": { "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" }, "r124": { "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" }, "r125": { "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" }, "r126": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10A", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A" }, "r127": { "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" }, "r128": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "14A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14A" }, "r129": { "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" }, "r130": { "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" }, "r131": { "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" }, "r132": { "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" }, "r133": { "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" }, "r134": { "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" }, "r135": { "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" }, "r136": { "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" }, "r137": { "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" }, "r138": { "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" }, "r139": { "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" }, "r140": { "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" }, "r141": { "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" }, "r142": { "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" }, "r143": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "12", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12" }, "r144": { "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" }, "r145": { "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" }, "r146": { "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" }, "r147": { "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" }, "r148": { "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" }, "r149": { "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" }, "r150": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(e)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r151": { "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" }, "r152": { "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" }, "r153": { "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" }, "r154": { "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" }, "r155": { "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" }, "r156": { "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" }, "r157": { "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" }, "r158": { "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" }, "r159": { "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" }, "r160": { "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" }, "r161": { "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" }, "r162": { "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" }, "r163": { "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" }, "r164": { "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" }, "r165": { "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" }, "r166": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//260/tableOfContent" }, "r167": { "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" }, "r168": { "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" }, "r169": { "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" }, "r170": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-22" }, "r171": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "23", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-23" }, "r172": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-28A" }, "r173": { "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" }, "r174": { "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" }, "r175": { "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" }, "r176": { "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" }, "r177": { "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" }, "r178": { "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" }, "r179": { "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" }, "r180": { "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" }, "r181": { "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" }, "r182": { "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" }, "r183": { "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" }, "r184": { "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" }, "r185": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r186": { "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" }, "r187": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r188": { "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" }, "r189": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "29", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29" }, "r190": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "29", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29" }, "r191": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "29", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29" }, "r192": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "29", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29" }, "r193": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "29", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29" }, "r194": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "29", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29" }, "r195": { "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" }, "r196": { "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" }, "r197": { "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" }, "r198": { "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" }, "r199": { "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" }, "r200": { "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" }, "r201": { "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" }, "r202": { "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" }, "r203": { "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" }, "r204": { "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" }, "r205": { "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" }, "r206": { "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" }, "r207": { "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" }, "r208": { "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" }, "r209": { "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" }, "r210": { "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" }, "r211": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481830/320-10-45-2" }, "r212": { "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" }, "r213": { "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" }, "r214": { "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" }, "r215": { "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" }, "r216": { "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" }, "r217": { "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" }, "r218": { "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" }, "r219": { "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" }, "r220": { "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" }, "r221": { "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" }, "r222": { "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" }, "r223": { "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" }, "r224": { "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" }, "r225": { "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" }, "r226": { "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" }, "r227": { "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" }, "r228": { "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" }, "r229": { "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" }, "r230": { "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" }, "r231": { "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" }, "r232": { "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" }, "r233": { "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" }, "r234": { "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" }, "r235": { "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" }, "r236": { "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" }, "r237": { "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" }, "r238": { "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" }, "r239": { "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" }, "r240": { "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" }, "r241": { "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" }, "r242": { "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" }, "r243": { "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" }, "r244": { "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" }, "r245": { "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" }, "r246": { "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" }, "r247": { "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" }, "r248": { "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" }, "r249": { "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" }, "r250": { "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" }, "r251": { "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" }, "r252": { "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" }, "r253": { "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" }, "r254": { "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" }, "r255": { "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" }, "r256": { "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" }, "r257": { "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" }, "r258": { "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" }, "r259": { "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" }, "r260": { "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" }, "r261": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-9" }, "r262": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-9" }, "r263": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "330", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483080/330-10-50-2" }, "r264": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//350-20/tableOfContent" }, "r265": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482598/350-20-45-1" }, "r266": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482598/350-20-45-2" }, "r267": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r268": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r269": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r270": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-2" }, "r271": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-2" }, "r272": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//350-30/tableOfContent" }, "r273": { "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" }, "r274": { "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" }, "r275": { "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" }, "r276": { "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" }, "r277": { "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" }, "r278": { "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" }, "r279": { "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" }, "r280": { "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" }, "r281": { "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" }, "r282": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4" }, "r283": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8" }, "r284": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8" }, "r285": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8" }, "r286": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8" }, "r287": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8" }, "r288": { "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" }, "r289": { "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" }, "r290": { "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" }, "r291": { "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" }, "r292": { "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" }, "r293": { "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" }, "r294": { "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" }, "r295": { "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" }, "r296": { "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" }, "r297": { "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" }, "r298": { "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" }, "r299": { "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" }, "r300": { "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" }, "r301": { "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" }, "r302": { "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" }, "r303": { "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" }, "r304": { "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" }, "r305": { "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" }, "r306": { "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" }, "r307": { "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" }, "r308": { "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" }, "r309": { "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" }, "r310": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r311": { "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" }, "r312": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r313": { "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" }, "r314": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r315": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14" }, "r316": { "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" }, "r317": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14" }, "r318": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "16", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-16" }, "r319": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18" }, "r320": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18" }, "r321": { "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" }, "r322": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18" }, "r323": { "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" }, "r324": { "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" }, "r325": { "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" }, "r326": { "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" }, "r327": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-10" }, "r328": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12" }, "r329": { "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" }, "r330": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12" }, "r331": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12" }, "r332": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12" }, "r333": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13" }, "r334": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-15" }, "r335": { "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" }, "r336": { "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" }, "r337": { "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" }, "r338": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-9" }, "r339": { "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" }, "r340": { "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" }, "r341": { "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" }, "r342": { "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" }, "r343": { "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" }, "r344": { "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" }, "r345": { "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" }, "r346": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480454/718-10-45-1" }, "r347": { "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" }, "r348": { "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" }, "r349": { "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" }, "r350": { "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" }, "r351": { "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" }, "r352": { "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" }, "r353": { "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" }, "r354": { "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" }, "r355": { "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" }, "r356": { "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" }, "r357": { "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" }, "r358": { "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" }, "r359": { "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" }, "r360": { "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" }, "r361": { "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" }, "r362": { "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" }, "r363": { "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" }, "r364": { "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" }, "r365": { "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" }, "r366": { "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" }, "r367": { "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" }, "r368": { "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" }, "r369": { "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" }, "r370": { "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" }, "r371": { "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" }, "r372": { "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" }, "r373": { "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" }, "r374": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(1)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r375": { "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" }, "r376": { "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" }, "r377": { "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" }, "r378": { "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" }, "r379": { "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" }, "r380": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//740/tableOfContent" }, "r381": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-4" }, "r382": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-6" }, "r383": { "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" }, "r384": { "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" }, "r385": { "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" }, "r386": { "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" }, "r387": { "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" }, "r388": { "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" }, "r389": { "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" }, "r390": { "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" }, "r391": { "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" }, "r392": { "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" }, "r393": { "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" }, "r394": { "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" }, "r395": { "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" }, "r396": { "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" }, "r397": { "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" }, "r398": { "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" }, "r399": { "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" }, "r400": { "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" }, "r401": { "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" }, "r402": { "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" }, "r403": { "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" }, "r404": { "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" }, "r405": { "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" }, "r406": { "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" }, "r407": { "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" }, "r408": { "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" }, "r409": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480237/815-40-50-6" }, "r410": { "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" }, "r411": { "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" }, "r412": { "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" }, "r413": { "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" }, "r414": { "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" }, "r415": { "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" }, "r416": { "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" }, "r417": { "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" }, "r418": { "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" }, "r419": { "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" }, "r420": { "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" }, "r421": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "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" }, "r422": { "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" }, "r423": { "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" }, "r424": { "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" }, "r425": { "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" }, "r426": { "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" }, "r427": { "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" }, "r428": { "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" }, "r429": { "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" }, "r430": { "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" }, "r431": { "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" }, "r432": { "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" }, "r433": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-5" }, "r434": { "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" }, "r435": { "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" }, "r436": { "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" }, "r437": { "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" }, "r438": { "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" }, "r439": { "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" }, "r440": { "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" }, "r441": { "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" }, "r442": { "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" }, "r443": { "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" }, "r444": { "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" }, "r445": { "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" }, "r446": { "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" }, "r447": { "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" }, "r448": { "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" }, "r449": { "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" }, "r450": { "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" }, "r451": { "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" }, "r452": { "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" }, "r453": { "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" }, "r454": { "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" }, "r455": { "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" }, "r456": { "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" }, "r457": { "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" }, "r458": { "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" }, "r459": { "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" }, "r460": { "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" }, "r461": { "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" }, "r462": { "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" }, "r463": { "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" }, "r464": { "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" }, "r465": { "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" }, "r466": { "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" }, "r467": { "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" }, "r468": { "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" }, "r469": { "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" }, "r470": { "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" }, "r471": { "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" }, "r472": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(10)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r473": { "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" }, "r474": { "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" }, "r475": { "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" }, "r476": { "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" }, "r477": { "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" }, "r478": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480832/942-320-50-3A" }, "r479": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3A", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480832/942-320-50-3A" }, "r480": { "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" }, "r481": { "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" }, "r482": { "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" }, "r483": { "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" }, "r484": { "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" }, "r485": { "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" }, "r486": { "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" }, "r487": { "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" }, "r488": { "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" }, "r489": { "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" }, "r490": { "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" }, "r491": { "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" }, "r492": { "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" }, "r493": { "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" }, "r494": { "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" }, "r495": { "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" }, "r496": { "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" }, "r497": { "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" }, "r498": { "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" }, "r499": { "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" }, "r500": { "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" }, "r501": { "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" }, "r502": { "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" }, "r503": { "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" }, "r504": { "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" }, "r505": { "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" }, "r506": { "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" }, "r507": { "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" }, "r508": { "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" }, "r509": { "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" }, "r510": { "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" }, "r511": { "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" }, "r512": { "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" }, "r513": { "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" }, "r514": { "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" }, "r515": { "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" }, "r516": { "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" }, "r517": { "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" }, "r518": { "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" }, "r519": { "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" }, "r520": { "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" }, "r521": { "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" }, "r522": { "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" }, "r523": { "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" }, "r524": { "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" }, "r525": { "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" }, "r526": { "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" }, "r527": { "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" }, "r528": { "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" }, "r529": { "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" }, "r530": { "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" }, "r531": { "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" }, "r532": { "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" }, "r533": { "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" }, "r534": { "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" }, "r535": { "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" }, "r536": { "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" }, "r537": { "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" }, "r538": { "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" }, "r539": { "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" }, "r540": { "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" }, "r541": { "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" }, "r542": { "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" }, "r543": { "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" }, "r544": { "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" }, "r545": { "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" }, "r546": { "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" }, "r547": { "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" }, "r548": { "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" }, "r549": { "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" }, "r550": { "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" }, "r551": { "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" }, "r552": { "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" }, "r553": { "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" }, "r554": { "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" }, "r555": { "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" }, "r556": { "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" }, "r557": { "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" }, "r558": { "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" }, "r559": { "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" }, "r560": { "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" }, "r561": { "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" }, "r562": { "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" }, "r563": { "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" }, "r564": { "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" }, "r565": { "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" }, "r566": { "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" }, "r567": { "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" }, "r568": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481062/946-235-50-2" }, "r569": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481062/946-235-50-2" }, "r570": { "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" }, "r571": { "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" }, "r572": { "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" }, "r573": { "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" }, "r574": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-6" }, "r575": { "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" }, "r576": { "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" }, "r577": { "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" }, "r578": { "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" }, "r579": { "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" }, "r580": { "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" }, "r581": { "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" }, "r582": { "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" }, "r583": { "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" }, "r584": { "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" }, "r585": { "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" }, "r586": { "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" }, "r587": { "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" }, "r588": { "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" }, "r589": { "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" }, "r590": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r591": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r592": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(a)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r593": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4" }, "r594": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(m)(1)(ii)(A))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r595": { "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" }, "r596": { "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" }, "r597": { "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" }, "r598": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "47", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482785/280-10-55-47" }, "r599": { "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" }, "r600": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482548/350-20-55-24" }, "r601": { "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" }, "r602": { "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" }, "r603": { "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" }, "r604": { "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" }, "r605": { "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" }, "r606": { "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" }, "r607": { "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" }, "r608": { "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" }, "r609": { "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" }, "r610": { "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" }, "r611": { "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" }, "r612": { "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" }, "r613": { "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" }, "r614": { "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" }, "r615": { "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" }, "r616": { "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" }, "r617": { "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" }, "r618": { "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" }, "r619": { "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" }, "r620": { "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" }, "r621": { "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" }, "r622": { "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" }, "r623": { "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" }, "r624": { "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" }, "r625": { "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" }, "r626": { "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" }, "r627": { "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" }, "r628": { "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" }, "r629": { "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" }, "r630": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b" }, "r631": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b-2" }, "r632": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "d1-1" }, "r633": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 10-Q", "Number": "240", "Section": "308", "Subsection": "a" }, "r634": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "16", "Subsection": "J", "Paragraph": "a" }, "r635": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1" }, "r636": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i" }, "r637": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "A" }, "r638": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "B" }, "r639": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "C" }, "r640": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "D" }, "r641": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "E" }, "r642": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "ii" }, "r643": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "iii" }, "r644": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "2" }, "r645": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Subsection": "F", "Paragraph": "1", "Subparagraph": "ii", "Section": "6" }, "r646": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a" }, "r647": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1" }, "r648": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "i" }, "r649": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "ii" }, "r650": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iii" }, "r651": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iv" }, "r652": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "v" }, "r653": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "2" }, "r654": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "3" }, "r655": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "b" }, "r656": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a" }, "r657": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1" }, "r658": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "i" }, "r659": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "ii" }, "r660": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iii" }, "r661": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iv" }, "r662": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "v" }, "r663": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "2" }, "r664": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "3" }, "r665": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "b" }, "r666": { "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" }, "r667": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v" }, "r668": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "1" }, "r669": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "ii" }, "r670": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii" }, "r671": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iv" }, "r672": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "vi" }, "r673": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "3" }, "r674": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "4" }, "r675": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "i" }, "r676": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "ii" }, "r677": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "iii" }, "r678": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "iv" }, "r679": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "6" }, "r680": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "6", "Subparagraph": "i" }, "r681": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1" }, "r682": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i" }, "r683": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "A" }, "r684": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "B" }, "r685": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "C" }, "r686": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "D" }, "r687": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "E" }, "r688": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "ii" }, "r689": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "iii" }, "r690": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "2" }, "r691": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "1" }, "r692": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2" }, "r693": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "A" }, "r694": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "C" }, "r695": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "D" }, "r696": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "E" }, "r697": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "F" }, "r698": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a" }, "r699": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "1" }, "r700": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "A" }, "r701": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "B" }, "r702": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "C" }, "r703": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "D" }, "r704": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "b", "Paragraph": "1" }, "r705": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-T", "Number": "232", "Section": "405" }, "r706": { "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" }, "r707": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "12", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12" }, "r708": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "15", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15" }, "r709": { "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" }, "r710": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(a)", "Publisher": "SEC" }, "r711": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(b)", "Subparagraph": "(1)", "Publisher": "SEC" }, "r712": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(b)", "Subparagraph": "(2)", "Publisher": "SEC" }, "r713": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(b)", "Subparagraph": "(3)", "Publisher": "SEC" }, "r714": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(c)", "Subparagraph": "(2)(i)", "Publisher": "SEC" }, "r715": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(c)", "Subparagraph": "(2)(ii)", "Publisher": "SEC" }, "r716": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(c)", "Subparagraph": "(2)(iii)", "Publisher": "SEC" }, "r717": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//210/tableOfContent" }, "r718": { "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" }, "r719": { "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" }, "r720": { "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" }, "r721": { "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" }, "r722": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13" }, "r723": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14" }, "r724": { "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" }, "r725": { "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" }, "r726": { "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" }, "r727": { "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" }, "r728": { "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" }, "r729": { "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" }, "r730": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1" }, "r731": { "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" }, "r732": { "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" }, "r733": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481830/320-10-45-11" }, "r734": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r735": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r736": { "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" }, "r737": { "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" }, "r738": { "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" }, "r739": { "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" }, "r740": { "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" }, "r741": { "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" }, "r742": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r743": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r744": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r745": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r746": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r747": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r748": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r749": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r750": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r751": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r752": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1A" }, "r753": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-2" }, "r754": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//450/tableOfContent" }, "r755": { "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" }, "r756": { "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" }, "r757": { "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" }, "r758": { "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" }, "r759": { "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" }, "r760": { "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" }, "r761": { "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" }, "r762": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r763": { "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" }, "r764": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r765": { "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" }, "r766": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20" }, "r767": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-1" }, "r768": { "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" }, "r769": { "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" }, "r770": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "942", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480832/942-320-50-2" }, "r771": { "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" }, "r772": { "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" }, "r773": { "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" }, "r774": { "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" }, "r775": { "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" }, "r776": { "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" }, "r777": { "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" } } } ZIP 72 0001321732-24-000060-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001321732-24-000060-xbrl.zip M4$L#!!0 ( )F%IU@K,\FQE0,! /F+$ 0 <&5N+3(P,C0P,S,Q+FAT M;>R]:W.C2+8N_'W_"E[-/GNJ(I"*JRZN:IUPNUP]CEUE>VS7S-[OEXD4I"RZ M$:@!^3*__JR5@"Z69($$4H*R8\9E2PDDN9YU7[GRR_]]&;O2$PU"Q_=^^:O: M4OXJ4<_R;<=[_.6OY_<75U=__;_]__CR_S6;__/KW7?IJV]-Q]2+I(N DHC: MTK,3C:1H1*5_^L$?SA.1;ET2#?U@W&S&EUWXD]? >1Q%DJ9H1CHL_38XHZHQ M4 DE35NE=M.@0]KLZ3IMDH$Y&&K=@:$8MOQXIEF=GFI9[:8V5+6FH5ND22Q- M:785P]*TP=!LVQW9/M-U4Z<=JV>90VITB350C)YB&51I#Y1AQZ;LN:,(WAG> MVPO/G)=?&J,HFIQ]^O3\_-QZ&01NRP\>/VF*JG]R/-?Q*+YW(QF.W]O.[)*% MX4K[4_QE.A0N_6/3O17]$WX]("%-A]OTS6U#:K4>_:=/\ 5F+4W#>N;'C MA1'QK-F-J66OOS%\L71CRY]Z4?"Z?G#RY=(%$^HMS0/^GHX' 7$\JV7Y8QQK M*+JNSF:^LB3/.INWVNOU/K%ODZ&;!R'I&C/:14V8W]+@=+YSTGV* N*%B$@2 M <:1LF93Z387YA4ZZQX(JZE^^I\?W^^M$1V3YMMU=4+?T-3.>Y2(1Z073,/F M(R&3V05#$@[8X.2+I;4-@VAU('RX- @68/WCWWM[X!E%:ZH:N\F92X#/&]1K M_KQO]+^,*+'[7\8T(A+>MDG_G#I/OS0N?"\"GF\^O$[@]:WXKU\:$7V)/C&" M?.K_QW_\QY?(B5S:!Q0T4\I_^11_]N53?.>!;[_VO]C.DQ1&KR[]I6$[X<0E MKV>>[U%XOO-RA@-I$/_JV#;UV*_P_37(G<"QXL>_1'=T^$O#:@(1/3+&.U'G M[-*#Q[U>P.0"XEYY-GWY;_K:D!Q@@&%3,QM]!4BJ TET[$@J ;\Y MH47<_Z4D^ :?A+/'M!M]?/VB'G +PWU[^1&=1O_OZNX/.(>[V^P)+GEL2#$X M?FD FLZ&S@L(X2%Q43 E3^LV^M_.O]]?[O[ BVD0+*W8I6=_!>TQ>T2OT6\" M))OZZEM]6@9" /H![F71< U\48*1VGH);8 Q>]S\&S:=H+0W6V MZ,O?I'^G#_FT]-[KET'C8!EB$1TE;V8T-7UVH^2;;&\V]9SXM<(1 >K/WFQ, M23@-:#]96/9E>HOTN_1OO,?ZE=*Y6ZE%#.RX4E-@G[?+E.B_LY_W7_.ODL'7 M*NFI>-IEE9;?S.3@S98$AIY=8.C["(Q%L(!:NT?^F:T%& 7P#HM#F0H@D1_L MB*N5Z_'#K]3SQXZW[K99N7KI%I^69[\5UNVRB9^\!7U$!1__:P"-L![YE'E\C,3[/[B,@)%YS"38?&%'^> (VF1>%YR\.2,!T&'P^]KW[ MR+?^B._UY=/:1\R68C:3H_%;I^)+?F[;#MKN8 L2Q[[R+LC$B8A;E>7O5GWY M+3#'IRX&.VZB$0UP7$!'>+N6!HTNK0HI>Q4EQ!XXI^+7V)0D\QWL,J[+N MJE+QA2]5ZG/@O*BE.W%UT1$\$*MT5[..&H4'PI7N^59>__! I=(][RHKJZ(" M)V_6O/280%WT3TGK7W6W_-A.2I&TJ+J_?E OI^;'%OQ%TJ+J3OA!!7^1"\]9[K;(5ZNZRWFXR-NALH!O"%1U;_,X MD;[Z'*PXHS.G5JN[T'J>^W:RT "?88',"F^&7^G$#]/[ M56#=N77(MZ[[S_N'@+']ZSVUI@&81;0Z<.?6M*?JD(!;)SF#(@@F?@!$^$H'407!SZWCNW'ET>2X]KT?)/@#C,Z!"Z;^ M$PVC<:54++>^[[O+/E]SD#B5IP&W_F_UK,\"*[8-;EUA#JW/(M>=VQPP?]9G MD71_XJ-9GD22HL+][!.NSR)7GU^,E3O /XD[IKZ^S7_\&=R2!-7K]3I^H MNTR(V: K;S*-0C9"W4*&S)-9K]!+-PEV6:P?#7Z#!@4@5Q/(K2]R^8VU%(!<72"WOLCE-U9U,&+PCE]^P,)O MA*URIN4.80T.68*R<[2B@62@T36Z#KSRAX?C6Z2E"D]OX-$_0/!DT M\!LVKYIY]\/WZ&NZ!2GXS"56S[ 0JBT,EMUD63H @[+ECH)+; M# HGJ#P9(-0Z(7%04VZ'0AB!S'>0686$0S7,.8',8I');7:#(S (L^X8R.0V MN<$1,D\%#&UNTPEO MP@LN3P8*W"8R^#*J2FB!(&#Y#BRYS6)4RZ(3L"P4EAU^\RF<($'8<\> );_Y M$DY@>3)(X#<%43%S;J_62@*B[T"4WW1#Q4P[ =&R(%K=/,<14"%,OF- E-^4 M!X<0/1E45#CAL%,GQ8J:GR>(3'Y3#I6R^@[')B>#3'XS(/R 0=AXQT FOTD0 M?I!Y*F#H\IMZX,JT*N'4$@'+=V#);^JA$G:=@&4YL.0W#\()$H1%=PQ8\IO[ MX 26)X,$?E,,7)ES)X@,?B/[7%E4)X@,?J/[PJXX+C*J$%T_&6+P&U#F2;6+ M+G\'/>JMRV\PF2>S0J#RH*CL<1O5Y@0(PIPZ!BJY#6IS@LJ3 0*_862>3#G1 MIX4SV/(;9N;)UA.PY0RV_,;$*X(482T> [;\!NPK MN300J_ 7Q>^JYP8,R> M("ZKD#ZH@KTHFA,5BTM^,RF\0$%8?,? );^Y%%YP>2I04!5N,QA\656B$EP@D4A$EW%%SRFS/A!)>G P5^\Q 5,^E$HY?2,,IO MTJ%BYIW :&D8K6ZZ0[11.Q6,\IOZX!"CIP.+"F<>^&\*)'*U^T"3W^1#I2P_ MT:*H<&BJ_.9"^$&#L/.. DU^TR'\0/-TT,!O$D*85T>&!K]Y *[,JU.$1JWS M L*\V <:50C'GPXU2@\\9W@WF'\0?06S+7X[187_S=9H]MULFO9\Z-)"I-_L MMA \1S>=B'YWGJA]Y0&E'YV!2\_#D$8A )7\[@<7+@G?[&S^BG+*GU#[@5HC MSW?]Q]<[YW&T=4_*#LA@Y!<4Z^"7$S# MR!_3X(ZZ),*,P0GQD- ;'I/K8#651%I_(9+ M^"-864S#;UR">J,FXI5Q8;U2O M<$!3[EC<4Z^8PL%,N4*9AMLPPI5G@2QB985XY7??8C+I;3XZC&Z&]\3=FH.N MJ+NC>?6Z/0?:%40"#G^CE MRP1N6UO>XC:44"':'8OON U!7 34=J)OQ')[HD^\^ =&6!Y5J+2A- MQ6AJ1B'6@LYMZ. F&M$ 6\@Y\7%0\P.C[OQ7X@(A'@/*F.D'%B)HBF*6N>IJ MMT ;3>TPP#$I=B0'Q> V,/!&]B6'JAY M])5D!1CW,W9$81RYJ. MIRZ,M:]I]-,+*'&=?V/R)3W?^3?B>-_]L#J)%8-;IST_31X"XH5Q2OC<_GT: M4Z0ZE.#6-Z\6=VA%TH1?S[T"W%$H);CUT2O '5S86=PZ\]RR$@]D,[GUZ*O& M=T=R\$UN'?QJ\-VQR,9MM* "?%>2_VIR&RK@EI7*HH2()!3DOQ9($Q%).!8E MIIX3D\&;XEQF=!C'+0GZR3W@U_0&Z3?IWWB'373E+BX1!M&SW[>U\X8YRX<<7Q2',L^XRX>L844F-5A13;7OO?SOJ;.*G!D^.M9#Z?!@%/EQA1?ZXA(I7'MBDS5U( M@!N*'(M'N//VWZ?(Y7C@@[\2&\B>#98SK6O>I_P5^,(HYNF[JM&/U+'-(C2ZQ!HK14RR#*NV!,NS8]%\H M_.;7A-&K"Y0;.UYS1'$__IEJMCKF)/K\[-C1Z$Q5E/_36!Y*@D<8/? CD$=G M;1B9?!+Y$_8GSKCI>$CA,[4[B>#R<$*\_I=!\ D>'?\>SV!E'NQ:XCJ/WID% MU],@S]UVN4]Z@>6[?G#V%X7]]WD(Z]XD\!,>[ JV6/)4]KCXZX3XO5ZK M:^I(_PB %MGI@Q-HM."%/JU^WNNV>LKZKY26RC[_Q.X7I%\F*Z3'KVA+\"*X M2+\T],:;=TUF#R,EVY_B6J0DFQ#;=KS',T52X3;I,SZQ=U\'^!44'P$RQAO( M=-9"YN?UU7%S_OKAZN+N^E\^NOTN7_7/SM_/JW M2^GBYL>/J_O[JYMKOM]2R_26_R3A" 9^9XL?6U=M"1-,8U>=O8_.+=K>DOO MJ3QQ.VH46&PI!(UN[\KIW++!MYN['](7T.2>[UU/QW 32TH4_AT=,N.K(7D$ M#2N;.F=??8MU>L>*R ;3]4,8T%>5YM^9/3"_2PZU*$"6SGYOG"TOAEX\K+J9 M#(P//TCPAW3CT8\I"JI@,QA@<[;?I6]FJ.@MQ3"R0&43+E*Z:Y,7I/RBAG'I M<'4)_$EV2I\'#G&EGYYC^3:5?MQODB!J)EKG%QY_GX)K0@/W]8Y._"!J2*R4 M.@*_ =X1?+:S@>^[ ^*Z?C3P7U(Q ][Y?_VEUS':GS=*FL@^QG)FE,=O5W.] M//[[S_.[A\N[[_\KW5W>WMP]2+<_[^Y_GE\_2 \W$M@L#V"82*HNW=Q)JOG! M_BC=?),>_G8I+9@S,U/F_.(!OU9[NK&T1#E%R#&LF[=^S ;EY0=2-*+2GRF@ MI-AUE<"CI?8.:NV677X9^\-+N#RSX9/F&&XQPLN:-GEMOE(2-*F7 E1O]-FV M6$E790D#(&]QNMGMJM":W]RE;W$,S_6__J*VE<]"J0BELF*18K6 @P&W7%K% M2+2*46NM\G!W?GU_Q70'/VIE(6+'M<1+M4PT0UBJ9H:!/RY%&O8R,H=T^SL8T_MLI*G'I0H)/+%A6G[-FJQ'L5YT7I''UD' M-2^ZAF]2Q+8;_5N*-8 !D:4KSWJ+VA;?;D"V $\Y6F?V;';#,R>"-[>RA)LN M7X@5,?I(_E *9G212"B%$VIADM>6'$]RHE"R1LQ;_%@T&4Y=7!05PSSZTN[H MZ'5;IJ[G\O0V?:ZUS&Z^*S9.JMTRNN^[G[O[C DKE._EE".^L1M-?$(MV"VL M/O BKI2] ]VU7T,<<0D\)_P/O.H3Z?1_TI=\DRPKGMG#W+&&J=&A ?RN^N[Y%PSB6"$=*GS T2N!W^EB7*OT^#9S0=BSF M>_I#5G7B+**7#0T>B9?4''T\(O2.NG!7K;O6?4NZ'$]<_Y4&;*66\25=^ZV/ M.>(6114#\6C;%E5)[6+IUB;593)[X8W::N*2OWKX7'_F$>KOBOOW0UM?,YE"+JT@FN MA11O6ER$+QBT9 M^A:/,5[$/M^"[QZ.XG= 8P-BQ;9<> M0\7$<[.IE7A&9U/ ?H"C&OT')W)9@) 2:R19>"K3?DG>2KU\0)A8OW_%O2FG M\][725"8T9R^6"/B/<('GO0\K=A_YUA^R=$L"Z8FX4RK]I])2%!4SXE(XVB\(5K/53#@N9KC94F)ZZ/): MK-);S%TFK!FGTMX&7Y%QE^.N:@=D&M@(.-__]8,_8F1*Z6VVQPKS[LI)C"C- M8#O3CK.L5YZ-82PJ#5XE:T3A?<=8:/T\HBQ.B#;3//EU)GU0/\8E!R,22D/' M!9N+N"X,P0(I-,7^G#IHB(']-:#) +AS8HO%EZHZ!A?CHJ#$+%NPYM+E1E,- MO\:B(,F&;T'3X-!)0"W*](ZJ2:QZ,I0^P/V OE(X!?D;CGQ,QJ45-=&(1&]> M0WHFRU/%><87)R_R49:(9TL?M(6W'0!48-#@=W@7O(B-ARMQ*LG-V!$G;"9L MIB2,I)XBV>0U;&TLW<@9'+F8!@$\):Y(0UD0D6@:SB#<;?3_EX9OH7J6/I$5 M.V^:RK5_MOQA4L26;\]2Y4 M(7&!KF,GB@ .X+]:4>![*/;<5XF""'R5KE : M$HO%9;Z2B,0U*6_0/K_'HAMR-X61AF(BEL%?GL;MAZ3[YH/T 1>Z\UG3M58R M(!HY+)L\P6QRV:B/YSO#,0T_%H;2A?7"Y4I .T-I[WV4"JQNQ"K @T@NO V5 MB&4!5@/L:\7(%Z#,6ONI!(O<7/D"/@_'@''X+4BE"5!V#$OPB@(:;@8"#=?M M47H,_.=HE'[; GE-V,D-\V-?JY_385L';)Q>.@YE M=#)VPU33D8['&#%10-J@J:6J9U'?M+(#Z.!!)U5!LUC)&T#0]*U1I\RW:G6- M3C'Q Z75-7O%3,IH*48QU?#X?MT#%L,?,ZVY2QEE< &L^N@'KVN,:3:(,;&5 M#)K;U9K2Z']?+Q)X=%HR;CO(5E$\VU]V@.0Y;Q@[GU,[EKL)R8LG<=ZW+)[$ MQN>"@CV\$?%ZG>EP$C0\%3:]CZVLF$5GIE;\9V)%U8[>>=4?6Z-?IR'<* RS M[BY6LVT$JX^LN%QO@Y\\>M)U^8TMRT6\*EE1I!6QG3"CM,H[+&_4,UM'K4,[ MX,-W7%TL7UCKGSO#=6$D%CP"+>GY+/8S#6,W&=XSWC^^9L,?>-KX+/<5'_[L MP*-!W6+5,/Z-W:)M$MBAA&7"CKTIQ:U_(!_7.K0'VLN73:M6%2#Y(S3AB+KN M+)CR 9#!(B7QCI$M@8CX*R#>YG#<_]+P;)_PW#U.+Z<CK M7;G3-N2>.MO\F$ZT'Z=;V;M:<6XVC'.SDXVY65GRY[-I5:FRIA+M_#9'J;?4 M;[YI>CGQ8ZUS%E#,/SS1C6TPDZDK\TO((/3=:;3YDN([9^;M_=F9]?XM=QIJ6HQ&U6[6DO7 MB[E5IZ69A62&BO'#EZT,=6/1]S'W=F9DN5N"A57;HF&]_?HCY2MP+UUMYZTW M+5-MYYQ+=K6-V\YNS^\>I*N6].WJ^OSZXNK\NW1UC>KB_('U0GZKP[-$0P?$ M^N,Q\&%&S60Q+(M26(S"@2&LMT)@H#?Z5Q$=2VIK \$%G>M"9[#.P=X)J8UV M.M-(+&/XS?&(9V'X?79B4BA]^.F1J>W ]Q\YQ<7B'0)Z-,^96X(%.H=#^B=%TX()<$*0L%0H*4(T': M!4J0-]HCMP015@G7$J2W48(LV"+^4+J9T/@Q^\H288UP,)=\ -&%-2)DR7:H M8"%.)EF">?6 CO!8OR>*[3K],94^X)GO^[HZPE#A8"[Y$&-4VU"9E=D)^5*Z M?#$SRA=6"3+R77A$F+3=D2[_G#K1J[!=3DJ\ &!,8;L(V9(!*MVLM@L)1](W MUW\6,973DB4 D':U314A2PXC2W05-X5%,*?(EW*D?(1Q/G#3OU%;N'XX#>"K@3^-)#S8G4;2G1/^P2DTA 8H1P,@5K2N\!). M0S!T$@U@""^A]H3&C7H!T)))_]O MZ@- E]8^"-*^<4#IS!$^3-D_<42XUY8 M]B>F WK"LC\9T=#1BJI$$(3FGM!?Z9"P0K.?$SQSC7J.'RS(?DX!(.1\.7(> M$2%L_5-A?[.H>@-!:.X)_0.N 1M_2,&TGQ>8<4IW(=Y+$N^F,.-/A^O332>F M,.-K3^@;=M#*E1MK]!:FXZP.7MXF7D-+U1Y46Y M>KC\(:DM/"/LZ^7U_>57_.W^YOO5U_,'^&.^5/%(T\J=P#SN< MO<]A3\(#.Z"EQ+9 GJ/PVNU61V_G.L!N\^>F_OY9MUDGI1HMSSR$_2&"-)%V-3[1>.HSO=!;A*[7H>$"#=!WT[8<2 MEA6/.H:4/ _#1=55A,^:\_I$"*/ZV'R@Y;'V=^>;W$%3S>6B9?VILA?3( . ME@A#S=E.L.$U/E=*?"^_J)#8OQJH-:Z!@.VBL7[>PE_HGU/GB;BQHJ4]W"#8RS=?[Y=HERON)*7X.K=OC@O9Y[O?0N(Q3H^3CTGNL-0S32T&X % M#V?//K": B;6LZ8N.$O#?S+(V.*(YN/A$S.$&'GGHW_7,[A=1Y=D"!XA>7X M!W&GM"'%A0'@4K]$9^!S-FV?Q8SPM@ X6!;*H(=>]["I*XV^INFRJH*ULSS5 M-P=F[T*;E'DSTZ@8=28XI*X<8AR!0]1&7VUW9*/;YH1#"K*IJJ%6XXZ(+$3A M>$\TC,8[Z]0L9HZ6;QG72H]JL]@6)73^1!P7R?'-#W CX7P#R5(NMM95]>>P?S96@C@:T"Q'?)V-)!D&NJW%%43L!5@6J]4J%S;EGP M=E$H!=2BH*V!\K+DT0A3D\1U_6>62@ B2U9 ;2>27!^\;+9U^3^+%&GIHP!V M7_WI(!I.W71J=[.9Y44;5O7(BK8JR)B3F&O^V]BFE/GC!@)9;??6S)_U*5Z( MD[(W6HD:RD#6<$(MK(]P7TNH!,DJ6[-:_=66K=M O@*(:QKM*$C;($A[JMSK MKH*CLCZC0%)F<5,@DK IJ@(JN=WE!$DGY5M=@4/E17[ =G\+A^HX@CDEPBMP M45[VP:T@O2ZX2WN')H2[Q"%RM@CB?9"#75ZZ79DE=[E SDGEBFX#.B&.+=&7 M"=90Q7V7?+:QSUK*)Y:6A196SA:QG)#H,J;0N6>S?9=Q;W5 M*-,B\)156)> )Q7PU)8-C1<\;1'A:04A3)1NAM_Q1Q7I FAFO >"6TWTX$?$ M+4+I%&31;:PNJKOXV!:^V4=08%)%-PLT]K)1J0(.Q,G";5N,9Q^XZ0 WU90- M1>,>;C4J9MWD:?@3F,LK\S"P*&V"^7.691&^Q?%\BY@HMR[Q(C %+U.ZY'?D M#:/1[YARQ^#%"!1 .JA341R03 "2)K=[>R?'^8K$\RN:D\.^O4?)I22D$EN/ MIC]L3N&/XUOB->>L+2)Z1ISO2)L[?,C-\"-3>POZF^.Q,J1BA;0P?PH0T@EIBN KUE1/UG1A1M<1 M1ULD=($XZK$RX;DZF,I5&O]V5#8V7NFT!J(-6N10/*+71[X"4%D;TH?"0 M$DK8RL>2R[NRBH:[']NRJNR=.Q26,8>HV2)\=T6-'J-&Z^R]CT_4II10F\*O MHOA*AS3 0RHC\B*JTH^G+E(Z7'F6/Z8/Y&5F?.45!4:CWS7D=EL8[W6$T1;] M41R,3("1*:OFWAN%A,F>,3W)RM%AH9NB))T/F;Q0,7SM>]9.Q5DF'O&NR]TZ MM?L1",J$OPUDXU^'EYJ\=XRVS+NE()WJJ1'[6^G?1W MAPP>U+N=;L:>8;:;)@UBC@)CJ@K1V3L?;8?1ZB-OM:157-O YW#"%H5M&4PI?:B M[232S$?4,$B,!1]I1Y;",B6E+9O&WBTI19J90QAM%\O%P CKEE1%-O<7S7RE MF:LAFE.WUG^S,W9?42URAX7OB$U9[75'1C.0T61S37OLRCH% DJ[[8C=%THF M@Y+&38'R25G3J<@>+NV2%;8U!P)[<5?COCS6!H]5UO8O^1#&-8X69A<=O^FCP%RI M@GY_S&'QB:G*:F'=Z([6^?'X6[W$AC"&[^N%#0A%QX6$>5A>7&CG^O*.@J=+ M&;*I=SBQ$@6'QOKR-K&B^9H1I5/&X7V<7&A43TM:RXT.[\I8%+ MK\M*CY<3W 26CAT;VAU+.L-2NVY;R_@5U:N;?(5-S8&(9F19<,=WYRBCT3?E M;H>71E<"18?>[5L(BDQ$D:[4K/="E<+VG%C.^VU3K#:W98_8YV4O[,G0:)(@Q@XM2S M<-OHAVL_HE+W(S];_/(*SI?0.?,<]Y=&%$SI6Q@OO/RY9U\LOOH,K]T8!I5Z M;Z. ]^[-WKOV8<-U&Z,IVQB]V][6@O8>%L>9S2Y!9)<>1Z#Q1R?7#4!+V>ZXU_;"7 MT@EA_O#;FIW2*:%8>NABD4QQE^[O0*MK&MT,'\A+7G%B-/J&W-571#![$41XM&\H)04 MEPDE%N3&5SIT+"=OC4(7#]DV3+G;%NY0'?&TQ1TJ'D]XTK8.QLS^)XX(ORB' MQCG^! _OWE6D!BG_MN)#X&](ETI7>'F92_Q/??LO25<3RGP')S"R&"L9EM\RG"GN?PK^T\];_ CW328Q(\.M["W#XGGR0'MBP^R*) ER#^Q/%L M^.M,[;+*VG@]!@$^+EF;]Q_47GY0;]V#RL,FN^,9YMP=*TMU*Z42L3 K2KQ7 M;&'B^1$\+_*E:$0!NV1J.Y@]!=S"HH3Q;XR(+*D:[Z-WF!<.'["BX8W+E#S8 MT.*PPL0/6:G 64!=$CE/]/.S8T!?&1@L7)@NKS"\A YC#--I\R;LD:>>A M_:'EA[:\?HL_\?V0E1U=-W7:L7J6.:1&EU@#Q>@IED&5]D 9=FSZ+Q6\E.2B M49"^P80\TN8@H.2/)AG"&Y\1]YF\ALA(BRL'B_2&4OLMS@ > !*48#' 73(=S,11H%J!3^LIVX'?!S4.1)_E#"\OR8ZP5(V2.=>'9+04,. B)+5Y[5RKA8'+_/Q4PD7RR*Y/N9($9\)'UK8$#U7_C# M3!U]K,'+.!ZH6'\*][!#6:(O%D7S:$0"RF(60+?TKS$[VR7K.V?1=?#.S&B: M*UAFI,&[NV02TK/TE\]I>L'QV!NPBSXO/P\5Q-OX#SXO_CK1';U>JVOJJ#Z2 M2%3RX$2SM&!%/JU^WFZWVMW>VJ^4EIKS!O#OZ!';QP0_G%.'0 MTXMVJMMJI1@2\_:,Z&&GOTY7;A=V;F%- L['QJJK!>V"^L( MO%5!.Z)Z?6+""*--P1[&Q.GN>"E0AR(A;H8)M^=E=J/1[W5D4Q5=&>N(G"T: M8B_DF( <1=8UOI%30450Y6U-OP6XNW82^$,G$LTAN507C$2WC$)Y61[W-755 M6=V_@TI%O"X!N4+TS!Z0Z\3'."D=K;J0JZ .VLT9.2I>9Z>U2/1E@CGR<+=> M?04U:\R$LV(Z01YGQ]+E\L=PI+LZY]>?4":A]Y8$&M&@8HM>55PUV,28GM_=WML2& M<@YQMC60>S"*G?4N@>0A++T2#VPL%RF@(@]=CPGC )6 MQ"W::1U-!]U3%^[_^%M,&Y 0YTN4281$3C&@*K@=S#!D0]W;[1)Q80Y!M47A ME 0JW(J$Y_-U>#F\IZ+:Y?@3K/:H$SRSR5\)CAS5;SS98^^W:/-9#"L1L7EK M-U0%>S&W>[*RIN\E;\?>"\QQH>SWQQPV;C9 K[=+/S/L5#5^]:N%XGZKTC#P MQZDR6MR?QE.SKKK+@ZPZ:-XB-[=$,-#2E\'B+[M94M7\RI,%758EM ?HS$:_ M*RN%G0PKE%!)6U^.J80B&M P8B',^&P A^%-ECQZU'JEFG/_%I63TN7./\%JCQ++ MRYD!!0]+$AI$B\D*%1\VE>9/Z--\"?QP?KCR%Y9CWZ?F5$3(>]X!D MO'R) @++Z7@D>+V*Z#B\]CU\:."SU%RJ[G+;2-A%NY!"(N&9UP2\6PTK?L#; M0P^_;195DR \_-IY^+>!_^2$"'F UOZ*4;AFA:D_D Q)@NE7ZM'\.T%4%8_U M!LW%M^LF,%2B%EJ#H568J+@OE6N,<*\'CC_!:H\2R\N7%5,U]_Z:1HGM4K0[ MO[-)G,D1XFY/8/8V0KG?OSZJ=XOY!F#&HY9L<-6D[LT:*U0U\WM+@'B77NQD&[6W\\Y($'KQ\F%[-0#8+ M=2KS4*?1Z"LMK:B-[1S4?PCDUQWY9C'(-QGRBVJ!>Z)A_'HU9?OJX%G8]A$+ M!-Z)@M918.5?@/J)LWR*/('H.H'6+D:5YZ8)_U4!@JM.CJOR&0GO<%6G&#/A MB%Q502.B:ELD_LG^H+9$8$KDD<;!IE#RIU$8$8^]1&F;)0Z59^5[=A5$>95- MY=VC5@7M+:S3WHU86KQK&"IO55@JE3MJ1];UO3<'O8-SCC>OUA]@YA$!UF, 4[MM63?X[H==0<52Y73( M/C&88KN:QL!89Y+LZ5I67G#LI)D2PJ[(C[RB0\,]JSU9[X)N,@L^-*\(DE=@ MWZL >!F:L3" JPS@2L<$D!?<7Q$;OCF1/! MTZPL!]E0*A'+\L,1SW*("V\"'^ A3.'&94H>;&CQ^0 3/W20)?A]K@ M;:P!GQ=_G2B*7K>E]U34%4G4(WEPHD9:\+:?5C_O:"W#5-=^I;3R?FX:6JXK M-DU*55MZE\M)&=MNQ:_!OCD6EC%9].ZPWLJP-2YN8O(=Q,?M9F+_!U#_5/H! MXT:A= F2W99^L,.-=57.$$WCEAP+\9 <^^CYII6F8,NU[1'.(LX[K].BZ:4! MF<-X_1%B]+U6NW>(;DI[U&_OT5/V<"5=F=M:K% 5P/Y>%Z25B_SX-(Q95 M702RZ*">Y8"W0LG-,14O4B(^H TC1]][MD/B.-B6J<)LJT9 M$DP*45!X3N30_15;#2NWCQ$1V21.?LY(^S??Q17Z#0B,,N;&NY\1\3QP0OCJ M*_SI/=["V_CV>P*E#3JK7=3!5V*' %\XVU%ME8&S3J/?;>]]!(G8*%#UQ,.# M'Q$W.690?!W? =G:G\%A&N=WM[.].<7% @D#D<1VQG7'8 M0QQJ[:*\+A$ KV< ?+G0\JA'%:W?)7*RJ?_) MNFH6VX9E+U+RW?9(L+!@X?WMH2)9&,\0E;M:/5F8>POI^!.L]BBQO!SOPQ6; M; O<9'NP3<]B-V\6;6ZLVSV9>S>O6AT\NV M#ZO:6XL[+L]4VMV[B%7/"WJY%JOS[BMN.)%8>^=$XEINAN]DM(?&8]^++9X,2;1M M*Q7XSV\3[)5:CG.8*[H8Q)5NB6.#>2]=D F&'PI8G"+YJ/(+;5G3\=1EQG>\ MHVDYK8N%! */_3L:$?C0EM*#&"3.<"@P_;;D+H/SB*0[DIJJ5K^+;.L>-Q(5 M;4+RBF#F(!AG,5P;*N_8G1DM5=PAW]NV:R$ MH*I@V5JS;*ZM9MV,6\T*8%X3E*.LFFK]-Y8)/CL%/LO#9KW252-V%- -N6L* MQ&4!5/](79< MP+1ZF#&M?A*=5TH)E:K*^[%2) 2AMJ+#53B$"K[^2L)J8VY9^J%K+HX=S2U MV^AWVK+96^V?P%/3%0&Q&<185E;[+*C#)75R;:S>LK-Z _O_@[A3NHG[5W5M MK]'7]+V-; [Q4Z2%7$LL"DDAJ%,Q/A0\?;C&'86H%T/A2;V([=MB5$U'"6B+ M434=5:M*Q0V='5C(1AI1U\8 #?8KE9Z=:#2*.^=F*O\]A;;\^V:,=PNSL8MP MQ\PW/W@@+_^<$P8^*";.9J@8\N[HJ^(/7;IZ9H,ZQF7^'$-O\.(WP MCK+]7 ]^9@FPZ@QIC;ZA%5 PPA.(#N625Q:00EP(ZE2,#P5/E]K^OE0=HW.B M8TZ@)H)%2)L#$G?:FY-%U$2<9*)#4$=0A^=T3W8]].#/6X5@W./*2_J$,#4T M>*N&[NB?4R=T(GI/@R?'HG&BZ(Y:_J/'[L)R1GFK W<'6/*AEE4KVB>T"@2 MF4+N".HO0:HEI?/5#6D9 MFYDQ#;;FD%X\9F#7@WH-;, DM[NK?1\J7:U:2U0)^2%J& ]=PWA(4=3A1A2= M0%$C4$ER&,VRG,8B:B+J5Q,AJ".H(ZAS_'HB06F>*5U+ZN0R"?7W2[3 D)C; M?KEMOB[8?*JL**L;HJL/G2JZ.:,,T;5*[6P] .P'":Q1>OJ7P<'I M7_/SYR7;G^+AY^ERG/;Q8*I1[OE@IL+.!^N8;=E0"^XN70!-^3[BH2S0\A8$ MV;4-?!'K4TUF7J=-=V@4OZ(V3;7X,\A.E$T%CQ:S./5A4+/LDQQ,C9UPUM9D MHZ,<@HFYY^ B'3>AM(72+C[3MW)R:&E'J)G8JT3NKFD/O.L1:B>JV04OGPPO MYV+ETD\P-;%'@V'*W?9!M'L5&)G7**]P'83K4)QHV9+[*4"RX(9Z65-TV=17 MNYE5SG,06X3$J)J.$M 6HVHZ2D!;C*KI* %M,:JFHP2TQ:B:CA+0%J-J.DI M6XRJZ2@!;3&JIJ,$M,6HFHX2T!:C:CI*0%N,JNDH 6TQJJ:C!+3%J)J.$M 6 MHVHZ2D!;C*KI* %M,:JFHP2TQ:B:CA+0%J-J.DI 6XRJZ2@!;3&JIJ,$M,6H MFHYBT/X4D8%+X5_;>>I_83_PNO0:ZS"[NR7X;[9A>GDF_2^# ">;Y\MT]F,2 M/#I>NJ>Z#5-)/L%]U.WE-@ 6]2(:-&#Q<$'2.R3[KF$97#()Z5GZR^=T,1V/ MO0V[Z//R\\S)RIYK]KSXZ\_/CAV-SGJ=EFGT<(-[(F22!\??JBU8G4^KG^M* M2S7;:[^";W)^;BIZKBLV3_:]5[VA$X$-;NB2!![,.LQPO5:4&6W4BUH,/ M]UC[O;9SF=(,LKG\RRG8_]J1<5 M)T\*%3O'>&;.$%O-SOKX2BTZ'H B3H[[T#@X[N-43_/HEGR:1YN=YJ$J';G7 M63T@=*\^@=RV&"T7&+?K617<,JU@M%-@ MM%Q\MN5@U/W9JZTT^H8N]Y2"3V3DELEXC6(+YA?,_X;YM=*97P6[N->5NV8E MO,_BG];1X^MCI9K^?JP4"8"$ MH?;7:0 K<0N3\NTXA,I^_DI":F/RF7HAP2?FC::V\;A&W9![>IN30\H%QK9@ MC.5EM<^".EQ2)Y>>S7)<\BK__X.X4[H/^R_H8;W1UV1-V?NX90[A5:0!74NH M"D$BJ%,Q/A0\7:#ZR7(6>+G:Q^!+^XAM:6)434?5JAQLO>B+W6)I1%T;Y9 4 MD1?IV8E&&*C"ZN-CEH153Y%LSLKM%LI@%^&VA&]^\$!>_CDG#'RP29VLABO, M1K^KZOMGY'C*!]02/[N9KX(ZQ^;N'<(4Y_;OTS :4R\*[RC;%?/@YV7Q!:.P M#4;AFJ1@I5G\4'Y+90$IQ(6@3L7X4/!TD4IF2S"B8!W3X43'G$!BF861F@.D M"B:69V01B>63C 8+Z@CJNX0>A?K-^1.5^4DALYKYJB6R!9R1U"G8GPH M>/IP&5SNE%6/,V4E$KYB5$U'G4#"-VZ]92VUWG(\^)N*5.])1G<%=01U!'6. MGQFI):5S19&V&.9,@L;1U[3Z&;X0%[R&M<=!8QK66NO%L=4'YRU M!)00'2*I>M3P0"E22.5+"IU @A5(M8_;(\*S50_/"NH(Z@CJ'#^U(2C-,Z5K M29U<3FG[?7,0[(BY_9?;[M.P69K9UCC)[/ J(X2\.9Q_LQ^@=;X 7:M\SM9^ M[C](8(W29NXZ!\W\=@W=XU0Y-5I> > MN@70E.]^G66!EK<(R*X]_8I8GVHR\SKSL%- 0_F.67Q#><&F@DT%F\[8=(=S M'W):ONU&O]?IREUM[Y: =6'D(MTW(12$4"A^B_[*21:EM<7O=!K]MMQMK];P M[MH6O[IR0?"RX.6B%;R^/2?#H>.D.H/8D^IQ\@EM^VLL;URSJ130H>B^6JJ2;L=@=S_#X M),?*<@0JI1*Q\* 2XKTZWJ/D^1$\+_*E:$2EJ4>FMA.QXU$]FWKQ0:D>V\&$ M!]U*0\X>Y)Q'.EOY+I=Z=3_,@@^]=?A M<>/-]>6;ZX>5?.\V\+NEWG0\"(@L77E6*^-B*!?_2GPWNY9!+2 ML_27SZF!XWAL=NRBS\O/0^'_9MLQ>U[\]5POM)18-R26?_+DY.L6?/5I]?.. MWE+U]5\I+37GYX:1[XI-DU+5EJ9T^)N4TGW_5EO\+B[;K&[JZ+UN _X[[[2V M4T8ORZLG=A]'/68?P :@T@\8-PJE2Q#O]KS7[-*2"'IO&I:GTP+?8- 4S^G9W\T.ZN;V\.W^XNOY- M.K]XN/K'U"@B^=%JK*B\'+"@6 "P02['?2Q!Q.H)WG*Q]'TW[G]^S2, MXMA9Y$L!!3I;CDLE;Z88\7/\R\*XVB3PGQQTT@:ODC^A&-+U'B4DT9,3.30\ MJMW%W?4%64^Q8-1:FLDQDK[2":#'83%^B7BV1,8^S.S?[ -Q$.:1S)%%JL#O M+L5?SCW[?($XN66TUNAW9%/=NY4D/W:*P%-&S5X*GG1L8&YV3$[P5).*GH), METHH']8CMSD@<:G&>$*]<'>]4]!!9?66$]N:%N,Y8[\B/2X6R)%;,AC@$NO@ M#A35M9BGUN8G#Z$MJJ8@")D (4WN%-9;7VB7.I6]GL9KU,K1O/*>J!?YP:OT M'#@1!?Y_]D+A8!Y)T<^H\4\DQE>@Q3HAW&[T=7/O8PB%O\@?/+8H\77PR*G M.^SP"H67:,-I:(SC3U"\!D\3%*_!TP1% &@U^S"D04!M*2(O=#=K4/CL1:0; M8C)@[@*;7J/? M,_7]SSP5]N )Z;SC3U#$<]Y*E)MH1 ,1ORE-"*^H[ U"F-'A)JWI.9^5].!^ M.MQ.-]MEMT8:]Y1&7]/V.8%:Q';X,_:VQ';V HS:Z*N&4HV83JT\I8L1\1[A M;HZW6, 7AC0*6=F6ZY"!XXIBOE*+^30S;C/ *TC.+0O>!! 14(LZ3[A/5FCH M@_G4&Q0T>$S1'!ST.Z4MOX:8$LN1G)8-O!VFO*K \>XQ(H.JI4 MW@=%6/ZFR&UC']_\,)'26AG0MP&=$,>6Z M6+M+8M?+189:L:1 .=DG0(_F M[&_F@PDSFS\S.R%FFJ6XC&EZ[MDL G+.Z):;,=N-OB&;;5XV/0BH'57$EP*Q M#IKBO9XA3/&CQ$XFY'7GP,G)6E*EFN,I:6YCRN1FJ&ZC;\K:_J6(PBSG#TP[ MQTIV!5.OT==DI;,JG;GFU'(AD_#XG M4VHPS;*2"]_E9%!-45CAN;;:BD1DM7D#7-F"ODR8829<5O75 V7N?#CUT8= MOOA9[W"LRZZSMN8YIA^RL>E@S67-%@\%:(?%,K<)Y7Y]_1EB$>R:FIK<4D4# MW[\K:[VB"JNS4; "7LRI0G&+VBL1BCIKXJ!J1;G-Y4&Q/MU.LW7.O;K^Q^5] M(9USLUB>&:XOIW/N428G[*C*E4;>3@-K1# >X ]9(&!,@C]H?+2$XSW1I%&B M".@>NL!B0KVS6_+*5O_!/[?^G#H!O? ]]II G=L@R9NP/E"Y%93!:_:>"O Y*)ASMT-57[7(V@[O'5B]C55=-=74NZM$ ] M>K(ASB(+%5>DW_D3<5RDSS<_N >I=D^M:<"\O:]T$.56J&U6NJBU.R)TSCVN MBFS[O@^LWM>LG<(TJPB3GZQ[%_@P>3N4AH$_!IT4)5@L6$,)T[R04U08J;X! MI7[,",6*Y&(1<^[9%\1UPYOA9AF36VUA)Q)=UD4SDCHB;ON1)4= 7 ]W0OEM=)J;EO+6]!ANNI%E#N5LM;A)C'^I2NK'?WWBJ6BX(5\*%.%8J[U?(6 M <6XG4A'+6JW"D>UO-R>W)RMEO?;U?7Y]441M;P%-5 LIY;W*),[50^XRO'D MI60O?:&!Y231Y1#+^B1_@F)+%"'QD.)EA98W,4$N$U+9Z]1/&QQ>79PC5D.T MY$C/;D!+3DNF@[&3 GIYB%BQB!57.E:<1))0,]+QQ/5?*8U/49("ZI((SU3R M)?0]BXFS(/_0%[^Z42CD>_BJF ]RH9#DU?E'Q8[[75B@P@: M5S]]B MDGQ'BMP&CFBT /]A-R%S=+U%IMX/K MHI0X'CHK3?DP!=]0I5+,XH!1AOJ%,(",?&HU^IX@BZ\R4 MJH!?4S/4E5^2LA9K^1(Y&I:DR'JG779%"D=%*96PV2^'0VJQM (0%+[P)/IB ML<-'I8!$5+*2@T@!6$RQX%XO]@MN^'H"*A]Y W;-F+D4%1+3^&9XF5#V#@A[ MXR&GX_\OYX2\HV$4.%9$;?SBW+.7/U@8N8[%,>UO[M-,)"])*^!1G#(\L[H; M!X(GGK/37=4_?,&S[KU-KR\?I*OKB[O+\_M+^$5B]9'GUU_C7R[__O/J'^?? M+Z\?[H5;PF,YV%Y,>0NS]^W5SOV6.\45763_6"3D-C+QY!]3;FM%U9YQH8D$ MJ$OV>C@'-6;P#;FK%W7X-U_ZJ\*NTT;=E>S+^Y4^.IZ'T39LEL%P(I(C9?&X M42*/YV59'<\D:G=D8XVY*?;\5AYJFL83UM1&O]V3N^;>-@^'&9>J:X!+/+!N M+]G_CO%7KL&W;IV/R:#_69J9DQGYA%TO-%U6U=+W0W/BC E^%/SX MAA_+C*;D9DB]T>\9!(W?>%7]]<,YMAX6PG,"-XWAVN Q5M?XJ]ESG< M'IYE=J=DF=[A[TU_V)R&5")A2'$WPB B,!#+@N9)7A B"^=0EKY+8>^:\\KK MP7JJNBV:CL'Q9O@SI.>(Q9L$B5=>&A_%\L+9,;T(PO2LWM=UJLP V[*W>N)S M93>8"ZZH)U=L23P4S!5FHZ\;%3F@NE:)@%S*MM@-@>]84GL'::LK5-:]86V$ M2@&J=G%OV[LB!8^(6JWHJFP.0[!$/5FB #V;F24ZC7Z[(KF6X^]^%!W/-IV@ ML?D #6D(;XK]7$;PSH\CB5@6O#N8%!/RRHZ^PM'P83"%06X"U1(V\@BGI)[" MN)$Q+U\F5#/=J)I0,,KSYKB2;N_3J-K/_I?&MT2)W&/;S>(1A(\35"\!D\3/&AW$@ZL[?5IUON? MM[??+W]<7C^H*=96):, M8R?+897[<=PV&E%I3$D(&C[MO?DV52K\+V%=%NM_+2=\Y@W'\MF2!CNQ4=?W M#MX*;TOPPU&]K8+X ;OSR1V%E^C#*:5'EQ4M*%A_G/2N%BE/D=\I0&5>,4@] M(*)VB;L8&L9=5(V7X]T%(PA&V$U7[LL(V+5/-E2=$T9@2O)3A$DO^-=VGOI? MX$?ZV#$)'AVO&0\_:\-:)Y\D]<"+#[+ 9J!!T?15E93 [(YG&!5VK PDOZ>4 MI?7&,)M7="8]/X+G13YS.:<>F=H.'N0 Q+>I%\:_L0)[=M)#TL:/N/ F\,%X MJ0?3VV5*'FQHK0X:"1,_=)"D9^S8".>)?GYV[&@$[\*PN'!ALK#*_!(R@#E, MH\V7O$N2]CJ2Q)\X^)JP., PY='H78JTE]=O\2>^'S*(H^NF3CM6SS*'U.@2 M:Z 8/<4RJ-(>*,..3?^%>S&3BT9!^@83\DB;@X"2/YID"&]\1MQG\AHBOA=7 M#A8IF5#7;"&A]EOC3"LZ'!:RHNM";_$L0-3X :MN.\.<=H"C8#J$F[E(HP % MZU^VT[;3Z#^P[+L_E"Y0)G_Y1"K[)EZ5)Q]5>?(AF_PF69U??I8N+M?'U6\I M6!.#@,@2F!RMZK_/=:I_+V8:]V)1XWZ;:=S[[1JW,F_]869I?%RG_O*\4F+J M-=%O.&LGID;R&;/RT@\S6P#]+X/@TQI6R:B*C9DJCDW9Z^D8%LE:=2S?=$ E MF,^_&291)\# W#HV&A(%FWD"PZ-@2G.HY=X![)KU)%9;TDWP2#SGW^QM6.W8 M5WB+P&$G\Z$V^W4:PF5A*.T&Z%XNDZ-4(VY9*DD?T)C&3@R:\ODBMK797^KG MCY(32D1Z=/T!L/2($C<:622@4F*2@]]DL0;:L$*.Y_E/S%)&XSP@$X>&+>D! M;IW<$SPR;&P8RO#+$W7]"?P&KS(=@N^$M2%LS6'!_L!M 7 OZF+AGSVUHOBK M$<&Y# *?V-+$#Z(A2!UT!$@D 0/!#?! 5&M$7)=ZC^@LC*F-[A+S#IAACEFK MV1.>G6C$.BTZ0QCE1>!.C&DD>93:R]..WY%U=DTF#C=?G#KK$SZ;>^RF+,T> MPWFXY6'P*H43BN+1"2-I,GH-'?C#BU_/QU5;7..D(7G Y*T=X,(Z8_P0W1P@ M*GLWMC#L&LF?1NC5OEGT 74=F'48+Q12VO+#J$E9CRVX)T,T)NRFP7S"2/4H M8DXMDM-GW\(J *QA/F_TV*'VFA5N[[?"AQ>6ZY><+06N]BV(&)C+7#_,+1_XI/)* M 87&4JQE0U %- ';EQ6.*(A+PI;F!PFLD:2KLJ0IFB$G8F;MY?-(S$*9@(]: M(?-%.,> CF %H@2#76BJCSF=671Z],9N-] M(O!:J#2&Y1N%$F4%Y\MORYX(O^@YG\V:@P]=_SGDW\[/;V>&2+JV9#(! M&<0B#,$4GA)'7/';@#Y.W1A,>$OV'+S-/;5 1V/E";M)NI<%WV?LA"%R\Z(% M=']Y,7MHG(<#X]L9+ZR>X\7A8KBRQ>1N@.:[^\H@#&:.CV'*=&$E6(!T.@L7 MLJG$T

L\^R]V:,1Z"Z-Z%K*Q43/Q*3P&4DX]2NUZ'@ AD8"*5UZAB\ M_PZ:%>QT>;;*"9+60H8DZTO8G>F.;BUGHF\W[EG#+7X,\1#T*9 !=0<)E]9T M^UT!&W+**FAM)@X(O"=Y9$-D ,W0Q?,($%W$_AU,LYE@(8 K0)D+8[#8FMFC MS%MC3T:+$I[K 0["$.T(L.[8HZ4A<0)WB=43D1@NS#*-<;\C^$%-3MUX*@[^ M,Q/Q.\E4)D^3LQ5@2?".[\A_=F$)4IT]=A^!'7-KNC0YK@>RH31)Z07@AS=& MOX:9YHE@2>_+>'),T.J7Z NX&@QBR<->*0GP(0B(MV+ D'#'-9;W@8"//9'A ME&&&>-X4Z+X@".,N?2WI@@:X/W"1.I-%$^D9@ :3L9D#P2ZF830C%TX/F PT MMH=FQ,P!6O]]P@PY;8K,ZZSC%.&6*)[3[-+2NV0F6 ;?J&+"$1V'Q+:/UV)F M\X-]ST3GHEI;+@L%X??W*0F ] #;.XI>.\K';[C,JM+\.^@G?^K:"-> $G81 M/.KWJ1=G>)EMD5MTIDE"-&B EBGIA@[F<6=<0.U572BO5+6^%83G,3>LOLI_ MHT <.BY<.ILU6!)L"!T$4Y2TFI9@!&4!\,9<>7C^C(L2]+U]\&*@8M':2EP] MR8[#$)DP*N-ER4&"%F.91;SUI3W\V"47;:/WVJF6 MG[K9B-G!\(_Y*]TZF^B3U-1/5=\S:%/WM>D_8Z..<#H *\(!782Q)NG<=6/I MGL8$$]LSYL4H@%>*BR,6K27J.F.85.(26(M4VB)!O;2Q>BC?/GRX^BC;JJ/8E.A/]3V:A4QDSWVO MQ",+%RQN%)-C\@>85>G"QMO+PW ZGL3HCB/1\3%AL5&&DA 0GFZ90-N<-;V1 M%[=#S#:U1Z\S/OPLV2 JP:)%"XQ%/)@TQGDD;7/PHJ6;Q,]$?D^9>-U[?Y[Y MT>MF%] G"BR13"DVP)942WP1TPN)$7B#GBQ(^T< 6&@/IS,=WO">:^#8R.CO^Y*/T MDS&J/YRZ0(FG.(ZQOE,!OFP$ZMV!^ MDKV5QXCK3\/D!5>9,*!IWH/A*38O0]]C@& 5";$[X036= S<@9!:<5Z?1PX8 M3;%+,$I]><0=R %RPX"E"ABZP_ K#SB:*WAT:O^C9 MD0G:9-C: @,Q\=MA\ ;#3-&4N?3Q]"QF-ML.2)L@C=H@$\V6L& [ZIZR5[U+ M^7]+.J"W1K_VZJ%?DY5XFP5^JUC?4;1IH:&H,MRHXSN;JPQ%P: H&.3W343! MH"@8% 6#HF#P_8+!31XLUJ1L_K;'ON7:9-H%NXF>?7"/J#?;2*3,#&53:?1]CZYL(Y(& M::UA.KVSV+UG%72S KK8MWRO$(WYJ[.ZO+0@+JWS2KQ$1@/*\I0;ERDA3]95 MFI6)LI6:E8EZCZGYG'>AU T+M0*@)=+/@M/HUBXVIX(+SF]WN;V)M,@XD?1^(P:&'-1OG3( V- M)CC&+Q;RJW,\KPF$+OES.0MVZ?-"-5?@>_"K%/*$RSYY_.[__57(VO[;T<\+"AFFLZ?Q^'FNZ M]EOL3DVEQRP2##"Q;9/)P6W255R1&KO$()SG8Z2OLQ!F$O$)DR=*U!NE&0*6 M,YI'KA;BGB"=!J])*)8)-CL.)L%X&$0>'P/ZF"00%JIJ6"0&5A[F U)SQO^S M9S&"QC;BQ_.&!<&GA]+CU(F+GIA*FD6))],!L,Y< M9K-G.[&R2MZ'+DY_.5\:EP0/'4S:P+P>660Q#J;!S2^-%"D[B,@@64/47L"-]P,(%%E7'1K58YV51K++ZF(0DEU&\C0;QC=DG MTR .#*Y6)T??,G4[I+M MR,JWP/ ,TX!Y@D;\%?$T$PG/CNO&"<[$@EU$&L)K5KR4I83!]FD\;>HF H#. MWW]M[57UJ_" 6Z]1E;RCO6:8ZLA28DE*LYBT].'!GP \M:[R\6Q%,<7#&+73 M*U<4%-Z?OL"KVS.AGD(\K2-+W91%ZBZIJ>7$W6)517KI++$V2P'$E:M(W]C4 M7*BYO?GZ(U5-<=XJ@1(EUFB>PTN:K[$G)D^!MQ^"TP3 QOP8RI(T.<;PM;RU M*:VJ2XO[V&%73,BDMV-"-ZF%2^K %I> E1T&\R5.+IOIW^79I*E3&BTL/-,I M+,/'DE1+DGNAP5SB#H;2V ^C.+D7,KFVG,.5W_ @F^%OV)PZ;(/3 M(CUP0)/'/=RI!19B)^ MHL!G%@_.*,DEQXG&9>$_D_SUD-7K!L1R0EF M]V"?OH%&8I3$7+B4>U_CM"S,9AZW>#,#,.O^2$03PR]^&3ALCT4,=FK+*,%B MK9*DO%\EU_F#NJS4FUU%9M?-C&LOCH',3#OV1O3Q55[,B"_NUIF=T.0L[K!D MI87/%(O2P]DR+G+70I5'2)^P"O(9G ?4-%A[$BUNA61%ZRO;-]0B)MO"I:D[&YIX0 K!/)A]9,% M9-[LK$(Q>?S($2;+S%[VD8+8&:\SB;'M3L3'H+I42WX@3_ .+/Q9$ MT9J@FKY:(6'JE=R2JK<2*3NG(ZZ!Q!8!R35/\5QYP+?3=>43N9;XQZP\;+ZU M*XY>SM?76+.^1CTJ4.:OSQ;[VO>:"Q\MT.)DMB(PRBZFF6:*8;R\5AZ+^*\K M+ERH3;9=W/-7O?]%FN=49NTS%C97H@ZGJ2*-I0^,,/) MGX;H97\\6S5^,V)65%%M99>NJ*(25515?!-1126JJ$05E:BBVJF**G:CUCA7 MVCL&I)FWM@I&)V'5U+ (@.&PKZ]+)B$]2W_YG)XDY'CL!=E%GY?OCNKT;0]Z M)$'\]5S3MI18VR;M\),G)U^WX*M/JY\;:JO;U=9^I;34G)^;^OJ';+IBTZ1Z M+;,CYB3F5."F7WSB(1REK?K&<,*"%[?4NOP MJ[;0MS^6H"A?L00'(E^Q[G!85ECT^DZ-4'L^1@K./[-K-HPRH"U MPNA9B>7Y+0&$NN$J_(3?SP9+57,#O3 H*H+WEPW1_/6LI'7?6&_K! MPE\7\99[7#^Q>F]6;Y[URF-$<7QT;/Y\U$*.X*CGQ6Y$5![9)R:WD\H0,WN? MH(4>'=SC0S!L.,_0'X]I$&]K(A-P,$[XY-^,2U;)HTYS9.^SGM^F:^\?X/8V M2_Z5#J*YWSOS)]"=8/V[\Y[P9K8;?5V5#:/'R3FH@EL$MY3%+?- $'.4YGX2 M^IF_4MR!]$!>UG%)A[5J$0PB&.3P[_:!!PY!1_A=#NDV^JJZPB(K\53!'8([ MN%4?;YCA#:O,@D;P=QP>0J98-KB&S@NUF_^F@;^.1WJ-?K*=7.@2P2U5YY;- M!;S+?'01;[[(ZYFTE<0SV?L4]H*8I:#X9A7B&3@1W,P;]]C]2ED1<6EQ3BW? M&JZ5(A5G-?VX48"VVN@;9F;+NJT7 M9ED+O%40;R4[;FU#P.N4X56VIV/&UE>;$W"=3N*6==&) M8CY[7HI&TF!LL: M):DX@QE']F_:C;ZJRYJJFN,M7Y:M),!MR[*U M,IT4HC,LV9=[^).:6/@:,N9D/A00)%*+$\ZFD6[VJL24&WT M>\K>KK0(A=8//H6[TAU-A-ZKAK=\KG1)@-OF2G=T$&)[.-("31647B5[GAV1 M)SQI>.7V/%<19#;ZW=YJ';U(!):]@S.8^.Q(I('OV;OY)R)ZDXF'VL=-!7;: MC;ZAR.::*+H(#IX\O':N=>QT&GVU1GMH:PZI?"Y*29C:ZJ)T&WW-J,>FNIKC MJ4@XE>VDB/382<.KY/185V'VE:[Q4FHETF.5&55D>DSO\.QO/O@1<8^9!7Y<[DCJX7%./)W%.0]]BA0.1A/=:NUNCK125Q!0IY1&$^+_2<067-$ENU*F\Q6U-O\:^F",H4\ M.&R;#J;:=$;D;OV?L\2RQ/7B^KS7'[K"^*BB_ U3VB!TI7 F=461<7EZL7/D M* KNYU5D110A"W@=H BY6]Q^7H&W$\+;KNV,NEV!MU/&6]F1CN(J 2\*@BO MDL,6/84SXZS(,F:]T^J8? 0JBLXL%U1><[K!PB,[13VU*+[+1ZQ1?WRYX6_!VW7D[WZ:!DIA[VZZ!7K?8 M70."L05CUYVQB^3KL@->A54V DO?(O+D?BE=@[LY%;A.W??O MM"6OD'%KS_L)L,[*N#6ZV0+)2X/#Z*!NID3$5VK1\8 &DJ[*DJ9H^I(8/\#" M9<@\;D\X'?C.O:*RG=S#8VXW2,].-)(\&DF/Q/%"R0\D%UP%^,+Q)#(/#TA^ M- (X6?YX$M 1]4+G"3=APM]4^H!7K#C^E89"5>Y<%4ZN!%?,&Z$>!32ZR;-?*<'VFD(VXN;CY2=W\ ME [G&(]I8#G$E29D FY@T>HMSY+5+3NR[A5KE-_H';7*4%?41E_OR1VMPTDW M;,$M@EO*XI9=2_5T!5O1UN@\'L$A5>*0? 5O);'(EH(W7=&!16IQ$HQ@CBHQ M1Y&\46[1F*X4ODM2<(O@%FZ,K:)+K\S8,S';G#!+';=I;HAGX$2&,)6(2OY0 M^DHG?NCLEO 3#;&RL)JA'#D*T&[TV[+>V]O%$>W6ZH>NW;WFSKH3[ 6B!*(* M;HFC*Z(?Z4GCK6S'3?0C/6EXE>SIJ I:7X:R>I!R]=N1\NWH_&S=MZ0(M$\X M#5Z/V9.T[@RF'M>_4>/.HYK&2RQ!P(LC>!7=1517"^\B*O#&59*M+,!M2[*I M.LBQ-5M1JYAFJSF>BH13R>Z-6L>\E(#7SM*J:/3AE?) MGJFF,--+715;(O%6]H[)8.('6%\X\#V[O'8 (OACZ,=U;S2UT6\#D[4-3J(_ M EXXPU.1<"K9A]%$ M=NVDX56V#V,R^\IL[WU*E,BNG=JH0K-K.C?GSK]S]B!71P_N[)9];*+A?7=3P!45/E3F';TX\E#-:%/"WBC/:8CQHQW/AE4]4[OL>,1C M8.D\Q"9=/TA@C=+CS Q9BD94BC#D*9'9L3V6'T;2 ,-#> 6.N/#',.-7)NT[ MGT.)I&!J DJ:(6 !L#< ,LQ@)$OTQ7*G2 D)L- ,8(!1H%;!L(?&91:3(%PI*0MJ2' M.<&D@#XY]!F6U(G64FU.!G90V3M4P,TFL,Y(4_@N&I&((0->&:&&5P_QI)$G M/&F$O8;GPP1I?.H9S-V*3W5)3D7#NP'9 VKYP(@XIY;T%68";\<0.0HHE<9 MUE$H40^?^!:X>1"QM+%-*<),N@4>].TKS\*F$ "A^-^MQI,R!X263[KS^ IZ MH^_Y*Y!>Q3A)GX_W?@,$1 JB($ :,U1X842)S6#P!HR(FX#"\ E(*AP.?TMX ME)[O@6Q%.;'MI#V\2VM^[,)VX9Y(4 -35BDKG#%4P^WFI\^BJEZX*M$%ROP2 M,@ --8TV7_*N%FFO/62($[W2>[.<"S]'03J9"7FDS0%0\X\F&<+DSXC[3%Y# MU+>+BP#OF]R[:[9PS?=;KDR+,QR6EDV,9V$CO!FTSL#*H0&.@ND0;N8B@;0% M(?,71]=-G7:LGF4.J=$EUD Q>HIE4*4]4(8=F_ZKT^@_,&4$O':!\NG+)U+9 M-_&J//FHRI,/V>27Q,9>HO!(I0*W% R_04!D";1HJ_KO<^VC.0FV&K V",Z0 MG>#I,=>*:=1OC@=:'(\ONL<-R.Q M>J_]8>I1\!/@1?\N$Z3O;$.$N-',_6F M%MMH\ VUSZ/T4WUFUUU/QS C:]60RV.[+?L?MXD]@8?ZL3/]F#1^@+O_ZOK6 M'W/3S&A(% RV"3PG"J8TA_+DR&-%1V;HH_'(_ )\5?2.:(C6'MJ'C^R4SC56 MHA?;CPL>"5J>T<@/P:M8>S!@[-$\@U^US1'".\%$V!6Q6P2.,[@LS]1]FODL M9(VSC6/C4,C*L>+2!W@H3&\*RV6''V>G%,;3G%F5+.0!J^^224C/TE\^I_5: MCL?6D%WT>9G(:$N]+;%"(L=?S\VLEA*;6DFU5_+D]T^8U]JM7B??8?7E'WNO MP@5F1TQ*3.H$)M4VW[W5(4XW7TB;+,5M-Q\ N28GP=_IN:1W7\ AQ"3-5S(#0>, M%XW!.BX=RS!)/G7F?J8O7R2V50)E F4 9QTN7!64%;23CI(QIH\>P)KQT M5O2.LAWJU3)6I(F9B9F=\,P*:J[$B8S:U%9I/*8!R^1,R(0&1?=5RK-6=2M. M7?>*]2DRU?=J]'<1I\O\:;@^K86QH8<1\53M!PMJY"Y"-1M]39$58^\:5'Y: M: A>JA(OY=J[=5AF6JALC3=ZK+(/;NY>99TJ]C427%,EKN&':5)FN0F^^]XC M#7)LA]*+:YDM^$CP4;WX:$7Y9&>KXL[L%6PEV(IOMEK/3+G=H)YP@P3'G(@; MM)YEMCL[AL*'LR/Z()[DJ'JEPLHZ-EL]'_3*(.#P10#9T(>*J@CV.1-S64-DJ MW QLOB=$'/\P.QS*BHD<&?$9W*JRBBXAR?B$V $EV\.7=Q*E1QWH$ ;PC 6_W!+Y1QP2^P.&!<+@:FED% M6*_1[_9JE.NN.;CR>2P'1==V7\946,?#8V>-!D,?8P"=O5>IZI1+@KY7A"+.\"F'H!$[58P3%#AV?4PN6H2 M&OI#8&4#O6=4-:Y:H=@5L;*#K>X1,*R"ZBJ5T*"N:E!" Z';L#7L[_:\A-[B M4D, UOJTGJ&:4$W=/"UHZBV!#A\V6#=7%18"C_1ANU]1S*'N WH5R2N2/X/2 M62\/X0!#TNNC14L'@11Q*^*^2N*N#6T?ZY@=&#=W!LCSWM&Q)T7RBN2OF>3K M(\_+N\,'G9N[;KN"K Y%W8JZKY*ZST;/M1[_?4XOA+;BK 585] M;!\:^AGT@);;QR3D7)B&*7;P,PTH*3NU>9RGJ&1JLYI2>W431=6BU*+4E-JF MS-Y:FR>N!M6J0;5U@*$:5*L&U=8&D&JXHQHAJK"LQJ!36*:PK!Y8=EWUK&I0 MK5J96MFUK>PE=+53@VI/'E5J4'2H5'!H7.?$[$&?RM**:H@:VPQ&T5*3:*E< MI/6LQ+1'$'9P7$\$132*:)HM@(Z84SNXQKZPBHX4'5UV3NW@&MO<*K)29'7" MO-BQLH(4Q;P0*^C0A--ANQ:VCNHT\B*ONJY F!I3>TF5HV?4V24[%&-JAT/5 M**PAN%=*>)\7^?80ZQU MV.:-B@T>W$L[MCV 4,:4]L=J5Z(3<&]&K&X\G7L MPQX.$UV?B:QX7.WP['QH5HWG:"CFU+8':N)V4U#LC*SL8%<+SJD=M"_/L)2S MY45>]1(R^M2A1#O\ #^\!H#^ H/SX2'1_MFQC15 MS*BJ4[/"O7H9-&=%OMVFS@BCRNNXUL04VBM'L_-A636NF9&A&%FS,.R,C.Q0 MS\RH4P]V]1+2(=2T=SZ X M7-[WKK"L.2SN6*-[U,=.ZZ"LKN.=8G'U1+X:L;@#K.[!S5VOHP;=-@#/SH=F M%9G=0T"M@3[JJ_S5IJ#8&5G9P7;W"+"JJS(BU%6-SHA0@V[5N TU;N-():?6 MOJHQ&')#?310$W84R2N2KTSIK)>'<-R^N>NKN7B*N!5QUUR>'^N8'1L@ST=Z MQSBZOD.1O"+Y:R;Y^LCS\N[P,=9 #Y1 5]2MJ/O" KV:(,2X>W,W'.CMX=$5 MYHJP%6%?,V&?3VP?&OH9]V[N!D?%JB],PP6#;N5>/D9S.#4SYJ[RSQ6@&ZM@ M?I\.27EP6!#84YM;ORQ1+4+81,SYP$(\A.5; .LW?.\W>-POCF=^3Z':O]$X MP'H!#P[]B-\<,'W7=BU8Q&MC!+SF0J&*&2=HR7UK<[%QP#[-FVHA_/K@S6%= M2ZJG&KX)X(JB83,:HQL^,-^]HKVX5G@)[)7"OX*1E(<]XIP^-Q:]3O MEATRW,.[RLY8W3Q[M5/)[-5.IS7<,7MU_^^[HW)/VKJHG5-JSQ5(W'-LR];+ MQFN7%0CG^HW#RA/?'O''DQY O?29J@=G'3MKK5F#UN[G'JP%)ZP]>$%XS)RZ MHX?4-0MPI8;[U;JOY^6R*=Y&2)T:;%=;99VQ QN[D9#?=RI*K'] M\JZ64Q#C2Z='19*E2!+E,HGETN0X)'(=%#V1*NCR%JWM*J%GA%ZVM1^ M$OJ&ZF15>]*^GX+:#Y3];08P?)S]"D>'1!X<)WA'V/U@9%S11!.%>>?"O,/E M"S4/&A;DQM4)ZRYJJ5YY"<#QVK$*1)X(-"^6_:W$);-B]1<6V&63_&']-W?C MMC[L'IWD7^'QUMOD+=[:UMTITBX+H!=+X'G])OWK(?)][I;5G7MM@^B[6]"! M^P3T7>J,:Z$$;<]EJ'4:07&;3,3:$1O ],6OOT$/SE+ M;<8=BVZ"FUO:'_!\7[R6^_,D'2.]/?^R!0.$_V<9%I%OS-^/6<2"NZ\_LR4= MWC?OWOP[LGW,&";J@,/][/,I!ZY@?0TI'68?SC!(.4,'QSVT-O$%.#\'UPV0 MX3_,&7,?.;Y "V;,%RDI7^$4X=,O #>Y#H M+$1[GMEP$CZ'[P., P+4X3ES M6!O"(8-&3,-[ODA 3[O,MYII<>[;#F7Q' M&Y\@ )&'/J(6LUUX/'T$(.("X'<^7Q F3CD:S;"]L#"KR*.KUG9@!_"7Z41( M:GA&<*L/T'-O32&88#D!#^%V<:+P:F 7 <>3<4D&8%J<-F$.;228(%Z(1)U^*1^WS&3P='8.O'"\(?L*U>7.N:RX\ M%C&$_: =P&.>\3^N!P<4Y^QICP0?. 2\%]Z=?1,LU^6"9 G:12#";6>2K[(G MAAAJE>!3K09QY5V!=03\K[8+!XQ4_MX%3AM=A^3Y-<5,H .+3XFG) 1HFUPP MF&F <)346>R 3J8 RAH&W@P&HB C$A^ M@J8E&\(O'R-;\!4@W MD(G(KWWN,'RKS+LTVF2T9.Z2 &VGM[ )<.DHW'S+UJ,8%*;_U.1PC/8*/#/_ MG?EI'MDCOYV C/A^R]"7_)HYSVP9H*60A0)L6#Y\U&\AT(^#UU[0F4Y/QK_% M*BP4@(1;KTF/P:M@.:PV:]& )8&J_ ^[V^UW^= 4)!H&OAJ! 8&>C-CWL9?6V-@3[L()_^%F(+0*X2!:H%DC( F;#P6HP<:7L*0S M0F,*'0SI;4#']A34;CI5-(?1CW"@BWR#VU"#3"WTF'9MY/X0..(1G7XA$>1]%YLG-AW)QG5F*W%8> M'3NQ7,@<0E M_3GC[KJF4M['E.HS<00B'\3RN4/!%I<(?6*+: R]&)[O>W-"PTQ\ $Z&/7(_ MAWP)4!:^!XL%N/O+K'-0,"*2&!9?<$*.=,L 0)OV#)01\/CJ1^X"^%$U B88 MJP:Q"E>L5NF;L3RP <>8GZ>>F0U,RR?8Q8L)?5A=($1F$IMA&#D0CC:4; B0 M!0<0P(H]W";9)*O8D_ O @$ YLFVA":S$:#Y";^[3WQ;#1-!A=Q MM? + BO>N=P&J47 &/!FVQ5A0XH,;3G7%FC=&D;O\3H"'G M;^H:CK<>!T.D 10C&NS? MGM.4ZY4]"EFVNOR&@N/@U_"%$_\] MA4=Y2*?WDDB12>IY( #XX,VZ]N0Y$49+TT>;,X;Q?\!4@+&91-D+ 9:G?@0/ M(HHC( ?8&.2@.UG*X\%R#MC;W/.S9D7(S9EKPVGG1&2,7ZXE([L:6P HF3GC M*VII',2?>0[F&2RW*:89LF%!0C*B7\9;.-#Y!" A([/=YC.0K6"*=U^FB0B< MWCJ8M#)I.72B>%L>AY+5D:[O+I/0:)!$.:7&JZ>*F;\/TULEAZUO3OW5+GY('6;3^Z76(NABJ+B MIGN]=G>MZ=[F.&1#(XZH0$\]Q_&>2<%%0 0:)O&!=;,A-?10%1(-;-)F,[&7 M8B.^2*7$EZSIE(WN^3=H#8<[.]GM^7U5/?\,HV6,1VI1S5U4I[W]Y:=IJ!<7 M6AW8PZYC-+,)XGT!I\I5FS6R?6&QI"BNI3M!M\*"(KIZ8P'Y: 1XC'VJ\/?9 M^$L$7DF5?4YW+#YA,E7AA*57P?H%] "ZTBX^O1WS@E" W;L6_O,N%6.)P_VM'9B.AX[??)N.J?V# M6[?_YKY7U+NGAXZ%44\#FFPI$JG3WDJ12/\D)+)'CZO^S5VWK??[ M?44FBDQJ3R:#"TB2@9(DBD2:0R+#2TF28OIX^-GP2BTJB%:]=OG9U5&6[&J MJ\8IXT*LRC#JQ:I>CO?_@^?R95Q:.(4=G2ZPOXV^]C5/&TY?G4O15^?FKC_4 M.\-136PXA5>5XM6.>0HGT06Z5^@^4SB5XM0%@GO&-0;W%$ZE.'6I:)C1KYG\ M>SD^S#]:7UO88P#*)U!'O#I-W&F[ M'C!4?J:KQJD+A%D,%6:Y;IRZ5)C%&-=,_JG,\$MFAE]^@_'.]+)<4]2@'=1P$=[$C(V'>H=0F;IJ/R,:X; MI7;D8QR&4KM-FHYQ<]-[A5(I2NW(0C@9HQK6BU&]',^ERAL[$V7MR,4X&66-;NZ,KMX> M')V2J1P"=42K'>D8I] !QLK'=,TH-3Q_@*6K BS7C5(7"K!TC9H)/Y5UTX2L MFZ:H[4%( VEIWC&0GVDOF)CTH[S#IV-EYP_J=:L+ZBFG2QU1JK*@WCKJ=&_N M1N.CVSTHM*DCVIP_3M55<:KK1JG*XE3KJ-.O$R=Z.?[=!\]?X'1:KDV\0[O. M*"-W+^(Y?SBN6UTX3OE-ZHA2%PK'=3$Y^;.:.L "(56UXA6%ZJR M['5KAE:5YM-TZZ%D%IM=W[R0.><>R2L'L0MXOP;X:)87H8Z+^]T\IGTW^35_ MNEPEH+DBCK0KUA\$O)(N>[T>L*!.3V\;5;5PKN(D+Y09H.A7T6]%]+LKL:(R M^NT#_1H=?=A3]*OH5]%O5?2[*[>C,OH=5&4"*/)5Y*O(5Y+OKCR:RLAW>'/7 MZ0WTX:"J2O9+T:^*8ZOVR\V]2H'W].#]F>*Q\*]E/]W]"_X37SUG_J/MQBQK M -QTOW\&Z2B8RG49%&^VEH14K/%OV5!R.,O;9N\E! MW_,OL_OBB,)]@.T:WW*3SR?5P&O)/#0&2!@1RZ!,FR[^4G(O]HN]2]W?O/N5.ZL)144-J*7X M #M>:J*:0IM&AS8$.")H]P*";]<:1#O--.$]@FJCF[O10!_7IGN((A-%)IO) MY#0#DK?7N537DE>1B"*14Y/(>$=QX2E(I%]==:$B$44B)R>1'<62)U.V^D;- ME*VK=_U4.4F[K@X,=?])'4!7Y*&H9)*VZO:YEXPY?ROKOFIE?=TH=:'*Z3[. MIQWKPWY=!H@IM*H4K<[?ZKJO6EU?-TI=:"1KOU\S3O5R&HFM3-)^>\0D;=5' M92\:.W]'[+[JB'W=*'6ACMC]X@7GAU_@:U@^H: MU"J)9^WF54.C9KQ*^8E5L^WF7E6I&_Y*A_!M<3?LND=-$3DM:*Y) MH.X*YE8AM$>Z8-QI^$$K!PKRF_5 MW*L4>,\]@P^Y'7)=VXT8L;N8_WV,YL#AS?VG] T*Q[/0-[9KP5^OC1$-\A., M=.+C@B133<8!(C^VN]U^EP_-L=F?\MZ(F9-V;]PV>[P]F+2G0XO_+TX\EC?E M%KLJ/U;EQ==HL7 X]LICSB_,8:[)O\XX#U/!$7R#VW]Q//-[*AL&0BX!A+AU M'\KO\.$_<)5N#YV>SK U#$G'$KWEDMR.8<@*R M&V-8=*SWC:J&"YR4[*I5:2\GS__T_.]@ FH+WS-YL(]$WS.S]LH3:/<52PC? M]^YG =VC"&34OKGK#O11V;JLTP@8A05EN&2%6& %O3TWFA\7BRX>L/F5]NU M@QFWM$?/4Z5W->"<\8'\AN=Q',UT;NXZO;;>,XY.F53%+#7$J'VY<(48U06, M C9,[I]:8%0Y?90>/VP-^W7FR$5QGG)J:3[$4)RBL35+X\H,W.K@<#W,8U]Q M!/RB-)?HX3B'D=XMW12MLH,ZK<*OZ$O15U7"^1#ZPG$IH]$!4OBB]+4A.2>; MBK,E-4<>1 ]%-\TH@=V^]KG#0ON)RY"WT:93RMPEM]I.;V$3V%44;KZENAR@ M%%\J-^\Q!;$Y\IFOO7;/5_/U\]+#M M:N@A:0/C#+B%GT@>,TQ3 Y.>N300]BMV:*7IR,W?]:O(99%EPP9_*I)D*YF\ M:?[JK5$N.[4N&9WWINE'<)J_VVQBK_35/2:S4SXW\]@-N9VCP77F=C()6">% MP $YGBI?4^5KJGS-YJ4JJGQ-E:_YF2U]X-#4N9[/%XZWY/R6W 4@ /B/!>I4 M*H]3)91=VL_^3N+F%X&:&95-5N64=@Z"4=G=\=&N;&N1P[ML\K[["/[:KCY+SJEM_!>+M$QC:_E> BK^L@,HP5;JG M=SM5=8"K03,9A4K[,NU*46F,8TL-?7A\TOUYACUH@#VQ/V8ORT/Y6[&S=U('PR/[O6DTGYK MB% [Y.1)$*H#]HT^'E5EWBAI^8*DY>47J+91IP6J;5R3KX7,LJ* NW*Z7-3I MLIX#E*R\5%Z71N#2/EZ7ZG"I![@TT'N#HUN,U'#&9MWKRFB2 M3&6<^OB(G*J;.0. KH=1[1!ZU?&H_LV=T1[H_=[1 J_RXZQWB%T1M"+HZC2/ MZ@AZ@+&>MM[O5QR=KV\=W8%YXY]]SXK,\$_F^\P-DS#;G MF=XRI7OF/0>4 V[.F/L(+Z,$<$[MHIF[I%$GPS MQ1P=;C6=R()+X!D%RI6.V$H/#V<^Y]H<5CR#)[MX2SY3E9(5PV?N/*UKG'>5\ZYRWE7.^V5$73SZ@(4D;R8J%*E]?K1S5U?'U:MU3?="E>$]H((K;-C^G)% ME#9&2NL.VTV@M*N/N,I#I$)G:8YB?;,=!&!ZZIK+0Q5Z+0705Z5F-JX27 #K MAT_[4=YGG_,?=A "A-Z[IL]9P$%II7]+$F6_C7V1=:.WGL'\DXK(U@W%RDT% M'1S"U*M$+>/FSM!'@ZH&==KUZ16W M&7>M"AQFIYH?_Z*CZ=4#J-X'H'$/D3QY(5[2L:+F6 MM'P.]WF_W:_(?5X+6MZSN71^$OS^ ]D'P\,&LK]W0^8^VK"J^R#@89 .8E]+ MI^FWU^>PPW>-G,/>;VGISC6Q]4HZ6^(HDY#_;C]Q:Q6TQ4E*_?;5C"]?S6): M^#P@CX'%0V8+?W!1$A,S_XYLGQ*4DB-A!#+X!V\JR$):BZ3G9F,I)[1ZHR'E27_%+^D M=/)/O]7KE'O4&19EM ;&6"UJOT5U^E>7N[6A$W(!(WJA24Q_QBSU7K+4^RQ+ M_;RO2^(:0?.;[P6!]@!Z[Q+%( F:Q9 7"HZ/*U'O M,X6,SF12%N]9*,.W#FK#Z\K=ZY.%C?:X?R];[]"'J\4U8W%GBAQ ,5RO"1.F[!8W0*P^2>WICX!/ M(^=W>YI/@H %FZ^MR%]RYJ>N@M'-W:@U6G4<:7A1Y>TLCDYRJ1TIE/;]7JGW MUC!&V_VW6["7--S2GMPQX&U7[Y2=C5[G?#!%'DTBCY*I%(?31\;JR1H]92G& M:-_<=3IZNW-,?H4B%D4L=98EY2?+]@WCYFY@Z)W:]'JZ+C.^&!_B)IV:F&;K MN<',7IPNZ?,XZ#7/B!B?UX@P.C=W1K_5KM"*>+DIFJ589:=]7K7;Z&)3W%[W MZ%YF*N.WEFKJ$?A4E9I*Z7:C@JDR*IV\=LAU+MPZ1*WK8ZE8OUM50[.&I)1? M%!V^^9>N6J'0Q3U3G^]CJNQ#M4K1Z>2JMWA^%25:C?" J]!KWL5#L@K1ZYSX=8A MJMT85;N!L8Y'M73877X@0[.O.G^_\HMF.(F6Y>MYZ\HY6HT&?5[]&8S>NW%K MYVC!X9?F(25@:[&5C;W*@7>TX,WWT5#5>NK:GVUJ+T6]<*J];=/V]B^R6LJ M/5XKV/_7Q/_Y3E7MJZI]5;6OJO95U;Y:7*,6]Q*2,U75_@FS,M<\<2>.*O=4 MU;ZJM*P@;VM'U]7*X[Q]5;6OR*,Q\=-CZ*.J""H.\A[K@YZJVE?$[QUBUWZ\LN[(& M*557CDXEU=3#\:DB-;7;IJK]_C&#.15R71FO.D"MZQI8VC7L'#UL257MJZK] M&JEV9^[JVNVHJOT+L5NWWA\.K<$!>.7*= M"[<.4>VH(=/@>"-45>TWX2I5M9\; *A\H\=U-!V<68$>J++]6@?35'G@ 4-T M*S<^AD E?=WH5-4.5M7X*B*^2B(N9?1=/.FD.[JYZ_3T]D"5[2N25B1]2;E\ MB*$]OKD;&GK[>)^@*MN_YJL4>!5XFWM50=G^BK%>IHQ?<"7;M;@+_'U$=?T7 MB<7.N/9(M:-F7#O*J':4XK(L4TG)LK6VWE0+X4ZS,#]/8SZGGSW7618TE@RB MR5_<#+700T$#JW'A0;[/77.IA3YL1CQ+ U$ EP4M#1?YX,T!/,O__,>H8PS? M!-H_C^D7NY;X5HVA.DA$8J]]<]=O;>H7"^?HX)+#S8'P-;!ISRP ,)O>HPO' MBT6-N$>7B\T_V^%,8YKO+9D3+K5)M/0B.,)'G_,Y8!A>W6D;HU8BB0E_2[6M MW&8%9%#CW8\%=P/^#>GD&SSN%\#[=6LF*:$FW MA3,X:FT.BYP%&G?QP1^8;\[BO@$]0B]L(*"] F0(9UX$>[6"GU[G46*5I6UA M<7+S/?24+[S QFV]%HS@B:?-0_XC?YKR&-OI+6P"*EP4;KYE/P3(.9IK@A)& M=P6ZF?_._'@U"_;(;R<^9]]OV116_YHYSVP9H-#)0@$V+!\^ZK<0Z,?!:R_H M3*!T"_7F'/LT&_->K7 MKFE6KS48U7%1X\ZN1]77#U#S#F-[JJ?%WMDMFRK,#!DW)K5ZOWY)W\B4^B!, MJ7=Y4VH/6"FLJ@2K,B&T??W]]48K-,+W2>39N=L7 ZY]>AW67AY458<-YWFI M(FPO"-&F]?D3Z/3\0LEHVQMK77]D>X_]7T_XVNB,MP>PLQ[G3]-5?W1!C+K7 MN;D;5!R?WGTD]W:0>A3%$X5WIZ0GQK'\=-R.7:]'O:[Z(W6BR)5V>TU M(-..><85(U-?(%.]:[@;*$".+BF\G"RA>L):%9IMS?5]699*%0"Z(FYY5EXY M0%[9[Q\]^[WR$ZVW=:S[3AO[G)(_/D&Y:'#,;M+1X;]H1 MF=Y?S1FW(H=_FL9/*X#/^!CXU"4_=V?*MCD#1D/9^-IC#%DK\NGJ?;*N!3_9 MD'%]WIRF\;@U; _+IC2-C%:_PC&.W(J88IQF& /YJV;T;S($01@/X7"U G1(\+PV=FW^!@ M]XHY6VHS]L0USR1MR\IUC0 R!"M\#ANQT&\#KWW&_QRL4K0WD7)ZUK^O=8V8 MVC^X=?MO[GL)3;=3FN[>W+G>&CEG]REAX/E!H4A$,/0"5VJ-W'34(: MM*%BMO3)U>X7ONUHG1Z11%O/=M30R!,GFFAX&M-6MZ^]PHNQ[T:G_6;U1_K: M>/.3:+3R7Y\_>/XC;/!A!G:"]@MSO^O:Q]9]2T?*S*?@:>R1RVXZ#GJ(?9T^ MXSU(P_=$4$S<3K\\V*$]29Z(#Q3WQ7UP5I>-?6$"#DP/>_2(%C)/-GJBD1%' M"RQ9+ML'=0E#?F]@YQF;NKYR%<.RQW?J[/;?W[-V7@3>.>^WO@+>>,+LL66\T;L]% M[XCM'NB6MDL*QIR@8:&B(=E E]B T=+>[A^R$?_M).UR) \IHCHX);H?3AR. M$S[3I;0,1 ?L"T"/F;/OH)>@WI'$DV2S'U1*@KB9UNH[6D5 /Q=LBWE-!L2_ M\HD?,7^I&8-,@R$$B^N%0),N?P8EK"J=9'2@)@)T#$1!S1CN7>N! LW CTV; M!UL5E.%ZFZK^\(@V59=36T8M+0,$(6&R8&B^'O-%-CW[- &[4G2A:]">BLGO MO2NY4J?=[F]58QS;Q&XDF5YO9"*A567[/%B59L2+4#\!89VTBUNPI< .R9;$ M,T$4 ITS[6\@6E)R] MXJY^*#DE5F20XH-X_3V]7?[\6;Z[M-@Z/'9%D6/?IE MT&/5_?_>K1)A!FU$F/6$LP1AZ!#W!<8!I#(X@%3^.\;=8S=OX.;7G97QYEO: M'ZZ#-K5PTE _)< ?QT9K*=:38C4I)H]UT@AF0%Y '0N (!"7R[5NFW23\8'] MIVHD$&(AQT5[320A)[+B/J"B0#_ S]5N5S9#+0TOG00 M7]:K4Q)BP967Q/_V21?09R%3I_;\PF]!>].5@=B M: %:A2TE%09O.+8$GT[)JH&O=OL,).A5 ^*=6&/T5J"I&A"K!L2-V(EJ0'RI MQ:L&Q+7)G%<22,,&AL M@#SSQ2JE/97Q$P5\72../44!VE"R:PZ8/;#U!4V*+UKR$.[E+MW=)!-OMT4T8T$^ M,++E[ E[T7ENP2&9(I\*(\E3N!C-J@3.\AS7$P)BE-WRD/ALUAP$^&#A))@L MI>TM,=9&?9R%$:6_ 4R>;)'\G+X!B5>^0)=D#,]TXI.#?0"3"-' MF]L!9CD@!4DO*B:3/=D6(OW5(0+B>L)"T3E*G 99!R;AL.<@LD,)Y# $FI/T ME1_$LY5_M+2/7L95PX+ \F+-R>,>",7DE@E5-N(F89,X.)(\0:P4K[)$/@CM-X9TP3 N MN?<@T;$Q;5EX93,034"REH <^XG%B]&7"__:V6V3XRWFTXX8S;<*@32?.0\" MR^-Q @["(@<*$26.(8&:0>[.9/MK:TA6B(O)X]>$Q0CR5V0]RC"^@-T$8(SZ M) 52B'TF&7M,O!HIB;(),I'K[ V@"WE(Q=8.@*\B5;SK!T0F)T?F/& M7DIS&4(3J5J"9D@#"Q(T"0H2F=:Z5ERN'F6#"=3)I,0.=9G-QBBTA:EH2"(KED3(OE+C(]%\9KX7/>*403(%-&$* !V 1H)3(Q^IPG%J.YB' MJBVB4*2_ JR1P(29(H5OEA$R[;-O/V&JW#U( =_E2^TWV<_R'ACJ*YF0^_G^ MM_LD"=?GLDF#S+ 5#P=D6<#!8K+M9L7X:P3:O@U[?@"FF6A#9#&3VPQ,7H"/ M:[-,*B@P(9+G]PZ;T3 /@'O]Z+$"E@ TX^8F]I=Z8I_9Q/:F,6SB/\,)X/J M(I7?H.B:<]DKU$<*);=OH*?N^CB_(!8H,<> :_!16T+BSU-,<3:.=(J8HDPT3F"2)D1)V,6XA+M0/!Y)5[\" W2=>9-DF M&\-D;_X]FP@2(PC=#R^*W 6SK?CR8@Y:!3B8_G3D)14EM@11NVE0N*7+1 MKAV:-(1@#HV$SD6J>=59YG-F@01+#2F9U1G-T^:,7VLF 7:;-HU#43A&T1+>89*&9Q!N2$15WH;ZV?X+,FD4H0_&M=06@(,"\9V;SZ+#,YJ^A9W['L"NL MYQU8E.$2'<3;DIH'@W67Z�R*3F<4O+[C]F80(.#3(WBW='6[M%U5I(#9"^ M1]C1-9J0G-V8F=E8FM46K/E24& !.>#? =Y.#"E(],(O7_\(8KU0U_ O<1M( M>.(KV$ @+?!)U+!HD1(:C)%UM^[6,+3/K3/$3 +S&+][ HXR>_^_KY M<_SD8Z-.ES^Q!^G,0'AICV 5AK'0=E&!@NOL &I>>0)'AJHR-TM1K)E**F MFX%DWX+1[4;M;/I[D:@VDQP),YLCD;$"T&V^X")3)I4<)RFY'%.RW&[ D-R\ M:-'G7M4"&[J9%J=KJO3-H](W^RI]4Z5O-G$G*GU3I6^J]$V5OGE0^B9Y)3?_ M.J)?RWDIS]MK'61JJRWD:IEFZX->JUMAL_7M'=++-%OOE'O4F1:ULYE\?<=B M[.Y,?]$NH:N=Y(NUT^)>DV7;Z(\;VD:?G)P?A,'T+F\PG6QNO<*=C=U^2S0H MK3=B[=O>>)\-OR2@[3.[H?;;(_D@FU'XV,HU.FP"L1JHH09J'-&- M9'UZG'# "ZGBGSA 2>3C,H[0!]QO$6NT;6:O%,]/[B(*!X:.-#5 M&(QJ/=!>(=6!2-6[C)#I(%)UAO5&J@;*D::9M%^QKZ(>-PP0V?:Y'O]5&[E[ MT7X!%*^1]KMKL]S.0OM='$.@=]KK/1T/TS!K8+\IK,I@5>1&>B0.!NGI_,*Y(#;_L MK$-%W(JX:TG<_8L0-TZ?ZNC#P:9ZWFL@[IKH4^L#5M7]/C[@C&8 MNA:B1@6XGBF16ZNORY9V1R[6)6%U"*)V4=5)OADV_X&U)UB[@D5+^@'3$WH[ M).E>544?/;ENJK@+2(_,_HZ!^(]>^#\\3&N.RA;;#XT5'"/LL7AZ.:N MDS8ER%UH2"X^:1%76N)D#;6/!(=F6QAPU5TZ-C;^4+A\&\"QVJK@^[6L4/%&N!^ M36O&O8/'<2Y\/@-@PHK>N]C>#^MBUNN?1]T&=J4QVBWMWC2C>21D'O6.TG)[ MUL2F&\^VQ-;,W-9>87O(G[ T&W8H&GL&HM Z?/;H6C!'0*J_)IU!\C+JTJ:E M@V"\XGKNI 7D+1#3+0XZTP PW[DHZ[%)&J4]Z58?2HU(X4;8@2N[S)G4*MT- M'*EU4&\%V=OW#R *1TN6*+K<87\'_ /[:25[$;T.,E5<+@\E '391"$/(PD< M.^38?S+!%1%3]#-U[=CSPW8SE\3-]8J>ATM>@2CUMDQ B@UB-\%+-!/!+HVB MYYOHVKK7>T6K;1#$+O:W%0.JDG5$"^P P;!K9[R[M&MIVM]!-ILS@?*Q?6?2 M)AG[2>!4<]'5&B!LM;3?5K=&:Z66,YFSQ$X601 WJ\CVQH8W>/%\00 N\*W; M/UI?6YJ%]5^^-HU<4W8!D4@B&FKGVPWL>225M)?(TBHCDL%AXB6JK$4[7MN%U(>D(3YF#7CV"E80BU:$'TD"<;Y!K/ M8MM!WXHOAQVX-# AT\8PI1A3=I#PHE#T4#F <-B4IAH@E>[5N*+PD9+]KG1G M$&ZT]?\>+(&:4DO9';9ZXT'-RA9'K5Z[H]:DUG3=:S)Z6Y^T9Q7CCN*UK9<9 M_>NK*M7VK Q\D8#)5_^= <.:544Y7&M!50QFH1Q\2$R%?TW\G^_>I^:"*DP] M$*0/L=7Y+;54"+CWJ>6I@'L@OWU^NG?FI ?:XB)45*QY'26D9E"5(JET8Y&F"E8G^\'C16E*8H[=HI;70^ M.AO>W'5UH[_>=D+1F:*S:ZCM/'-74\? M=-9S_!6E*4J[=DKKK'66.1FAC=LW=R/=J#VAG:DMV"51I"A[E0:M3SAFB:YG M=[VNND!?W:_N;^S]YX[%;,Q.[%:?E+H? UE+MZ9$]VFH_O"BGY*\YKO(JQR?3_H7DT9=5 M<22^_L9^W(>A;T\B0KAOWF?F4;R_>>>]:F>S[-/$^X<5E!/NP M,L&NADC4,-)7X"C9$.H["R[N$2\=!N*Z%\U1BXRY]S*@Q"S;Z=,Y'Y)U MZH1D5U526XPFXB"UD/W0N.BQ%2=J4$]=-U"CN^II\V]PLI;4'KK*5W_5"%:% M1;\-T]8QJ@<,7.'2%>)2%39Y.53J*U2Z3E0ZQJRN1NX-E-R[:@0[PFJN!L&J MBY4H!*L?@AUC,%>#7Z.ZX=<+")1_Y-3 &FSE2\;!-Y:V73G-'5$- ?W:;IW MXM&@/:XDR[;4>37 !WI-B'>JP/B!*%@JW#@PVB+<>$PS(X6]OEY\%- M+*32!Z,*0N$*-VN(FV#0[(N%O&YJ-*W'O M*S2[#C0[)NWO4&G::5?DS#\Y$EY5!N". 93EHF%%PXJ&#Z;ALTT ''0P]TP?=8^9'JU( M6)&P(N%5,7S,B/>2--S#N=2#WC%3/!4-*QI6-+Q*PV>;+3_H8)\*O=,Y9N:U MHF%%PXJ&5[SM^Z935$#"@YN[@3X:-)N$R0'_,Y4.P%)IQ%Z\6O%.6*G#%@%_ M'7]X$R?MV2X=%MWT)C]"L+\^!8^6)'Y^\VQ;X>RU,6YUQB,,I\@ @'RQ_+4% MA__S^O?C46O<+OZIW3+^(Q-4B'^4V"3&&FY@6;D#V #B_*3&&&9BD-_&88H# M@(3\!D]O7/ULQ4&K?\3$PFZKX*QR$PNUD\Q9--I[$?^W&?>Y]HS_<3V@_)4! MD9ZOB5D#.%P6S]#2;!=9@LL%KWBVPQE%7##"QMPE];\8O@G@:>YM9JRDQ2=P MYMR,? 2/(X%&*KYP'QSIG4-7>NT.[W6RNQ&0?4?HSELS5S_&U$"687=[?:[ M?&B.S?Z4]T;,G+1[X[;9X^W!I#T=6OQ_#6S(*Y^:>\BJ@K+*Q$2D\!O[\=8. M3 !$Y/-OX M.;T+R(+X/&UH&]A;C4>TMP \V+4-_,2WYS( #9B2X8W:(^S69XZSU*+01C8; MT,_IF3/7C9@CF[YBGCH"RX>?M%>(-)WVF_MWW[[01^/-3]J"L1U:2FUDC;E?V3NDB??3F]A$T"J M*-Q\RU:<&>1M%)/CB=4%BXS!"C0S_YTE"M<"&,GM!$3U]ULVA=6_9LXS6P:H M.F6A !N6#Q_U20LY#EY[06I?K#9KT68^:A/_ MV*V6#$$\D7($E/J BLB_?F:-W8G;Y,6'35Y\0(L_2'X6\L(+Z9Z?N1O-)S[3 M40,]4!^HTWX^>J%0UH"T+=1V+/R4JD._VBYS31O$/:EBJ%T%S=_UJ\AED84: MYD]%D@R4 VDJB4EVB0F%YE*!$=6IF=E4++5)B4(K !6C:>0XVM1&=Y9&]8> M E)Y P,:#MU?2@4NUHBED:V]6O@<%;Z5K_D/TXG000)&1A2@?@B_@#J'BC<< M-6B3GHG& EYAP7OA(5R#$Y@'/R6+\OG"\T.\0BBF+>V_LLJ^-.-3@P?O$VIE M5G^=<,?FJ&*RK(D#6J+K>B$:)8GW T#L6[X8^I[9!Y:1PBZ MYBO_159FJDA/Z;PRYM@S"[1_EHJFH&5G17KFM]L^SU?'-7;NU M[EDNO=6NL,$++#8\Y(T;1U$'/'K;,:\ELK^+WY' X N\YT$P32#M3T#:HF]- MLF'@G_&.N^V;NTZOM9Z7\A^''FO)S?5/N3EL<-=:C]?OOS=YCN:,N8]8'K[I M1!=@W#,?.(C&,DV!$!S =8#(@0,&='_6S6%%= 5P!&27R57H2V$(E.0F8)D< M.'[.?T3<,\!HRBVZC2TZ WBL8*.KJ\ [_FA];>6<.BI MB_TD;[_=!XF?A-S;PODB7"'HS49O%LKG0,\>@>0N"/?_!?=,.I!?M M"1<% A8$FP\??0 ]M^0-2!I!WEO'GY@3"2<:Z OLB=D.G:'P?:&D )(5N0ITPB0%NKTI]W%KLHH,;IG#[%(!J(RA@ MK_1^*:B>@0^B1$^A!O=*\4X$E".J #:HLM$IHZCO>,51KB M,59DBJ?0778:76CM]#C7##'O"^(8>:??G-EN2,&48H!D. K%7$("YP- &GB7 M:S/MRW^R^>+-6\)&8!6@7 NP%>MHELKC" 9PQYHD L[Q%>+U_B1PPN"05G+H9%<;(OYT\DID1FD@1,*B47$7GI@ M6>A?![:5Q-Z072WB V(:$;WX@WZ5-\24^AO0/^X]F@2V98,YHI.ZOJ"OA4$! M;W*1GP$F>%$(E_$-H0.LK:/>>3EFC#^NR*4@ CQ-5L(HW!@*'9E,!%*1"P.) M9F(^YZ()T\1\#A+S>5-4<15W"IC,OH'$[F&!Q'=RYY^Y_W7&BJ*(W4X3XX6= MEH;]=F3,$%!(H^T=&#(F74U8"@\ =336*(#*0B HLN%%)"DM8\PK#LEJ+-NA?T^] MGH43@=[KA7 B-@6OZ,6HBPQW;^54JY8O(!W5'O#Z<9>)-0*1Z M3M<";E>L5.GX4++]4);F?B#]B+X KH&LRO>B1\$PWWW]_)F8$+(48$"^4*L+ M-[,BB$J1_5=S!KJ.PS]-5QG +XA*]Z[U5APBQ0$*F$+W8*90(UJZ)_4.F+5C MLZQ@Z*7T=Q0(-9WTCQ0GXAL%'=)-VVC )H$P]5#5 LN GN=% ML!.,RPJ9*:_$1Z7WL;D7P<'_]#H^^3.G;;7;K;:(T97)VQKV6NW>8&O>UO[? M][O;,\#V790!CQKWZ[BH\:Y'-;%_7RVK]HN90G&CA"U[*NR+,=YGZS+$7Z.6 M!=_(&_5!>*/>Y;U1>X!$X4X5N+.6G;J>_5N0 %QOQ$*#9Y^N%_ML^"4!K7LR MJFM@]U8XTM-IBO3$U^3M,?<@]8^QCOAZ'[0^J+?2'O=70B]U7EP#<;NX41'5 M9PPOC.,[^Q,+4^7<[8EJ5*^U)ZQ*%VS5H>JJA#/XL/C_6O 44"KM:5:VS*J+ M@TD,O=U>[QQTV&22!A0]*DJHT]X.3P^IF!+Z-W]0!OU;1JYN*B5VI#[&XBCQ0)];X5Q8\RNBY5PXJ&W^(37/:S3NI : M]N=JE%C&ABD8%WIQX#D;:UO-\LC&4&7OA]3P5V;I7>'\#Z:*8=PN#:EQS MBXHB\)<<_52GMNS'6FJ"56QU6[17;;68W]P+=O.1UG MR[536VYP<]<=Z4-CJ'>[O8K:M#=L(L#U(UC_@@@V) 0S1@.]VSO:8W!2!&N@ M8-GB0=E'L%S.N_\YSI-+L^2RM1LRFTV4?CPSWPJJ#@+LQ2#V=8,VGD%LET#O ML1(',X>9\T":JV -^7'?<;H>MSZS)5Y\[_M8)$09QZ6YQNCF;C!LZ^U.O]9. M1H5R)Y))%T"Y\N$3DE0"9UJ[G"=13Z M&ZP">69KQD%9=MMKXQ0>O3L"P[,_KOU\,(66-5$,3HV6-!Q*;P_[@)KK30": M@98-E&''9:E=%+T_%M34'!;?JLB/GD&WE1;.%W?Q'[^T!N*V\O[OFW:VKT.V M=F#:/^VL:(L-%=]18,5EFEM5R\ZN*F_I6%X7QAWL/M2I2@S70 =4F'_MF-^O M!O.[A/DJ7J+B)<>[2LXT]:;@UVMF9R> T/5QPW)Z@$3R(G[8JT83J/[0:EJY MH0A7$>[YU)@MA-NO1I&I,^'61 _*#X+:,E^B*?UP?MVWWRJEB6!UNI[KJ)1- M*!%))-@8YY@@R7HAU;T;VG$&R]=D;-,[V=+Y5]^;/Z1] =?;&]U3"YVR!5B] MP]+OL<[MBGV KUO%J(]I[.4A=M3'=VU=[>%HR;#&?# MP'VV+WO<:L]>Y%C:C#WA[]P%*(?V;9*^)-LPR8$VV@+''@& K1W3NO9OJM?O MC8?]_LCH=T;#P[KK?<(VA*+N[]ZUZ"_9'GK;W*[>:+WE?&_4S+E=79S;%7*? M!DH! GD(@_CX7\D^Q#_IA!1J7D^%\WJ&:E[/)K14\WKJO!,UK^=2BU?S>FJY M'S6OIWA>SR'=3DD%DR,;W,<'+PA!+XLG=BQ1H_:PTW2!3C9>T[XV],PF3:T! M#>*Q=:]H04I=<$4GT1DV)(UU=P*%Z,Z]KPJW]\2.Q(*D#[D6J,UK;VJ,.Q5U M$NV.>JJ]:5W]/:I%97*9:F^J<$>U-U7M355[TQ)9(/5-=DA<=$?T?SPB">N( MY/L&AT7+;;ZY$<^2 9[W-. 'K5CA.(]QLVPLHX_U+GIGW&UH38&B,$5AI^E% MN9G"UHG(N+D;#]?G5S:#A!JH.1S6T*L&FH/T ZFN$:7 ]ZI2P2F.0KHSBZBY MJ#!%KEKV,YF[EC2;,M'&K,QZ534P;CUKC]O;, M+:G_Q3]*5!9NAJW9!W+U&[SX">\L*).C_S3*5Z"=Q,.Q)T/!3%\["+&\"3B% M#R^(9\V+&BE*SP3Q#O>XFAGY/G?-I?;(;!=^\37'"P(>%%1$93-7CZF1,MKC MPTJCOO G[D9<%+*Y(7*L/^UP]A %@%C<7\_ [1=41?4;6A75:VER_X%V6*KV M21=/3RP:,U2\';D5V)+I/;I$9 =OJB[9T?&>[$#SQ;;^S2TL.82E,*JM!")D M(?PX=8@,1=(T$*O%114&?8,9Y[=QQXCUA/?C'RI;(JP,Q6!01)+0!R"*E)8(=WV%&\ M3K&""4^>3J6;IB3'0'L&@@2F(BARE8LT\% ?@,L#9]0$N .$H*P:%2=&=:QS M9M'(H,SQ_><_1AUC^":(X11H(-G9XZ//'PG6DR4\Q[,B,]1,^.+1\VVX)LZ% M%P6J15GP73&:R$7S+'YE;D&['P&4FQTZ=R;OT'$+2 M+F,X(!J2B%G; _P"WSX!L@"P,&O \R5:S#V$%6=8=3R-'/A9&)F$^9Y&)4A4 M&!YO@'YV32I2P[=-H@ .*! C!P+ .'@IB W+]CDIKROH5DJXO$V/AZJC)353 MD5R!9%FO[6@@*_*AI1N*.*1@XO&GF)<%%U(;7([OS#Q0)L45=^V$"P4^2L7WO0I/3^ MKR_9Y@UWQC/\J&/P=M9$%CO8* 2MF3;%KUB*+$ M*Z;$X>4IT59;N?F M;C#6VX91ZYF<"L4.1;'QY5&L2RC6-XX6ZJKH:.]L]6%KV*^SC/GFA0?*EN/M M&I6W>08 71$/O3P'[=W<=88C?= _.D6[\H.NMPM#D;HB]>I2M,]!ZGT@]9ZA M=\<5S\:M%:G71-=:RU2^[AR@E7ROY>GR>%1.CLK)J1&=J[P*E9.C<$?EY*A& MKBIAY[H2=H O>O,)-P$5EK7)UWE!YO/+Z3$) N3RQO'@YLX8#?5A6S5Y503X MX@BP!H[H(1:S]O3Q2+6(5>DC&Y#ZW7P"I_AO45.&CJ-[..O@L'1B%>7?CS5T M+L\:1MA_31_WJYI$K1))ZH5BW&*PAN2.3(TZI,YW+Y&N]6*TF8V=<'29??H<,9DBZ^9[3(- MX,K= /LP,=_'KDJB]9;% ].W)YAOPQWO6=?"Y0(1W%G2"[ 9%=/P-F>E1U(" M=!V>D2ZZJ"E5O)&6]A7N"*:2.]'5+-SP6,TSS0A[.S4?$ KQ9RJ& MU6._,D0K@:M!*[M/S0*I@3?.V!/N9KE*B]DWI<_+3"QGU/-N0\K:%>"(S-OS M>1CY[@J6:'.VU!AFXZ4\"P$O+DZYWB("Z%#G+Q86LA40=2;B+*G6YQ1B&09"/:#RZ$.@_AZD7>(5Z9KPW/!KH8^LIH9(%/\ CQ& MMM(>,$>^>W$Y^S[+9O"ZE\SYYDM U1WLE" #.T% MG>FT$N@4*3UB%18B(O&[U]3!4#0!_A>KS5JTF8\&QC]V=^8=WMQ1OT.D3;0Q M^+]^9HW=B=ODQ8=-7GQ BS](9!;RP@NU7/X,YO9\XC-=>^^:!ZH ==K/1R\4 M[5D?DO:_#]GVO[\*O8@YHGD3:XQ3UBLWW-T\[AMT;- M^H(7RV>?H_8DU?:X)[-L\RQ; ,-?:4]6TF[@L!>)0EC0M#JOO8D6\:&3U>,6 M.7T23%DV 8LKQ/Z_$9FTJ+!YSZX&VEGH8?M=H=]E6OZ"80N/M< Z!CD.JAV8 M)("'0&WIN"58+']"E1U_T!:>?17VVI]D[A.L\FJX-R63&4%';9"9#]:3N'B) M= LJ^HH2;(>Q*<6>F.V0[$9[EVQ(X?><"PT]V\L7;$%78"##\PVI^ =.TX%PV"+..)9:6IOF^EUJ?+8ZMQ@5M-7$LN M.L)YD.%6P!J?F&\3>>0;[@<1W,%6^5D@'4C(R&(&QIR8V2$* 2;[?"(^H-6+ M%FV095W,^BL2 ]-)Y.):):L%#!8^,0 PN630NY(Y-]I,NHOBA><[LV^RKS=L MFD@XF'F1@S[&^%7)=("UQ;2T/]&'8W'T'MDNL??-$$V>2P3I,SA28 > "$QX M.)/KR9,H':/819\X!KP7^\73$DUZ$K"AR DUZ?9,W3@(3A_./ROXXM[QCOV= M._;, ^D'OZ+H0%#;S$GN:FG_MWC]=I #2/QDSW66L3,S.3CBA'@'H,^$GD7? M;5ZGD,!K8QF>;>#LR*/(PRH\9G@I,%8Q?@ X(' \#Y2SD"X/29B+D$SQ.8C? M8&E!- GXWY$0X !+SWF2 C[@&<1!X(/]+F-'&F= %R #/!]G2<6:!$,B_#NR M?7Q"9H; _L6?!1,%7$_#)?AX.IDI"^G24* 5;U(B9O:1DK4'Y$]>D',=7@V/ MM1SZ ]#Z2>@IY*C(^K&%Z]I.O==RV$7>?PU_+0E:F8D86,V:<8BF+XGE'4[C MP7N8:?H1W(!;2DXY5LDVJ6+L!\?8@H-#0_!>&KB1J '"784'X:WXTH27;&Z' MH=C'HP>(2#YP@#2+PAFP-0$)'W%:XCP]/BX O@*1&,=*D8"XC!%DU=4C1D84 MA6$Q^AK>N];O\A7+#0,DAIWJ!DC0/*H+EH^+2FX2"YF)'D$TQ^E3_Y92:5.P M;-.YK)2%'S7SJ!&UY(-1R\");?4JVP;<,L8U7%2GN\^4NB-K5$M>UHC"R[Q@ MKJZ>MU% 6)MTE(/#U9=\KLC$VE1]OJS4MQ?5%FE'ZO]&5>HC#TMGL74Q;*G# MWIO; 5K1FZ*WH^BM=T9ZZS6)WJZ^=C(1[AEKJNK"R:,KV1K,5(JV>#U\XP Y MG;@Z2C.._LW=4.\,KJAON"*,:R6, P3JX80QN+D;Z+WQH":$46W)0EU"BZN> MX?SDY" >JTS)$C:Z,IU,6%Q,OK4Q8L\QC!PG1E-89M3ICM]('[K\BP)#SRPW M&CP[13>Y222?RC_3Z'W\!7R( MC9BC ;I2F$2DB&$F)'!&X=*I[I]UIK^0-H%^6XMR8782)#'G@A"EP M"IF B$1C,A#_80<4A,#]RJ,IS(II$((CP %% MF+,@8N$RN0E$(J91Q@5(P)DIS21Y=/(L(--G8.@R >7)MGBR#I\_1L#)L<5R M$"TP#E\JXM[)@V :^2(K92ZN%<*K$*BXASQ>I$<&$B(&808+="P,"2+,=2@< M_[X7_#.OV'D$%%R<('9@2H0B_/'R]-T@+(8 M\)4O0AG6:.L%Z18[CW6%O,]^L%0N=AG8BFP);\F<<)F^4.AFFN4]N[> %IS- M96KE-*,9I=FT0;FLF*VG(]+(,N>2HN++.976>BE7-EN[$I%\]Z^)__/F<@55 M([:[1FR\N48,-XA6[>["$<,8W5106=;KB&Y#S2DM*ZO)GK(LJ.1:CB@MH^*2 MH\N$]B/G ]7WR]):<>;"^V_O/FB=EO;A_N/];^\^O/OX3:K+7[6W[[\^_/'U MZ_M/'[7[CV_A__>__\_7]U^U3[]JO[[_>/_QX?W][]K#IX]OWW^+K_GR[NL? MOW^C2SY]?O?E'G_X6I$5V.D1(5X@$7"?3#5,VHZ"(+9T&$C"96 '97 MSY]K1OOVOY/'9I:TQT+R+\=OTL3N7!GX!MB6@VOLD5MRYDL-:BUS1\^E:^/9 MW;LN^K+6-_U_X/5.)G\:%&8SBG-@81'O?HC\8U2EYK;8P"O<5:?]YNN[!_ID MO/F)'LDG/H!W*?RQ:&ZA0G>UE+,3FV1GDD"3X(*3>P9KZM;QO.](;BD:22C2 M(4@'XYPS*BJ PX<3(9SH&.]B)3MS2,D!W9M4WV",NZ!$HS-.VK6O\ :YA.S% M\=&1 R+PP%(T68#IV4LO@H]8]H?U 5,R)0.>Q?H)*KPW^14JS:O?"9?@ZK<3[MC\B:]^C0:N:2]@+:N_B#JKU6^I8&+U2\&0AIW^A+01V(!J2(4_T#T:$'G&>?E$K,*/*< G (2N1?1F"EL< M:#1 XP$/6U!V#'/"#P1F"O66]A6_V(Q%PF\93?X"8%*K"COX#DM("R9BFA9F M5$%9B+QQ;]+0(MF^QI?VZ:=6>K%M -P6U2*%'I=&(I(1%'$I\$ ZL M1WBCT?+TX$'R".RTV9" /XFN7A:%Q1(V@SM$+FHQ)8O /EXI3'"P V?T;OR M7M?>PVXTXSZ6J]MX\Q[,7E0O;D&+_61?&L7!-3W9_#EN $/6/I8(TN==#VHA M1^(+C""E34M$?0P>L,, H,_DAH_F5.B2::8$IQ8MZ%6"9K9L2@(&RW.0[ @= M8CP3:"%Q,O9F;7U<2_L?8'J2*PA1#A<#JB"*^!BV$%Z/[6MBF4@)D^KIR$DC\E71OBWWQ< KXVW\]!UD\'><47L=6V M;)!J6,GN.L"W8_[M8*S/PNIDPTO,+3(M$?' MFP#CGG'FA#-3U+_)V(('8D+$L6W7]9[(,49\A2T BBWM3XX][<"4QKYT3R!F M%GHF;L*E%>%_YR&P(/@]]4B*TCWLZ*5-? \L*^008,/9GBRTM"R2K $6#CH. M=Q^1%6ZB85!8D&\H: =6.1B#-7E6&OW";A8B%Y>L2ER ,LUPY/U@G"/ M>"S^M;)V%&$MGV+1/3S)1326$CB-0L$20HI_TWEYN:9O M5]!FX:M-L6XTYC$E1I2G@1;1[I%0)KRRW2=0A#D!]0 M*\#BDG)J3 F 1S$0\,%,1MCHO;F>>I**//\1+)Y_QS6LY.0BJBS_G'3X4ST/T!G_@+Q!)X+."]/+O,_D+9BFXJ(6QPM 6,2V:"^$1 M'-M&$"?A%ZI+?I[9#N!_2+X6?+HKZ3_N]9(V%$F#6[_%+3MU4;W\S%-, Q[M MHB@4;3UE\P!!18BB\.-SAJR0 8L@%6B1#J/;Y;OCJW19QBRU;% ER(K(P(%QZ' M5$8G $8QG8#B.X_Y5Y"R](1Q9@*;R*"GF%25\,#4$2P5"XD[M%$XOM<-A^ZV M^-&G%4:2T5E2&#U[U4-&IJ'>8HXSK+K57X'6[061D:R%09)9>X$3RT''Z(F: M_L_PJ 6JTD[^R&ZU]Q_?OO_MD_9U"?K+/"LG?L='NJ2N_N(Y0F]YN/^F??G_ M])0IR:;(*).\B#P,UMY3TPWT(@7>-'RFUAC.(_:CF,TEO7K JWF& M&:+',\[3CEEA-!=2-/,FV>/)P\^9M227"BGI^20$TV4G#;.31VF1='TM-AP! M;<<" V9SDSR%\*41_B.JD*NXGIBB,;8G7WQY]U;7_NO=-UV[?W@G],M?/@"B M?[C__S)'&;MUNV^U+_R)!29@NA_KL6_Y$W6/2I[Y[N-O[S^^RWB/LVVB\RA4 M%2]_CT M_O>,5D(\&MZ@(W.%?P6?O7_HM=M*_ZSN9,2@83B-=8M %RW_1$T!D"8=(MA( MXE]2.;]R;-('AM>[CP__+YSB_]&%.OKV[0.<&_S^^_L/='!?WWU\:Q]17J1. M]C":2YS3M]J]#RJ+'8CCT]ZA79LU"%ZB:E_H-R[0ZZF;]+I:OU1*_3D1^LN[ M^]^U]\F121W\MCB2()PJ#O:B9=1A-;DO'H6V& ^7NW=%?=3J\U^@_Q]P@_20]94F/L M:)=?#K5 #&;TJ9GW$(4;WYH!9 R M/=^DA?54^V=G.&H-M3F6^4M*_&>G9[1ZR5=Q%EX9Y,LC%V;3NB8FJXE7=H>M M;OQX"G:G*X/K\,0) 3-IWWB7T6D9^76.6NW*5GE$\X(+Y8C%N:#W(B8(M($4 MF!VZV7BD_99T@6<:&CU ZE@QD$V"%4D;\P7#K@K"W?N<9K]0D6(VTBZNU"4K M+*HPP"<\^MYS.(M;HL?ODQFTKU;X4MP'6Z90?2L<,IX2'23) M!\!Z,VWW#X0MQD+(%AK\&=CZC-)PZ>H%]Q8.XHE@-Y1@DP371?X_84I69DJT MP- 8)490#W= BL@71;I:DIR?K?&7N*30Y8SH0I9+/$+(EC-H D[SX\3&.;PU MQW)R25SQPVV779%]+Y?NB'(^TL00=L]T!LBO20=T*9!JLQ?^.1*K_8H&Z5:;) MBRYZG&S:%C4;P41**XN3(GD &+(=+D4!15('E6M< #OQ7)<[0O!/N&3Y1"UB M[@PU7DI2[##;TZ7,*RSLR0=UIV"64>*FG *"6W@2"993(43B^4)8Z"'*F3H2%1$FR,;Y-:AG4WR"M"2HH@%04>-90:#1QDA%CB =Q:EE\2I,E\$A] ME4]G*"H$-+.$',',<]B6S%'/9JS9+N $=8;#"F QYTA/%!:+8Y..I'^'GL_, MIBYB@2P2VTC>,N51YJ!(K.J,YJV[2I\ MO)RRNUM:4_83Q!Z\YIDMD]HS&Q$9\[1,.;HI'N5(Q6OZ2GFE M8*DT]@H8IR^28Y&C6FD?'2H()-Z)KZ"_ (OQ7X6IY\34#V "Q1KL :Z_N)ND M1U@D?'C+^%;A_5RFLTJ?L=X4I'I.5!"KN7A'=L?,P66'B1:2Y?PKESLT<92$"-=(54Z(PPSL08__L^00X1]H. MT$Y&JHG!L5GM5_2KT@(1)T'65*@;XP\9-II@9*&(WN)(5)E->V4V&2JS264V MU32SJ28TDK.GXR 7UI;Y-NIA5FQ&%]2:I5?%75; WI?3- 5'E=9J:LLF,<-' MWQ-IO5,[C!WEHB[P4:3%(R?!R!E+I;(8M[KFO<^DVHN6%/EV%*^)::=WI;5G MLM^U9@&UQP:X%.E9(3ZC NYE((K$Y_:/7.@;F*D7ZWZ]-RN*+@; 85/HUL,$BLEJD]>XAI.4ZJ2Z,Y%& M])HW26#-2EV;GKOZJCB4J]$8%;HK]GL\8P/I6V\Z1?- K@2VRP,34>2-\'+# M"7&73^U\%Y-\W5OBT"&]:=>-U&?*_#NR@[3C$RIKCW[B/9_@V'A1RRV;0])K MD!C(@82&#CW"YV*_:VJ!*=73%<>.SYZ37BV!Z!105N4C1R];9HE)DDN04UA% M%>_*Z-],*$'VP9!-8Z@"3:!O\C18_MRCZ;94V.MZ*X\ #3CQ?SG"-[9S8:D? M"B]S U'XDO&#;RZ-3&^(088T =]9LF14=LY]Y"L'7E _7:0I[=O,H]>@9AX/ M*?H!(+ZD4<=/2=2Q"9':C7T^BGG31Y$X_#89)#.F&T./ S3H+-.P_AATKGHV1ZDV*\%!XH7$Y^Z1(X@@R^)PTM>F55/XAXC M4H#HF1"75+#2BE4X4_.[S-DD9= -9,VN[4ZH<\'4I[5)3 ATV;\[016\4J1$ M)>,>1,Q/_HIEN3B ._-5W"!=*@;Z-DS4,UP5%#5/^'!Q!OT,FZ2N)U2LSU/( M*/%2"4N[!N4G &!J\EJ#&V'9Y!\)G^))+_#[O<. 38L6YU^\@#_9C@.[>@#< M ^[BVJP1J8 E*>93HA"^D_K=%6[R2U:G?9O1:>.&KE_^D\T7;]XFG4$ORC?D M8A*%NUB^%&C5>KXW5,:@3'7WA+U@_?_"1W4D(?FXP#F@EG[)M*"D0^Y*YY.\ M-WYMU5DIA9H $V7V.:LP#@>)7@,EV!I9P@D_%)S21>V:N9(]R'4DZXJWE4:S M8G9SC63]520IR!X]!*![&>GU14^VI)?Q;P2@^WK@?KR:'$DEF3R M1]+H39UNT6"2 M>GW2\I-VAR)^[OEA9M"1=-&0>X>YCS;Z\.1X/6&N)$Z@V]R972-!OA?9[=_8 MCV9(V%T5!=1$C/T0F;:AS-$-T'.)"35XTC("QQG(W;] WPH PDSLEXRX8_B MHI4O*;N $#RN!8 7T'-U^D0FN,32Q.[#'R1.Q1SM[;?[N/GP3]*+E;DX.]Z/ M4L6>&'I<31/L8:(8D3-9O&+A_T;/,';UQ-/$OKZR5Q@2/O\AT^F29M1Q(^90 M>"& 9$+I;)PL,_WR,YW]X\H$[1'U8Q=_Q78S[ >IUE$X\T0'=%U*>2(R+0J$ MBQ\[$@:X?NMQ+MX*^T=;WG;CQG$9Z"8P%1'T(K!NA6#B_/9"X@V'68B!2JUVPP?&H6J"1%;\U]R)*(!#[@"N%(4(50ZYP_,>X M0JJ\R.?.=9'..$%%BDOV93Y?'\\H4GQ;VGWAENQ\AT?R,MCDDJ!*+L?^SFD6 M&1"G:'LNR23I#)X;"4<6BR]*GJ1-B* 1"(KW3U &S+"P88NZHH+,>P69.RK( MK(+,*LB\PV!N9J2BQ-"?4,:417MF:>*:N8"-".,63N?)=N3/%9&AO(5W,!DI MH'!X)CR>\0=N'#&=5,[+)<9,&AWV.,S;88N OXX_O+'L8.&PY6O;I2W336_R M9X*,:66@-YV)^%GRK/&XU1\8R+9PPG!6B+R$T3[N4U,0*[0'GJJNQ5/Q,E M^ILNEVF2KSN+'YJ1U[DP.D6Q*\CG)N6!; M&G%=+5[BEDU+1?,BVRX6I-^H)OV#1S7I[_(UZ1N!H;!F3ZP9[XTT\G=42!J. M4=C(8 _,B??4QAVMHLX+A5OW9!2GJ+<2GG\%:/:*8M=>!(^PL"Y6C 23\05I M! 0_78KU3YCY_9%&&=Q*>)@FYV##UP*KQGMAEM=88C?=#O%_.'DJBJE=KN1D+:^;I"0=HI1UF%>%>[TS':[5;[ F=S MD*3X4"U/1_&AVMDF=;VJM-H[I?\U2>U=R2;> M;%65VW4S6,%XJ/>-04E>4'S&)^/3*Z\KS:<;>SC=?FDVK8[F3'33UKL=13?U M/)SNL-6KT]%<7HS7]:J*O&IT3D.1)E1C3>.W3*G_06J&W/W>3MUFD*LQ,G2C M.S[,("GCX*Z[);EQ+PT\U$%YW:44%)I\G,T\4:-OZ.UA1Y'I59%IIU56B[T0 MF5Y>6:GK52_ 1_-IK;O*ZX/""W+G>W&C0O9PK+UUS.+JN[):+V[?)U^>D.MZ MU3^\99?U,*K9VGM/I&Z5U M#W4T9R*<3E=O#]7IU/-T@'!JE2E?UZMV:!^77Z"ZZCJNJM*O9HSKK>1^ M\[#7TGJ7])/D0310/!B#L=[N'NC6N?Z0>0-/=-!N#=5Q7LUQ&CW0K@=E\PK5 MB=;W1/OC_[^]:V]N&T?R7X65S5S95PPC4N]D=JH\CC/GVL3.VL[-W5]7D A) MG%"DE@\_]M-?=P-\2*)DZN&(E)&J)+8$@D"CN]%H_+I[6W^@PCY4I=4KP#[( M!*>B-L1RSK M?(+'),2FI9L-<[N#]>&U\IZ\(<>TH*V-E;):S>JN9D]O-+;T M2*KUK.!Z-NLBG8ME1"F&JN M3<"Q6GNN MGM&6%_5'Z $QMPF,42ZM0RQHR>HE;6-+L+%:S@K*)R; 5>MY/.O9W#A!@?(X M5ZS5*_ X?TO*/5)&^IWMIMIZ9YI@'"G/6377QJR6YTRM3"Z;I%J82BX,5CLV MK8]56IW#;^=5;:7\@*J58C35ZGA:O0*'\Q6/Y'%IR_.]K+#7A W6]F,LZ[MQ MB;TCJQ:S?_I4VD8S3;W1V,WCMP<:U<5ZK:2IW752O%:*K5\;0B1GL?,=CL MX'_;N?_M5_@G:3UEP=CQDGVQ SN,_ 3WPDYB#3B>S3W88'I@GHA-[;=?!P%V M+K>:M%O'_OL;I]EL-WEWV!^V1[S58\-!H]5O#%N\T1DT1EV;_Y]I==]L.IA^ M^NZ];:A+H*_B)CC:<,)\\;0+?PX"W@(HZ*< ]H##[@V M939/2$(D\I[HEJS[,4Q*:(8:\"L;CP,^9A&0:?"$1:_L>!AI0_A@[ <.M$&@ M!'8R@\'ZML8+*(KO&?H>M)PFKYP;T/-=M SM4QQ@PBEL]\19(%M]XD,^'? @ M?9>>GY&894('>+43A45S@&]FB/RP$2M[S\/(#T+MP8DFVA3QLU/./'CW*';A M:YR%\!<8L#\((XQ/E!.AK;\BQ%"F^;1"'L$!A2#&,E F6CYTA4#;@0^S% MV)K=7HZ[J,F)#FG/6]N\J^&BW->O0T3[2!]C7AYTHS MS;GCEKLY*J(V=]4/KY%N2Y5^\VZAN!H+BM5MS6:NG]7GW#*A2WU8G;6I;>M>JKVDK!4BH8 MPU-R=:S^Q@"3?:S-82:[T8%@7P#RP]F'%],!&/S_%O%-R!DL7[I2LI(8< MWF_H_6V3'M0,%E?'U>GH+5.59:OHZIRT]5:G8ZJ4 M*WU[0.<.U@3;LO;*%B#PUW!HVA=UJBTR5A>S/&UIU.^)1!5U#"CQ4.)AM4R] MV=^MEJ 2#R4>1RH>S:YNM7ZPRQX;M @(J!$"7@&!, M"!%P%G);>]OL&DT-7N4ZOJ=K?J#A(O^B(X;Z+9B!1C?Y4J/;N/V!N\7SS M:]ZRLF6E-4&U@4!3*8[YZ#(1.W$8O@.^B% :.%L1LAVX@'T,T]B@,J:P0O^,$C M;<8]'HG*D$OLE7'4W<3)Z$Q#M ,'U@@#-.98\[MQ:Q1/3-<>)@Z0)ELM>+;9 M-JQ?2J^%H7T+G*$, ,&W%5,PX%,&+ 6Z.QY@H$3D@- ]:;$GHC)L$+$TKD/$ M?VP?$5%UB>&+MQR,;CDR8MD\%9ZVT9Z3G;;1E:+3-S?G_51R^IVME"4*3C*X M!<%Y=E(+&C5E5>S#0?"61\^6Z"KAVHQ,T WB]S?AVD6V?7;\/Y.#JQ;3@P3^ M@_OC@,V \MH9D+WVTHF\//)=UW^@52-E+L/1TM WG/#>>O:@%C.%]P_ MC$.8)@]"&36GA1-G-L,>;8X*6Y3W_;"26G)(N$>BI'R@62SN$I*[)6B]&8^7\G00:('?-W UBC'^_8 M"$;_@;D/["G$TU*>"C#A!:KO1K!2Y!F-7HP\8A2@#'UA,GR@:$1L!<-AE1F+ M!CIY]/TIT57,L3(%1J.G,I-4;UD:*C/)*\Q,\M+NN:.ID%J]\/0E E5;\ Z4 MWV212C7P++ZPS%2/-:AL4>T8HPK[E]+@2H,?>PH>I<&5!E<:7&EPI<%KFB6J MA@J\CBI8)8HZCD11E)LDJ^0(P4> M;F^1(V5N,O-C%U,*N$PS 0_C5=\OE&X$;PY^23+V1.BP2I-0)'61GQVYZ(BJ M'\,;9EA9^)Z[3T>0A^2/P ]#G"T,[C %AK>+NF^UC6[[R..:U:#*#JJU_N6O M)KBLIC'5*LQ597A.@=5];MZV^S4-JA*,5NMF*VA-RW%;-59D&-FMJYN]NM;S_K(+Y1Z M*EBTPD>"DA,35P:SP!\YT8IU/!Z56"/-9_9,W6RNCV!Z&16W9M=4G'"0>WM3 M;W379PA1G/ :.*'9T!N=]>B+Y]/W\<4,RY#6>N+*!EM'(W2]K,=[!05N1KJ(C+5UZ3Z$H4LM(/-0UM?ERA MYDQG;!B)D26(T:GSB,#'L02*XF\(B)1?"Q2G$SE45XM&'L:SF1\ :_$I57R# MOSCAB&NC.(H#KL%".T.'>_ W-+2S$)X83G3MP8DFVHC=^X&L&I9[/PPL\._Y M%,B$TTM>?N]$3V(X,&"78]%1F,F8T)XCYY$C\X5 3QBD+"9*S3UQ%NBB$%^>1%/VI UPE; X&() ,XI)HHLI'@$V](:'G+@%J?L)2.OZ M,R+_"=9DLQH?;_Z#36T.FB4#U!X8ACTX0%<@BV;''(?%H.^YKF5C MA"CP(/0]C[OO NXR1 BDD[8#!W8UG#&;?V;"F3T$2R:B2_>EYW+8"HE,>(C$ M_3R,PS2:Q>.0$ <[=X6/CT0\C!#M0 )0]L:L% 5UOJ3:Q-VSV$^'LPK!KH! MN:;L!Q+A'N:*$P\E=,6%X<&W2=/BEI)/\G23><0D205V9<:"] O?&_M(TZR? M$KWHV@,G8 FL&GR,@B\3FZ4+GW "C#/(PS+RO0))X9V^AY":2R_MAGHGPF!O M :)N,K#*C(61( F^/T^.K/$\L$77[D$ V,!QG0A'/"?)<1! WU(T2,:<*9*# M$$ "AS/2AK!TN%UH$?3CAGDL47X^,.Z) ].4A'%CF^=)LT:Z8% PD[]B3X"3 M"%6$@W$9?#190/Z$1X#4N47PDJ[]P3T> &F0H&>%%60G>-92P79*3A4 MRJ.BPNS4^6;;;+7TEGF(^U.%HWB%W&8U]49WRWI>BML4MVT&##'U9O,0%6H4 M;*>,+N@^=_>L8#LUA^TD)J+"[3Q#J+:I@#L*N+,AQSP#2%4G,991Y9N2XT(:-X;.5C^R M5D=V"KW+%=&:N2M (F#^WTF0;1EC_FX (O#C'1O!Z#\P]X$]A;AYY*D $UZ@ M^FX$*T6>T>C%R"-&8?.A'Y"&^P!G01Y@*Q@.J\Q8--AJ1G]_\S>GV6PW>7?8 M'[9'O-5CPT&CU6\,6[S1&31&79O_7_?-;W>$I((#T#F\$!7>K^_9;]M!S-:L MTV^_#H+WOQ6Q5@TMB[,0(8IY\*& 3^)^DM\HGSOG8&>:3I%4;H)D#P>9M%FP^B$-8OO 80)/? O_>P9V6[OF -OX4 MR,$>>:A D=6"^JE!*5"D D4J4.1K@]HH4*2"HBE09#5 D;M10U%<@2:/3I4K MT.0VATH%HZPCU*BI=ZSZ(HT4K]6)UVI%.T$V"RHHR^(5&LUM9HR8IROH)*OB"U%%)2(24K MA6>X%KF=5C@""(GXMIE+9H8M2@(B$:?' H&L>]O((>C*]M$T-!P>7]IW<%AK M<&:=SG#XHD0[*/X.=YQ?MET'O)#=A/X(2QW2M1:A,PI7(@=595$4.(-8@!$0 MLSH/N,2G),(CP74@B-")LE8"<&GS["'TU84A/3O@'H?6H<#:AI$__/%N0*!> MG"-T*["GBZ- :,MWX];0_HH#)[0=2K6U/2JD*J+[+?##F5@/]TF4_RM:(! Z MS75^8/F_ <_A@4_,4W1^PC 0B&L[\&B ")U0KA113RH#XACH$5=GY'C,&SJ( M(N*(M4%(SBP.9CZA?$^LT[EEA@?EJA4NRX,?N/:#8_.Y;L/8E4"BD^8I#"T$ M;HC$G)C]5YS@?; 0(X;S%'$(O-?F6>'&/,IW%=\(;9.IOYQ>=/!E@[^ MMC! MO8^H48(LL9 DB4T)2>V/2HUE"+PR1EA$?Y-#KYDQB>+X%5@3/D M228^&KY.GV?E(<,)2+BN&+ M Z2SB7A XG,V0VM(N^$A+!A*U'.ZIF*:Y8R@=8O[""'_;.UMMV<95CX( (3X M!R7G%/-.DB'*1(CPA+48%#%DH<@)23\@WP$WDDSCAV_[C?D(#(&*E HIQ?M1 M0LL5X^0N;",S$.!'V)HBU'UPY/XE$:'5KW?(.@%:P+[C14[D\!W@@U59SC\Y MZ"+7X; MT.P16.GA=9Y@3B"*F_(O;1>P3X2Q+'M+&F_*N4"(9@T#)%O A2;& M_8%%F@M[ML!>>C!SS;2D<2$T*V@QT'\SYJ[J!508OFP42TRL#[J0-#/=V,T$ ML-2+1PPTIX"ZI@WF60[:PSZ#6MOS853.U!&J'_&UCA?!7PI#R::(Q7C=%$_J M17[PE$Z;]#OP @X=NY&%@A-6@MT(]HL 7DGC7IGQE(D"P*C_:1=-)BF%1FR8 M0),X0,CMGR+)*G-#GZA*&RGLLF"+A7.I18$8N!,Y(F1'_H;;2@9&IMZP>[%[ MKN C9P/."&J;#$(CZ<>,#E8P3WC@+@C@"WO2 E M0D"1)+)K6!J$4T<\\)BI8=SI&K[:5:O.C(-J*U1SZ3E5#RYW MZSV<)OY:>-HJ@3:I)D;@&02EWNRL!P6\C!(J"T(Y/\Z-MFGIK?;Z8X#::#>4OJYNMMMJG]U1^ *L_^C*-#C.MP ML]'1VRVUQ59U>3I_AWEZ5IIZ5;[?7V^UYTR$J@ M?@$\X>=>IENFT>J;F]ZE]WM&O['^VEKJSN1+27>AX7:[I7PF!N(@EW6:_/-" MBM/:06]:1N\9M?DRHRY'N(6-!R%2H2.S*T8^?2(!@RP,.7SN$L!Y[IN<\6J\ MT!*4#+6(JRS *@OP"C A%T!HS/Z;1%B)8 Z$E=N@^BD& M@]"F'.9$&.0!TPRWJ]92Y>_Q=3<@NOVQ@$4-_5,9NZ M:6T*T=C3ZAR].5>H$G(^O-U40HV1)SV]V:MOX,ZQKTY#[YKK0?9U-Q0JH!(R M_WY>.12Y]%^9O7#2[;=.E:%0M64Q]69WTZ.JLA-V=OM@UL0(+_-6.WV.?#NJ M>YCOD2]/OZ5W>H=T*VR=J;T?].Q&?AMJ)2!N'7=M\%O"A M(_/(HE:=8HK3?S-1_'AEREF9[E3/Y8]["*#W=_YH)-2S^-7V'S";G4BI2^D& M;3[B5.B84H8*&$:8I>H4&5T)EY$]LYAIBL FN:1B-]#3ZYP$W8QC*-;M)& MUY 'H \8/ %YLG7,S45 *[&['):2^FIGV;<7\S$_^WPF%2+_K4@!-Y=>F2W' M^=)K>T8[1TQ1@UO4WQ99$GUGZ*3%N%U,@282-2ZD?&8+L85R2M;JOJ'A5,"> MEG-!@W#.F&-G9<(SSD]!JLF*S(-6\;6M>4HZ@F]F# 2"LJNHF^ULL3>6]23WZ;/,VWB.>5<+\8*.:*[3$=1V%N785$KT?-^[ MBG1C.Y$NU$M6CJD*AKJU!*>];B^GU;9"+U-G];%;H45N^71SS;9;3.0NL_42 M$^3RAR;3Y:PSA2M\_;ID6<)$VPWNY*J:X< MT+J^]$[G=IC/Z8U'ML,\ M6U:A/HQ;_IJG^$PWSWW\D0=#1ZH,\EF ^9C+T!Z&,;D9A/D[!8Z7K43-#XH+ MFG[FLA5\FIQ%J I*\K2H(I4KOB)*D6 :\RAP*&UV\F9';GYI M/Y$O"I&@: 89VQY(-C-!GB)^KXE2\E+ \[2WXS-HSGU71N%UKRJ(B#; \#ECM MUYEE(FJ#@;GE+.2SK4=1L+L)#[ "V#U6D^)XB29]7UA@*\#"?8F[4Q:D&>;( MX"^089B1H;A$"C%P-/&Q4J03#EU?:EKL^,SS8BJO)OR6GO;9#Z::V7CWCS3P M^HFS0$K/4K6"^O$3GB2',&.9J!%5Q3??=89)(/<%G'.G=!2HO1+]4[(8N87Q M6C0S]I'%0JQM-4U*M:$3-[!)!3TXT217K% 6',,^6')L +X(>7%?LD92*(LD M45DLGA!51X=S/)VE%URV]E=LCZ4JQ.))3%S2BH,*,B6W94E(8FWAK];SCF$] M=2*+#A-=*'E=5,@2/=I4S6LD"C<6#%X7I:U<%_\/^#W'\E;89^JF#M!&1%'( M;3.YVITB1X&H$H9%(9/J82D!%J9,KB7X=^R+S &P_=## SJ)S3T(32>P.?D! ML2\.*, BF&)\\.4][&$^T%PH$BPIY@>2I@]9T3JL"X=.>-\C4U4<4G$20R<8 MQE,@A;@S%_/"^EA$=E%?"XN1T3XE)R2I[!OHMXK2Z:2B+P&XX^#F#I2^!6F%%N'[L%X;7)F*P] MOWZFXNE9\4/:DD#?N/^MM@?PKK&RQW.H"CJT::[.).4PN<\$>8KV6; M%:B=^)CZ*OZ!!B^V21$R.)@L(@0,X][1]D(3AR4BI79JCDI+]L#Z2N3PX7L_D.66]PODJ,R= M[V6RM#=XYKP!(J63.@2S:W^*"O>K%X7LP].#C@V88/?R38VI#=PX]ABEQW H)]S_"\/ M; XV#[O.##<>.&_Y-"+TTJ$+&08U8S.LNDT>E@@/XS$8D%1O6_HS$%M/EF0D M_,TV)V-,N#?H,3(3A0!-8X_JJ20"\Q#&2[,Y5JO?0(VYHWU.W@>B>B"=>BBLR 4; .W6R;?,3 Y(!6:D^ M=N(\$;X=&D# X1U"]&-1OIYY0$R/"RL_T3<1Z"EZE"@Q]D'W>3C5O,[*QK*U M=M*AHP#[>\!ZWYSJV@=@T]G%7=+;X\AQ04A@#E1XW9D@!<3H'$U&Z868^Z.8K:>>;ST@GTSV=@%E!94 )D7PKL(*@S4)K!("*N*!=NC M$#@P\8S.O0H'Y?K#-$'UD 0YTW7P-8\#'X4;]^00X=ZBUP$744">#X<<4@7H MLLFAD8>DK_Z<<"\91Y## TM_X,+S)/,VYC@-D K:R(W1%QC):[5Y*T8Z!J5+ M&?DZPZ3GM45B?,RWD)(SX'E'HI 9<1^)D&90ZK:#:VQEV.UHVHCB%IZ!R24I6SWV$@""JSG3G5'>9<3)GV MQCGG?/5^ZC.ER>,>FN1.ICW?BX014,H+M7^^*#KI%CBNE-=JM=>JMQ^O5713F'>)!"?H5V =]D. M(2BBW)TY;.]P@G;2RTVR@.E4C @P/)3G8=;3],"A:UF4O$_@"O@=C_ (,QO& M= SUT3+ *'2!4)/?9UNT_%Y/C'81W Y/>EA21KY2WE-E2 @!)$I6=9:NJI[< M3@FG!AK?-H>7":/[)D;KW&RR=V;[A)_2LV;;EK]E]+A-C_K96>ML& DR)B0V M^\T6X2S85)AA)_BH'.G\8S2D4VH\-VYQB,A&3]@"2B* QDX*)[ YVDOB- 2' M"C*H)Q()DK]:R 'M(T((3P8K(DTL8#Z:(N\_(D9\, M.F 2[(@NAAZ&^&-(%XC N[8$KTC,"_*2?&4$K)^:<.BJ !-0+ P1_>(\O6P/ M:*&D6W>:ICZ D9('.#]IA_Q@\3068)D$2(;.I 1)2" .,?OT#<5,[(BL$=LS M,;+##*@"C>#M.OE^L"0(S1VL<=@-2'5_(&^T)9 =21;N&8VD. M\'&30J:V06X>=O,06!K<%3P_'U1.;CLY;.GQ"0OS_@WA*Z'B.H'061(K]J2Y MS@\NPG&7VNN;S;[^K/X%7=CRD"W]IQ>+&W!B0.W)8+*, ]I+Z9*&3V'$I[H$ MD.'%X 2T-$$F43URF+_83*1/$QAIR+P$Q@^THEB[!'^HDW,C.:H+<&A &-1T MH_8'?PFRAHFE,S\4VNFG/ +5SX<,'?644V7"9?Z ;)T0Y.JZ"X^3FS]O#(HL M%D*3YT>>#')QC/DNZ9H">G1&Z'71DST\LR$R )[-(Y(S@Z!"M*&Y3WK9/671 MNDD&N0-EB]^\1&0%.-K-==/?B^NFTU"N&^6Z.8#KIE])62O>H[^=W=QIEY?: M.^WZ[K\N;K3+J\_7-U_/[BZOKY9)65;PFF_6FZH;4>095_CRNE:6UN0F,PWM MR\4?9U^$?^SBT^75'[=K=HSZF#_/H9&_P)G4%3XRCCLY(JXXGX,*]XQ\N)H, M7R. L+C\648'VW@/:N^$$_YG>@Q8AL<788?+"D'G&2'8R*-[;$)P9A!>4?M\ M=GYW?7,< K!!^ C!\Y+HH]2;Y7ATH/1@.',-')R;<&>%CK!.,3++%7G/]'U$ M>"1 +3RPH[,NYZ:]O3BG_O@@ $EY$EX9RUKICRDK'WVU2:R4#\O0OE_=7/QQ M>7MW<7/Q2;L]^W)QJUU_UB[^^?WR[G]Q3;[?7-Y=7HBKEN^W%_BEW%'6W+=4 MQS]TY7MKX!2KQ[EJH4MR7==:PW65/BJMAXQ_NOA\]OW+W:WV_=OU%;#'U>7U M38Y+-O$E58Q'MMP9-K3H-V&A]A&R4,O0OEY>78"B^7P!^B4+,E"PWRZ-I. MP-'$I# 5>7_WJ_/XP?.]JW@*#P_)Q0ESO$&WS/"=^4;SV!2FQ8?V!Q R)!C2 MRSP+@C/;GX$5^]EEXS>:. :"2#Q&'T;.([=AUF[(WY"4A M/"\$"?J?!0&>7Y*8=3R#^REP E.$EGN(KK Y S;$H>'-6>YVCX[EK4;OA)WB MV?R&CRG8 (X>M^_6!+8IEWJI8I>-O;C4>_N)X7W&I0Z3'+X#NF$NGP\"^O'T M<5MKKS*^[9R??6Z"_''B#)SHX\$'6%?G^P[L4EF3JF-H%__S7Y>_7][E?&,B MFBA57P$L'!8NOL;4;F[6TZHQ=8U&K[NG,35[FW'!JC%A$NW^^JZ>*0ZXI@:@5$<_ MI9A:KQS\66Q1&IB+ QZLK/.W/+O">G.EB/#SRJB7(\$G2N1$>:]^RORKQP1X MH?!:IXY!^\4JG+\7_)%PJ?_M*"/!9W+5]@J/T' 6>T?&))08'9+Z:$JK5 MSVBEEJHVK=12U::56JK:M-K^/+*Z)OE*#T]3N=^V=;_-N/>NV32MUJ,<6=,T MC4D$ED_3-,QE+]M//X5-'=MV^:$JTJ=)GV08PK; KIX-*[QV&>?B8X0.]STDL25I?!+,/S><=61O* ME,:!2'Q@<;H#@2N3>20O"4( @AQQ+W00?/!['#H4NI_EIO@",AXS$/,3YW]^ MO_ERFA0?"3_ )Z=4M40$:9WG@[1^9RX%6M]..%]5D@O50T&DRHFSNMO;+.)K MKC#*!AD.\:V;O@@7(N 3I!(HU$N1&?/DBQ^&I]N^N>RK;[%NW<1W026'DA&T M"U#4T=.6;[XO.V=,>OL9F',[XN)/)_ NC/^CN*@5+\WVH=N"?(MJ?U#[@]EH M'6Q_.-RLSREOS#=4O)1'B(G,29]8Q#2ZKS[)5#D6-4#=+(+ZV&SFPA10G4?L MT??\Z1/EXO9"D9PU"^%%7#)+\+D)" 2VXU,E@'L3P/<$T'L6,]F>1S"V#Y'E MIY@1_U/[' >>$TZ 33 "%GFL&G#MV@)#5V"XS?U@N%5&6Y46I0(9;2LB:\6( MG]O+/Z[.[C!Y[=XI][/5A@C8K_TTOL5!&&-*=YES4R:V3(\CI9Q/XL&Q$\*> MX(FT?G:,-6@2EW M#5^(99WG2.CN2[?=_W"U"=$.$I)P==OJ[O0XBS._\?S_OSP]0P=-Z1 M$?O(E_>"SN8*#7J#49HMO2L.2'\TZ6."O:!/ F]$IL3;'PZ)AR=[D^G@W634 M&P6_SPX&_MO]ON^_\0;3_L ;#7WL87_0\][U1OY@,)GNO0G>&M [>2#].5E@ M!%5C\N!.'G;F2BT/NMW;V]O=V^$N%[/NH-?K=_\\/[LR63M)WI"R'VNY[R8B M3/,/N_KV!$N29E\2MI8;KJ/%1&#*_%V?+[JZPKWAL)_FUVAT"SYE4F'FK_ # M)3QUOR2R7 9N=_5MK6?@]89>IFDEV;>+]KQ>WQN *%9*T$FDR G0=TRF. K5 M82=B/R,L8Y>H609HTNEEPHQ K2 M4RPGIM12*"TV[*"8X3/N8V4<5^>4D-54L)"_2T(E]96GKW;O9-#IUM<:26^& M\=))_IGQXTF6'?06V57];7#5=> M*O<89+OSOA-U^<1 M4^*^3I,H$TDO7!K#&EA J(ON-+O^T5@G\0,7G6EV_:-$)V:,*R.O4Y*TY9*R M*8\3($F[[D'JOU_)-!U%"J-422=A_AU@X0L>6GJ4[E+P)1&*$ID?X0S 7)#I M80>Z;B_MKO]:"K(+!4ES%/#7VZ"^#0J(A%'#5/"P\Y'# MY+R#=-JWKZ=;)U1&;9P_!4PA,P\\ZIF_/O*RJ;R'C-3[[F;>#91(DN""'9G? MFTTZ$4ZR;!'BGS 8=ZLG(U)T1) M)Y-;P:Q\#("$*[ F61&28*(\*$I040S[0EC.QI=80/7F1%$H\*.RMXYLI7+8 MA$JTLZ;E==NI71E0\ND%=-2FC ]NE!6H5DI']2C-X!&?HDS!"YF9V3_R!=1P M#GGH#3GC4IXRX(P\)K-5*JPT[S6A>4T;VM'Z7J-88[MX+^7B2G'_QYR' 1'R MT\^(JOMC4.M3Y4:X([:5Z3=%IJOXS6OY#<5ZT$ZBZ:6?SK<[+.F'2%)&I N)M>"L]+W3 M2Q(J_9#+2!"XR,,BP$4Y8$U="MTBXJZBQ0*+>^C[Z(Q1Z((P4V/?1-,HFUV" MC_NPHG6@KB:@E;S]3?(28-.#9M HPT8I>(OH.V4W1"K3]X _GV J_H?#B/#I M"86&XU,&FI5/1%AGX%*:S$YC!.L[.UL2LAAX573H3;Y&QH?-< MT-60"@L(/6)A4Y-#,,K^&UB)OBPM]EQEL4MC+QIC"[S4!^ MDTE0H$4$P"P^6NA2@+B:$[$6 W,.Z-5!LU+T=I.B'"HRL!N1NM:%Z.(*7^,[ MIQXL+V4EH;"$CZ61$6^1J;\0%==\2<35' N7UE"4M9J]L/@&C-3T@((,3(O, M#[-P A6 J7C =+'Y8)XZXO[\W&KTMD%4_CHAV MTE]MVI5Q"OU=XTGH./J[HULY+HF:.(<7T4ZLK4U4EX<)RU.=F6X ;B6Z$+2I MBD]6WV@AS9MAR,WK!HVX%J"5SI+0T$:TLR2EA02FH4EGHC8$K804 D0I0!NM M7HSK.-N_$L+*1*T 41M9J1';<::I/J:5MX91HS8R68A+./-6A6!EJ1!6*HMO MM)$36W2BR52A#J"5L4)$JF[0HXTLIO&(]+\S:Q4 -I;>%4)3*4#VHX5TU MI MC(/ *,1A9D%Y3!2FX>/'3[8JL]+\D)@*C(@KW3D0J4_ &O5M\@RG:,AG(%IG MTP?"B>335@W!WFZJ[,48C_-G&6E^,47;!QE;>B*^)&@^ME6G>T;$P2']&]B MNH%++DWIGMAAFA7&ZE4E(:@F7I7K;K+BP804(%!60M,_H;2,+PYHXUP?1Q+8 M5Q$.S[%*K/IK!KXF1;$Z7R'%>1L'FCK=*BV/.>L)#\82&QK#G M!&NZ JQ6*$_L?$V+8W7 0I2QF0-FZ4F,WLS%LB*BM(P(JSQD&_VP? -,VYTI M+FB3)5]M2*L_%**7E=MHL:LD^"]$K@P#2UX1D7S[?"P^JY&MM!;"G5MH3=2L M-=\7>E,#70H>1+[ZKA<13#\>_#C<5L!:B2U$1;<0F^A J9)6LFK;N6XRD-=# MM'&Y7W:L;V/KNRRMC2RFN]+N;&U*6EDIA#JS'?$6&C[_Z$Z3IE*4MA)0$B/, M4%I)PI9'@+[R>QRJ^XM)2&?QFV+<66H$;Z6Q$+W;^NB1WCF*=:&B*R5GF!)DCVC#N7UH41A*UFO<2+% MG6D'4"N[A=!5W7,N+20S]\13[F>3\7,;CI6RDF!/]BS5^D4;62H<)OJ I=[& M#HYI&(%7?\*"P0 ET]ON_#758&6V$+8I/@+W[Q3:P1I2KSIYY>N!=D M#).10-L(NJYL0^<1*-\.;&6ZWL$UZ(US:O([4FTDUW8$K=&:OQ:BEK_K8FTG/8>M=E.1FJRE5X(HU)#SM*1*1C/JAPV-DJPF@8Z@WO5,1\ M(>< QD;*@VOSCO0@BM^BVT$R GRJ(GWU6?!H>=B)LU-%%AT4OU)]]>&;@X O MP-U.X9X&RKZ\L%FE+YR5G@O87BN;U#.HV/5<<"B,K_CB?GMERG(^@PI\B711 MLG=(CGV8()G6F:_(%(Q7Q/5_B^2\]P283^EEF\"0B3=7NO4"GQ'&ITB>_C1[7YV/\944%@ M%+S1G\& UF2*+58YCHF1O0C/SYH-?;V\ZN5>PY4%R,^L."4Q"L8\'Q_U-V#E.&1;08 M,Q;A,!%(>:TD_N' S]4=OA/]>4(2C,&/\8S$8\C%-&Z^%Y$R2T?*9B8@,UX% M@,:)G:KR$Z*.+)'6! M,[J@JM)U&B#9ZQY_7$[]DIXCUP@^W2G" A)<$[&XF*[Z!H=F5(GP1/RG0DUJ M^T@]QT/[B6?"?5*-_T98*"+"^P<;I!KIE]O$+!#C+]\=O?H'4$L#!!0 ( M )F%IUB4Z,/9C!H ,[[ 4 <&5N+3(P,C0P,S,Q7V-A;"YX;6S=75ES M&T>2?I]?H=6^;EEU'XZQ)V0=7D?(ED*2U[-/B#JR1*Q!@-, )7%^_68!O E2 M() --JU0D 0(=G]9^77E45E9?__'U\/)D\_0S<>SZ0]/Q7?\Z1.8YED93S_] M\/3WCZ^9?_J/'__VM[__!V/__.G]FRS(Y.NO&G@\43R:4^^]C9;[OO0>@D(D16 M!!2FH0(+2@&+R:0J?=)G!XO%T??/GGWY\N6[KZF;?#?K/CV3G*MG9Y]^ M>OKQKS<^_T4M/RU"",^6OSW_Z'R\[H-X6?'LG[^^^9 /X#"R\72^B-/<;C ? M?S]?OOEFEN-B.>K?Q/7DUD^T5^SL8ZR]Q7!TE/CNZ[P\_?%O3YZLAJ.;3> ] MU"?M^^_O?[ERRR.8'A^F+HZG^;L\.WS6/O/LQ6Q:8#J'@C_,9Y-Q:;K^*4Z: M$!\. !9S%&5YZ<7)$?SP=#X^/)K V7L''=0?GN*%65,Y5RL\_[G!19]=8,YQ MDH\GRR%Z@Z]/+]W0T<.'KPO OU@-V1F R2Q?^="D*6S6G?WE)":8+-\='<_9 MIQB/1F_&,8TGX\48YB^.NPX?DY'EP808!+-99::-L,R'[)F)LC&;>UOSU6%K MLLU1N*6B:YRGI;9/;X%:E^H93!;SLW?:$*OE\-Z.8C6LV\OU/.?9\70Q?Q=/ M8IK F6S5F>**YXS[B$^NY(Z%C(]O F5M$JGZ7(EE6X_DJGR7B/.\RT]F78$. MI[:G3[Y FX9.9[D5K-CE&XRZ^H2=?N+9_/CP<'E--E[ X=G?UVYV2,J!Q8Q\ MZ%=:1CD(:- =0UDC81 ZRHK"E6 2TU$4YF7)+)40I!%:U^CHF; >S"9DD(^6 M# 0*(./#VR/H#:AAGZ0P8$AC[=;[ X MDUGBXV85H%N74%QM:V!)6,Y4S86KK$VLL2>/>AV>(;E2=.0@TP 9)WZ9?L9[ MS[H3!#+*ONID F>V%$ $RK+(A6(@I?7UJ"4F<')ZNSB [JJ$R@@HS@&KEB.PTLR\DQ4E#.!%*2XYZC!J UA# M\HWH&$&M#SH#\3F.)VU6>CWK/J#A^@#YN%MZ@R\A+2Y>G?OV4KA4I$1G7FJF M!?(ZZ200LU'>J\2+M=0VXWX0-R&0>70$ZE-/9&2Z%$N,9*A*IJI9*.CA:YSJ M6.)1,9=5J!!\SE;TEXHDE.0\>/&\1%0?DS+CB!I=F>?2, \J287CS2UUY+!= MNND!,9E%%"!!*2Y+N M)\=T 6I(7C,5(V@U04>09K,OR7@)C\X>@SN5$(5'PG*O6# 8Z\E:53%!^*C) MLX^WHAF24TU&"9JQ[S?=> E4,J B]Y8IJ3S3.&>Q9&1A:.*3YP9=.?)T]#<@ M#_)Z7W?AO%M_7T.2V%'*1@,3;U@4%1!?GJ'463(+('0A?/@E*'.$-\) M:$B>#0$=Z :?,#F\B--/XS19@9@C,5]]S9/C5J+W\VQ6OHPGDY'1'@.TML!; M,2C3M0;FB_&LA.*YLU!$I0Z%-\$U) ^'@!WDJB CR?G=94G@=*DL!?2ZM4-V M!A4#P_"L&A]JU9G:6MQ'V?M-\^VD[*V&E#:R/679A?><:\U!B<"B<>B=6.U9 M$*:M6%K.XEBKYL?%Q).(@$89,^9+M"JGWU M:U2@6!^==M3/]AUP-N& >SPFYS1K& K!P- MBXHFHIQ"L^CPIVPT8-P>A;?43N#M:#;A@7\\/" :]CY6<# \^;"8Y3\/9A,< MU7D+518G:)ZJD8%+IA,&J]KDS**O!6V4D\H9[]%J];<*LA83[:I5,!AV&Z84 M.(8#C;,P2LR@9G3"@W95E7VM6@UF=6=W)MRQY'.O(2?C^1IYK+8I)Z-820D] M:2X$2PF%,CII;9VP-E'O+_@6EP>SFD//@!T50$:$%[/#P_'B<%FP-VT;>%HX M#M/^ ,Z3<1Z_4H%))GY.%25QK M727CT!*W7F"\5I"UQMKJ$\>YRU(O[] ;OO>PB.,IE%>QF^(0SY_G?'S82 4% M_9)Q'B]&05IA8I3H?/I6RH\2!V4-RSZW[TI(3KV(\6U40S*3.W+C.O>)54*W MIE7*N(U&G+R+8_167\2C\2).1A%2X"D:9B6T=7B5\#GWA1DH6BM1N24OBKD% MRI L)S$I* :?U&#.IDL)5W7MO@:=G7$L&< I.0M@22C-4N9:)FYQNB;?:W - MPY!,(['N=QINRFT$9]/0,GN%J(XZ.(#I?/P95K'KF]F\A:UO*P:QHV2C#6V# M((>85Q)'*,!,J2X%#3('\FGA?A"'M%9 /5WTJ*QKC/K[L^O#]P9?4W<"^+# MKTM_<%9/E\SPMUO((R*R475FEE2;8N/P$D[)7S) MJYUHO:@UR,9DM<\%%:N67+=58?TE1D7@S6*PJ/7'S*KM6!L+32:!5<, M4U49*[0OE?R)6P-C2*[V4)FTJ_;HUNH[O/6[;E8Q=,38,#B%$0*O'$/'5 2+ MJE7*!B&KMY U>=W&I=OOGJ[XC!86YJ,D7(!D!"O<1J9=#,S;BLZ1\09PB+,A MS]2>W7M(D^BVFKV9<]AB7 GCR3GZH:<81D'%J$0&5E3 1R148#Y)R7P$'8/G MWI/7T5\!<,^IC3T*!6\_Q&1:QF#CTD0HK<>0%5J9 U<8<9C(8L&PHZA<)8_! M2$/M$UT!L+NK=VI,3O=S_@13:$HR*53?]FT* Q4?H&19@,Q9R=&EFE(TY L& MMT"YYSS5+X^W5_Y-_VSW@2S1];!>EF@-JT)9IG/TS T,V@HM&TM>_#)BBY7AKYQR* ,"!/V'7'LY@17 MI431!I@S&L6*VK?6GI[9&)TP4PW^H$/ZP#N:N^;]2P;CG*] 0^-0_S MD?;90G"Q&AX LVD MJP6%XAB\M^IX\"H%FS,(W=O6E?6:WR;BG0,.3FLN]1*]]\ELN5?H].KG>P&> MYW\=CYK$?;PD5QU*FB'> .))9XP$D# M_1&,(&5B5F=I2^%.>^J9=3-D0W(V::G4@V8>?#WORN)DLT:GBQ4]+.[==JM] MK?1M)"K1LM^:-=_S]5Z3;-!)*99*P9C'MDW'&3(S@L?"I0V24]O3T/8C3KM?[5MU M#9*[X(S'B4]6W?;1H(RE95"+38*#"]XF:@^0J/)D7_:I+XJ0ZV>_S"DRZ8R& MF'$KT._2.3 O?6!&?WD$WGI7S\>+50S02&(3<%DH+1GO2&%:\S\5E@7,! M>93=DRQ#FL#)N;KI8[I70NSET7X]ZU!CTU7?E7SRL8O3>O)[,OO91*7EQ\;_'3>G&((J;6E1MO\*Z;?1[CU7XZ^7W>TC&KC=K+ M# W&V*L=BT[E&&Q-K*BR[$X960P\L!R$QTE/: SDZ8.,#='MW!TJGBS'^STL M*X@_SI#V?XP7!P) MO^0((2AO2@7B4=D6Z]!6Q_L@WHW64_O0:R^-*=ZA@Y''1VWWRTJ$D= \1-4$ M-P:8ED8P##0YTU6H5)00)E-3[4Y @UKAV1.?Z#1$V=@N Y3ET5=)57IC7I77PT3QGJ63.U(G4>T(YHMNG-$TGQXG=/6-2Y]K64 M^.IK/HC33_ >S?RK6B$O1ID;!S$*5J,43+NVP\LKSR(XFVN MGN>.N._5PD) M%A'6X27T2HNKI<6!"E,@W<,%]289"5D]$+Z2)U.F!S=$/*7@V8XVM6 M-/I0/V7U]#I\[9BA^35\LF117-4X==96,L#1\1(V,I633:"5D>39JLW1#2D# M]?CIN:OZ^Z;G.FLK,&84,K<3SI)O3N*/ MGYZ[JI^,GBL1W];+8K^=[C3 HPA"H5H=AK:B=6%PD06O Y/:)RD"YSI13[,] MB#&D\. 1$?ZA"=7WQ+W.[S&YNBBY9KP=T*&Y*2QYTTR,E^+&FG!]FZ$G M['M[U$$>+T<$?Y[ Z3+@\\-9MQC_>Y4"+U+SFB-O'5Z7/;DM\QZ]JEI"*$D) M+30U*3;!-21W>D]T(5<77=GT^M43I+*.%:?T'+W$>+%BO!CPI\Q5RW %GQ5U MZF7[-:\'3C-3DX5 )?2'+O_1X=B\G'V9CGR-097HF(BU]3LMF27;]K &7[(S M%26F-JDW40S)!=P3+79417\MUY?-5/'["WQSC#ZAXM6KY'CK ,Z95@7G,6L$ M?I$2/52AG*%>7_@6IB&=NK$WDT.H)MIBMS6BGA7)G!?.C'3DBELC&<\:PPN% M=M&G!$R4+(!GZUT_9=";@!O2R1Y[HE,_BJ-L:G MAGZ>\^QX&& MM\FLLS U*6 )>&0:Y40TTK&<$!"7:(TEO?-S!Z![GBOR%^7.MAKJD33O.CB* MXW)FA4\W.9XUZ#L]@D4*'T'XS&0LHK7+B"P)AQY^BE4N6\!(ZK91VR'=A&;A M+T\SX.7C<(22*H0:F3(BWU\L;[U7/3]$(4D-3DJ?VO$[#9^%RF([1%W%[(N1EAORX_^V+239 M?I/#Q]EIXXU;#V8>\6RXR*6R((&WYC@8V*=V**=34NI24U74S^/FZ![#1H9= MR77;1@9BW?521?QK7)SNEERZ/"?GAQK%R63^MC[_',>39JO:[HLX@8O-E2-= M>,Y!!U:TL C=X)\9[+7'^I&;$/+9)3[7S: MOOU9> EI,=+9B>JC;EV,"M,8\S&?JV]F\_&J9&6!C\LV^_'W (IH'_^^AX]H M_W^;KBXU-[DVK:W',_*&2VLAXD/A6]V QE C.<5, %6MK5EEZOVDV^#=KZ>'<_7W_T-S.>7NS'N+!R$!8>K.+#&?8WW9O9M-/T(W0:Y;:9\6J*;GM M<8\L.I0A"BLE))X]^6G M!(,*6I_9(3>B0Q[(O1ZY)?.B5S67V>)_H9.CN4H M6^/NBIAM:IWY--0JA"N9.K@G@#TLVW9]3&4HPFETG:.I[9 )E5@(I; 4C-2: M>Q')F^+T*M!CMWR[<+Y?0[@+^EJ>TH.; /I(5(# M.P\=46+@[@SGQ:M5.\G%"*JPZ.59EFOK6LDE9TG;P(S3.47T =$)))[E[@EQ MY]/@[[S=A;):>[GQ].T4_A=B=Z[M$<9T3@:G68T.'78HKM4U%R9]2%Q6Z<%0 MG\RR&^(A.3U]LO'&0?+[TS.9![,IYN=U 1U"_GC0S8X_';P>?UZBGU_ U]'$ M4%KEO4@MI/021TX8)A.Z7L(;A6\_$$V_"7Y(GLD0&4NK_=[(>\VI6NUQ;;L9 MYXN?XGP\'YD2>;!6,F-QP+3EA06N(SYB+F9M:S&R[ZGT6Q@?^H&^@FCD7)!1 MQKLW31=,:=7<0)9E%*S4,!+Z;Q,Y"V5;P73[PQ]J5C3034Y@&="FL1T])HE43,3X+5S M6F.<\U Q_J \!!+6W&]:W5)+I*U]EP6_5_I[K1N#HI6J1A96N&YGC]>((0:. M!D\B^1RTX9[\'+Y-P0W*9O?"HG[TU+<-_BE.6M?]#P< B];49C9MJ"]MV]W> MCFY\:2);N)TH1/;LO ?,;[!HIU7Y'&5D)B-Y="B")0^"1:>4M,7)[*BCZ,OW M)VLM]#Y^0:<2.G095H%:=".><4Y<[P=2"RR3*J7HV9O S0D)X:&'VL;EI'H@[;YW>W2FH13 MGRJ>.6?;?J5D6*HRL*2"J"JDJ#-UEOQN1$-R87HD"8U&Z/K^HS69G0"7$\7\P.H3O#=G*&+%?ME<))SLFV<.@%9X$GQ6H-146+ZD[D)VEM@&M(77S[ M(0VY=OI?+5O$Z:>VU765O[S^>I<%K\VN3+9FM84@1!YOBWH6\&;\N6U-OGK; M%EE9IQPOZ&UX\!@A%Z.9#[PRIWBQ(F@M%74&_6Y$!,?>WG;UG[M6"-T*G9U1 MAD4N%+I;*3+/76&9%R%-A9HLM?O[+4Q#\H )^;+FO%LZU5">DWP;JDLU]%=. M1PC<5=,*"7QMM?T6'$OM?%6C)4^BG8;IQ?XH= O*09VH_#"LHM!?WT8.Q5^U M13^"\^/#QSE.R\OQY!B!OXK==#S]-#_[]?9&;]L[$1E!$D&)C.(?2](C*SY# M%S_!;X@6NK?U%,GR]O.WQXLYTJD=?C6J(ID\% M<$@&M4^N79\+^],B;7?75IP5)R]FAX>SZ0K<\\6B&Z?CY:ZDC[.+8V=.&^ \ M[[IV3-RRJ&M4P*; Y;+;9YN^=3L"46=F5&O27DQ,Y"W4=D<]I 36/BFY9WWO M(28%A-]&9M82=N.E28-5^^TI+':*23>Z,EU,>G]!B,SO;[/I[*RA[\HG..U? M/JH>>*B%,U5R14

CL_>AD,G.FO_XR^0RC\=Q0FJ[;?%B=K4SH9\]3BVK#HQ1"D:8L-*4( M+KE>@5XQ^)@3B0:.UW#&,B$UB A.69HG"TDPP=.P ;MFW>N=_6;3#<8BR4BZ MMF]>\!90U*&0R>L=K^L&GNM\A$A(*SCB*B0Q?"WD \/:1^&8R' %+:]N>TP= MB,)U,1(V>&8LS"77'!4G*87)5;@BZ9)A=TH2KI3!OHVG %W!J<.(D@0FL6(* MS52'\8IPB:8S_SB+4!R*U_R"P32*>(BXS":GDBE.38-$Y8WP4LNZI1Z3Y9(S M^)RSC9A#GI(TY*A>)>8V(TK,C*DO6(QO5 CJ/B*2;98 S)H'N'W+)6ZL-$%:PI@1N2 I4\[T*F9K&(56,Q.D=:03 MM%=G/WALO 89H13G!2=FD?9;FUK.4V,RW_'VGRVFK=^[0:7(,[3X&[;QVHV. ML<4<75!F4Y3'F%HAAD5L0GH3YI)]S;ED9II2QC>W?+Y+,+4D>)U=^G;CU.O, MV&1%Z5FOWVJC3_N!"=C_W?H=W=,.=4$.2E^M1ZJ?(XU!YV>80TP M[JT;,HEC0#8$@T6C+ ZJ7A;*JIB@0,JM:%-W<%4>%]$A,E:,D.I6H0&B[2M% MT47!K,HOVK+72H[QK8OP!-/<,]]\>:?\).)\C#P[0JT6I M/B;K DZOZ)R;VJW)(F85KH60>,!P$%Y,,L7\ZD] NQ3$%9#A9" M:Y'XQG<7IB]ATRY'+UL."G)Y%&OW&OU.RYS&-'I)TVKC\J#6L >U/4WOTOK[ MC;[[,-EM>!O:GI5=R$<-%,;YNUJK5C&4J>DWLROP;IXK3+;>44)D_WP5#]"V]*EIF:CLJ!$S"E4V%^,*9ZL_HO1\&\.FO?9H(*\*0&V M__ZY75QCE7]SXFP-W_^]M'FB\D_2[_;INQH#G^7 ZE[WW^WG X>O6W>!&POM MV3[WR!'C5O955Y"94'8B\R6+B2UR%G^ZA[S4(6&'>YOLOR%_>8Y;.X M5=VSM[E_ %!+ 0(4 Q0 ( )F%IU@K,\FQE0,! /F+$ 0 M " 0 !P96XM,C R-# S,S$N:'1M4$L! A0#% @ F86G6,/46E5! M"P -W8 ! ( !PP,! '!E;BTR,#(T,#,S,2YX^P8 % @ %!4 $ <&5N+3(P M,C0P,S,Q7VQA8BYX;6Q02P$"% ,4 " "9A:=8E=4=ZTUG #[TP0 % M @ &H P( <&5N+3(P,C0P,S,Q7W!R92YX;6Q02P$"% ,4 M" "9A:=8=^:WJ0H( !7)@ & @ $G:P( <&5N+3,S,3(T M>&5X:&EB:70S,3$N:'1M4$L! A0#% @ F86G6'T$[YH*" AR8 !@ M ( !9W," '!E;BTS,S$R-'AE>&AI8FET,S$R+FAT;5!+ 0(4 M Q0 ( )F%IUC7]ZJ XML 74 pen-20240331_htm.xml IDEA: XBRL DOCUMENT 0001321732 2024-01-01 2024-03-31 0001321732 2024-04-23 0001321732 2024-03-31 0001321732 2023-12-31 0001321732 2023-01-01 2023-03-31 0001321732 us-gaap:CommonStockMember 2023-12-31 0001321732 us-gaap:AdditionalPaidInCapitalMember 2023-12-31 0001321732 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-12-31 0001321732 us-gaap:RetainedEarningsMember 2023-12-31 0001321732 us-gaap:CommonStockMember 2024-01-01 2024-03-31 0001321732 us-gaap:AdditionalPaidInCapitalMember 2024-01-01 2024-03-31 0001321732 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2024-01-01 2024-03-31 0001321732 us-gaap:RetainedEarningsMember 2024-01-01 2024-03-31 0001321732 us-gaap:CommonStockMember 2024-03-31 0001321732 us-gaap:AdditionalPaidInCapitalMember 2024-03-31 0001321732 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2024-03-31 0001321732 us-gaap:RetainedEarningsMember 2024-03-31 0001321732 us-gaap:CommonStockMember 2022-12-31 0001321732 us-gaap:AdditionalPaidInCapitalMember 2022-12-31 0001321732 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-12-31 0001321732 us-gaap:RetainedEarningsMember 2022-12-31 0001321732 2022-12-31 0001321732 us-gaap:CommonStockMember 2023-01-01 2023-03-31 0001321732 us-gaap:AdditionalPaidInCapitalMember 2023-01-01 2023-03-31 0001321732 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-01-01 2023-03-31 0001321732 us-gaap:RetainedEarningsMember 2023-01-01 2023-03-31 0001321732 us-gaap:CommonStockMember 2023-03-31 0001321732 us-gaap:AdditionalPaidInCapitalMember 2023-03-31 0001321732 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-03-31 0001321732 us-gaap:RetainedEarningsMember 2023-03-31 0001321732 2023-03-31 0001321732 us-gaap:CommercialPaperNotIncludedWithCashAndCashEquivalentsMember 2024-03-31 0001321732 us-gaap:CertificatesOfDepositMember 2024-03-31 0001321732 us-gaap:USTreasurySecuritiesMember 2024-03-31 0001321732 us-gaap:USStatesAndPoliticalSubdivisionsMember 2024-03-31 0001321732 us-gaap:CorporateDebtSecuritiesMember 2024-03-31 0001321732 pen:NonMarketableInvestmentsMember 2024-03-31 0001321732 pen:MarketableAndNonMarketableInvestmentsMember 2024-03-31 0001321732 us-gaap:CommercialPaperNotIncludedWithCashAndCashEquivalentsMember 2023-12-31 0001321732 us-gaap:CertificatesOfDepositMember 2023-12-31 0001321732 us-gaap:USTreasurySecuritiesMember 2023-12-31 0001321732 us-gaap:USStatesAndPoliticalSubdivisionsMember 2023-12-31 0001321732 us-gaap:CorporateDebtSecuritiesMember 2023-12-31 0001321732 us-gaap:CommercialPaperNotIncludedWithCashAndCashEquivalentsMember us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2024-03-31 0001321732 us-gaap:CommercialPaperNotIncludedWithCashAndCashEquivalentsMember us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2024-03-31 0001321732 us-gaap:CommercialPaperNotIncludedWithCashAndCashEquivalentsMember us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2024-03-31 0001321732 us-gaap:CommercialPaperNotIncludedWithCashAndCashEquivalentsMember us-gaap:FairValueMeasurementsRecurringMember 2024-03-31 0001321732 us-gaap:CertificatesOfDepositMember us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2024-03-31 0001321732 us-gaap:CertificatesOfDepositMember us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2024-03-31 0001321732 us-gaap:CertificatesOfDepositMember us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2024-03-31 0001321732 us-gaap:CertificatesOfDepositMember us-gaap:FairValueMeasurementsRecurringMember 2024-03-31 0001321732 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2024-03-31 0001321732 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2024-03-31 0001321732 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2024-03-31 0001321732 us-gaap:MoneyMarketFundsMember us-gaap:FairValueMeasurementsRecurringMember 2024-03-31 0001321732 us-gaap:USTreasurySecuritiesMember us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2024-03-31 0001321732 us-gaap:USTreasurySecuritiesMember us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2024-03-31 0001321732 us-gaap:USTreasurySecuritiesMember us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2024-03-31 0001321732 us-gaap:USTreasurySecuritiesMember us-gaap:FairValueMeasurementsRecurringMember 2024-03-31 0001321732 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CommercialPaperNotIncludedWithCashAndCashEquivalentsMember 2024-03-31 0001321732 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CommercialPaperNotIncludedWithCashAndCashEquivalentsMember 2024-03-31 0001321732 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CommercialPaperNotIncludedWithCashAndCashEquivalentsMember 2024-03-31 0001321732 us-gaap:FairValueMeasurementsRecurringMember us-gaap:CommercialPaperNotIncludedWithCashAndCashEquivalentsMember 2024-03-31 0001321732 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CertificatesOfDepositMember 2024-03-31 0001321732 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CertificatesOfDepositMember 2024-03-31 0001321732 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CertificatesOfDepositMember 2024-03-31 0001321732 us-gaap:FairValueMeasurementsRecurringMember us-gaap:CertificatesOfDepositMember 2024-03-31 0001321732 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USTreasurySecuritiesMember 2024-03-31 0001321732 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USTreasurySecuritiesMember 2024-03-31 0001321732 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USTreasurySecuritiesMember 2024-03-31 0001321732 us-gaap:FairValueMeasurementsRecurringMember us-gaap:USTreasurySecuritiesMember 2024-03-31 0001321732 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USStatesAndPoliticalSubdivisionsMember 2024-03-31 0001321732 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USStatesAndPoliticalSubdivisionsMember 2024-03-31 0001321732 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USStatesAndPoliticalSubdivisionsMember 2024-03-31 0001321732 us-gaap:FairValueMeasurementsRecurringMember us-gaap:USStatesAndPoliticalSubdivisionsMember 2024-03-31 0001321732 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CorporateDebtSecuritiesMember 2024-03-31 0001321732 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CorporateDebtSecuritiesMember 2024-03-31 0001321732 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CorporateDebtSecuritiesMember 2024-03-31 0001321732 us-gaap:FairValueMeasurementsRecurringMember us-gaap:CorporateDebtSecuritiesMember 2024-03-31 0001321732 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember pen:NonMarketableInvestmentsMember 2024-03-31 0001321732 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember pen:NonMarketableInvestmentsMember 2024-03-31 0001321732 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember pen:NonMarketableInvestmentsMember 2024-03-31 0001321732 us-gaap:FairValueMeasurementsRecurringMember pen:NonMarketableInvestmentsMember 2024-03-31 0001321732 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2024-03-31 0001321732 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2024-03-31 0001321732 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2024-03-31 0001321732 us-gaap:FairValueMeasurementsRecurringMember 2024-03-31 0001321732 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2023-12-31 0001321732 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2023-12-31 0001321732 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2023-12-31 0001321732 us-gaap:MoneyMarketFundsMember us-gaap:FairValueMeasurementsRecurringMember 2023-12-31 0001321732 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CommercialPaperNotIncludedWithCashAndCashEquivalentsMember 2023-12-31 0001321732 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CommercialPaperNotIncludedWithCashAndCashEquivalentsMember 2023-12-31 0001321732 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CommercialPaperNotIncludedWithCashAndCashEquivalentsMember 2023-12-31 0001321732 us-gaap:FairValueMeasurementsRecurringMember us-gaap:CommercialPaperNotIncludedWithCashAndCashEquivalentsMember 2023-12-31 0001321732 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CertificatesOfDepositMember 2023-12-31 0001321732 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CertificatesOfDepositMember 2023-12-31 0001321732 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CertificatesOfDepositMember 2023-12-31 0001321732 us-gaap:FairValueMeasurementsRecurringMember us-gaap:CertificatesOfDepositMember 2023-12-31 0001321732 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USTreasurySecuritiesMember 2023-12-31 0001321732 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USTreasurySecuritiesMember 2023-12-31 0001321732 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USTreasurySecuritiesMember 2023-12-31 0001321732 us-gaap:FairValueMeasurementsRecurringMember us-gaap:USTreasurySecuritiesMember 2023-12-31 0001321732 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USStatesAndPoliticalSubdivisionsMember 2023-12-31 0001321732 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USStatesAndPoliticalSubdivisionsMember 2023-12-31 0001321732 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USStatesAndPoliticalSubdivisionsMember 2023-12-31 0001321732 us-gaap:FairValueMeasurementsRecurringMember us-gaap:USStatesAndPoliticalSubdivisionsMember 2023-12-31 0001321732 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CorporateDebtSecuritiesMember 2023-12-31 0001321732 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CorporateDebtSecuritiesMember 2023-12-31 0001321732 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CorporateDebtSecuritiesMember 2023-12-31 0001321732 us-gaap:FairValueMeasurementsRecurringMember us-gaap:CorporateDebtSecuritiesMember 2023-12-31 0001321732 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2023-12-31 0001321732 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2023-12-31 0001321732 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2023-12-31 0001321732 us-gaap:FairValueMeasurementsRecurringMember 2023-12-31 0001321732 2023-01-01 2023-12-31 0001321732 us-gaap:DevelopedTechnologyRightsMember 2024-01-01 2024-03-31 0001321732 us-gaap:DevelopedTechnologyRightsMember 2024-03-31 0001321732 us-gaap:CustomerRelationshipsMember 2024-01-01 2024-03-31 0001321732 us-gaap:CustomerRelationshipsMember 2024-03-31 0001321732 us-gaap:TradeSecretsMember 2024-01-01 2024-03-31 0001321732 us-gaap:TradeSecretsMember 2024-03-31 0001321732 us-gaap:DevelopedTechnologyRightsMember 2023-01-01 2023-12-31 0001321732 us-gaap:DevelopedTechnologyRightsMember 2023-12-31 0001321732 us-gaap:CustomerRelationshipsMember 2023-01-01 2023-12-31 0001321732 us-gaap:CustomerRelationshipsMember 2023-12-31 0001321732 us-gaap:TradeSecretsMember 2023-01-01 2023-12-31 0001321732 us-gaap:TradeSecretsMember 2023-12-31 0001321732 us-gaap:CostOfSalesMember 2024-01-01 2024-03-31 0001321732 us-gaap:CostOfSalesMember 2023-01-01 2023-03-31 0001321732 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2024-01-01 2024-03-31 0001321732 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2023-01-01 2023-03-31 0001321732 us-gaap:RevolvingCreditFacilityMember 2020-04-24 0001321732 pen:RoyaltyAgreementMarch2005Member 2018-12-31 0001321732 pen:RoyaltyAgreementMarch2005Member 2019-07-01 2019-07-31 0001321732 pen:RoyaltyAgreementMarch2005Member 2024-03-31 0001321732 us-gaap:SubsequentEventMember 2024-04-22 2024-04-22 0001321732 us-gaap:PerformanceSharesMember 2024-01-01 2024-03-31 0001321732 us-gaap:ResearchAndDevelopmentExpenseMember 2024-01-01 2024-03-31 0001321732 us-gaap:ResearchAndDevelopmentExpenseMember 2023-01-01 2023-03-31 0001321732 pen:NonPerformanceSharesMember 2024-03-31 0001321732 pen:NonPerformanceSharesMember 2024-01-01 2024-03-31 0001321732 us-gaap:PerformanceSharesMember 2024-03-31 0001321732 us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember 2023-12-31 0001321732 us-gaap:AccumulatedTranslationAdjustmentMember 2023-12-31 0001321732 us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember 2022-12-31 0001321732 us-gaap:AccumulatedTranslationAdjustmentMember 2022-12-31 0001321732 us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember 2024-01-01 2024-03-31 0001321732 us-gaap:AccumulatedTranslationAdjustmentMember 2024-01-01 2024-03-31 0001321732 us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember 2023-01-01 2023-03-31 0001321732 us-gaap:AccumulatedTranslationAdjustmentMember 2023-01-01 2023-03-31 0001321732 us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember 2024-03-31 0001321732 us-gaap:AccumulatedTranslationAdjustmentMember 2024-03-31 0001321732 us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember 2023-03-31 0001321732 us-gaap:AccumulatedTranslationAdjustmentMember 2023-03-31 0001321732 country:US 2024-01-01 2024-03-31 0001321732 country:US 2023-01-01 2023-03-31 0001321732 pen:OtherNonUSMember 2024-01-01 2024-03-31 0001321732 pen:OtherNonUSMember 2023-01-01 2023-03-31 0001321732 pen:ThrombectomyMember 2024-01-01 2024-03-31 0001321732 pen:ThrombectomyMember 2023-01-01 2023-03-31 0001321732 pen:EmbolizationAndAccessMember 2024-01-01 2024-03-31 0001321732 pen:EmbolizationAndAccessMember 2023-01-01 2023-03-31 shares iso4217:USD iso4217:USD shares pen:activity pen:segment pure 0001321732 2024 Q1 false --12-31 10-Q true 2024-03-31 false 001-37557 Penumbra, Inc DE 05-0605598 One Penumbra Place Alameda CA 94502 510 748-3200 Common Stock, Par value $0.001 per share PEN NYSE Yes Yes Large Accelerated Filer false false false 38764917 223114000 167486000 90360000 121701000 3020000 3169000 191989000 201768000 398366000 388023000 31194000 36424000 935023000 915402000 75744000 72691000 185845000 188756000 30234000 31092000 68421000 71056000 166103000 166270000 84661000 85158000 33814000 25880000 1579845000 1556305000 32454000 27155000 106549000 110555000 11520000 11203000 2280000 2231000 152803000 151144000 194537000 197229000 23098000 23680000 5876000 5308000 376314000 377361000 39000 39000 1062470000 1047198000 -4838000 -3151000 145860000 134858000 1203531000 1178944000 1579845000 1556305000 278655000 241398000 97516000 90326000 181139000 151072000 24626000 19986000 144412000 123078000 169038000 143064000 12101000 8008000 2525000 644000 14626000 8652000 3624000 90000 11002000 8562000 0.28 0.22 0.28 0.22 38717334 38186342 39387359 39075388 11002000 8562000 -1853000 403000 166000 860000 -1687000 1263000 9315000 9825000 38681549 39000 1047198000 -3151000 134858000 1178944000 76597 238000 238000 1732 421000 421000 15455000 15455000 -1687000 -1687000 11002000 11002000 38756414 39000 1062470000 -4838000 145860000 1203531000 38107977 38000 963040000 -8124000 43904000 998858000 134936 2209000 2209000 813 204000 204000 13781000 13781000 1263000 1263000 8562000 8562000 38242100 38000 978826000 -6861000 52466000 1024469000 11002000 8562000 7519000 6575000 13569000 12766000 358000 1009000 475000 -953000 -221000 140000 -8460000 3540000 11619000 10641000 -4565000 3994000 5209000 2074000 -1022000 1131000 38295000 13129000 10000000 0 11267000 0 43375000 14605000 5824000 3894000 -2100000 0 18384000 10711000 238000 2209000 421000 204000 550000 474000 -61000 -155000 -794000 1376000 -257000 -386000 55628000 24830000 167486000 69858000 223114000 94688000 292000 341000 17000 68000 1816000 1781000 5337000 4706000 1125000 1413000 <div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">1. Organization and Description of Business </span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Penumbra, Inc. (the “Company”) is a global healthcare company focused on innovative therapies. The Company designs, develops, manufactures and markets novel products and has a broad portfolio that addresses challenging medical conditions in markets with significant unmet need. The Company focuses on developing, manufacturing and marketing novel products for use by specialist physicians and other healthcare providers to drive improved clinical and health outcomes. The Company believes that the cost-effectiveness of our products is attractive to our customers.</span></div> <div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2. Summary of Significant Accounting Policies</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Basis of Presentation and Consolidation</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying condensed consolidated balance sheet as of March 31, 2024, the condensed consolidated statements of operations, the condensed consolidated statements of comprehensive income (loss), and the condensed consolidated statements of stockholders’ equity for the three months ended March 31, 2024 and 2023, and the condensed consolidated statements of cash flows for the three months ended March 31, 2024 and 2023 are unaudited. The unaudited condensed consolidated financial statements included herein have been prepared by the Company in accordance with accounting principles generally accepted in the United States of America (“U.S. GAAP”) and the applicable rules and regulations of the U.S. Securities and Exchange Commission (the “SEC”) for interim financial information. Accordingly, they do not include all of the information and notes required by U.S. GAAP for complete financial statements. The condensed consolidated balance sheet data as of December 31, 2023 was derived from the audited financial statements as of that date.</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The unaudited condensed consolidated financial statements have been prepared on the same basis as the audited consolidated financial statements and, in the opinion of management, reflect all adjustments of a normal recurring nature considered necessary to state fairly the Company’s financial position as of March 31, 2024, the results of its operations for the three months ended March 31, 2024 and 2023, the changes in its comprehensive income (loss) and stockholders’ equity for the three months ended March 31, 2024 and 2023, and its cash flows for the three months ended March 31, 2024 and 2023. The results for the three months ended March 31, 2024 are not necessarily indicative of the results that may be expected for the year ending December 31, 2024 or for any other future annual or interim period. Certain changes in presentation were made to interest income (expense), net and other income (expense), net in the condensed consolidated statements of operations for the three months ended March 31, 2023 to conform to the presentation for the three months ended March 31, 2024.</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The information included in this Quarterly Report on Form 10-Q should be read in conjunction with the audited consolidated financial statements and notes thereto for the fiscal year ended December 31, 2023, included in the Company’s Annual Report on Form 10-K as filed with the SEC on February 22, 2024. There have been no changes to the Company’s significant accounting policies during the three months ended March 31, 2024, as compared to the significant accounting policies described in the Company’s Annual Report on Form 10-K for the fiscal year ended December 31, 2023. </span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The condensed consolidated financial statements include the accounts of the Company and its wholly-owned subsidiaries. All intercompany balances and transactions have been eliminated in consolidation.</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Use of Estimates</span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The preparation of financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of assets, liabilities and equity accounts; disclosure of contingent assets and liabilities at the date of the financial statements; and the reported amounts of revenues and expenses during the reporting period. On an ongoing basis, the Company evaluates its estimates, including those related to marketable investments, allowances for credit losses, the amount of variable consideration included in the transaction price, warranty reserve, valuation of inventories, useful lives of property and equipment, intangibles, operating and financing lease right-of-use (“ROU”) assets and liabilities, income taxes, and other contingencies, including the probability of achieving performance targets associated with equity awards with performance conditions, among others. The Company bases its estimates on historical experience and on various other assumptions that are believed 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 data. Actual results could differ from those estimates. </span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Segments </span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company determined its operating segment on the same basis that it uses to evaluate its performance internally. The Company has one business activity: the design, development, manufacturing and marketing of innovative medical products, and operates as one operating segment. The Company’s chief operating decision-maker, its Chief Executive Officer, reviews its consolidated operating results for the purpose of allocating resources and evaluating financial performance.</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Recently Issued Accounting Standards</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In December 2023, the FASB issued Accounting Standards Update (“ASU”) No. 2023-09, Income Taxes— Improvements to Income Tax Disclosures. The standard enhances annual income tax disclosures, by requiring additional disaggregated information about an entity’s effective tax rate reconciliation and income taxes paid. The ASU adds guidance that requires public business entities to disclose additional information in specified categories with respect to the reconciliation of the effective tax rate to the statutory rate (the rate reconciliation) for federal, state, and foreign income taxes. It also requires greater detail about individual reconciling items in the rate reconciliation to the extent the impact of those items exceeds a specified threshold (5%). In addition to new disclosures associated with the rate reconciliation, the ASU requires information pertaining to taxes paid (net of refunds received) to be disaggregated for federal, state, and foreign taxes and further disaggregated for specific jurisdictions to the extent the related amounts exceed the quantitative threshold. For public business entities, the amendments in ASU 2023-09 are effective for annual periods beginning after December 15, 2024. Early adoption is permitted for annual financial statements not yet issued or made available for issuance. The Company is assessing the impact the new guidance will have on the disclosures within its consolidated financial statements and does not elect to early adopt as of March 31, 2024.</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In November 2023, the FASB issued ASU 2023-07, Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures. The ASU expands public entities’ segment disclosures by requiring disclosure of significant segment expenses that are regularly reviewed by the CODM and included within each reported measure of segment profit or loss, an amount and description of its composition for other segment items, and interim disclosures of a reportable segment’s profit or loss and assets. The ASU also allows, in addition to the measure that is most consistent with U.S. GAAP, the disclosure of additional measures of segment profit or loss that are used by the CODM in assessing segment performance and deciding how to allocate resources. All disclosure requirements under ASU 2023-07 are also required for public entities with a single reportable segment. The ASU is effective for fiscal years beginning after December 15, 2023, and interim periods within fiscal years beginning after December 15, 2024, on a retrospective basis, with early adoption permitted. The Company is assessing the impact the new guidance will have on the disclosures within its consolidated financial statements and does not elect to early adopt as of March 31, 2024.</span></div> <div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Basis of Presentation and Consolidation</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying condensed consolidated balance sheet as of March 31, 2024, the condensed consolidated statements of operations, the condensed consolidated statements of comprehensive income (loss), and the condensed consolidated statements of stockholders’ equity for the three months ended March 31, 2024 and 2023, and the condensed consolidated statements of cash flows for the three months ended March 31, 2024 and 2023 are unaudited. The unaudited condensed consolidated financial statements included herein have been prepared by the Company in accordance with accounting principles generally accepted in the United States of America (“U.S. GAAP”) and the applicable rules and regulations of the U.S. Securities and Exchange Commission (the “SEC”) for interim financial information. Accordingly, they do not include all of the information and notes required by U.S. GAAP for complete financial statements. The condensed consolidated balance sheet data as of December 31, 2023 was derived from the audited financial statements as of that date.</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The unaudited condensed consolidated financial statements have been prepared on the same basis as the audited consolidated financial statements and, in the opinion of management, reflect all adjustments of a normal recurring nature considered necessary to state fairly the Company’s financial position as of March 31, 2024, the results of its operations for the three months ended March 31, 2024 and 2023, the changes in its comprehensive income (loss) and stockholders’ equity for the three months ended March 31, 2024 and 2023, and its cash flows for the three months ended March 31, 2024 and 2023. The results for the three months ended March 31, 2024 are not necessarily indicative of the results that may be expected for the year ending December 31, 2024 or for any other future annual or interim period. Certain changes in presentation were made to interest income (expense), net and other income (expense), net in the condensed consolidated statements of operations for the three months ended March 31, 2023 to conform to the presentation for the three months ended March 31, 2024.</span></div>The information included in this Quarterly Report on Form 10-Q should be read in conjunction with the audited consolidated financial statements and notes thereto for the fiscal year ended December 31, 2023, included in the Company’s Annual Report on Form 10-K as filed with the SEC on February 22, 2024. There have been no changes to the Company’s significant accounting policies during the three months ended March 31, 2024, as compared to the significant accounting policies described in the Company’s Annual Report on Form 10-K for the fiscal year ended December 31, 2023. <div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The condensed consolidated financial statements include the accounts of the Company and its wholly-owned subsidiaries. All intercompany balances and transactions have been eliminated in consolidation.</span></div> <div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Use of Estimates</span></div>The preparation of financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of assets, liabilities and equity accounts; disclosure of contingent assets and liabilities at the date of the financial statements; and the reported amounts of revenues and expenses during the reporting period. On an ongoing basis, the Company evaluates its estimates, including those related to marketable investments, allowances for credit losses, the amount of variable consideration included in the transaction price, warranty reserve, valuation of inventories, useful lives of property and equipment, intangibles, operating and financing lease right-of-use (“ROU”) assets and liabilities, income taxes, and other contingencies, including the probability of achieving performance targets associated with equity awards with performance conditions, among others. The Company bases its estimates on historical experience and on various other assumptions that are believed 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 data. Actual results could differ from those estimates. <div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Segments </span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company determined its operating segment on the same basis that it uses to evaluate its performance internally. The Company has one business activity: the design, development, manufacturing and marketing of innovative medical products, and operates as one operating segment. The Company’s chief operating decision-maker, its Chief Executive Officer, reviews its consolidated operating results for the purpose of allocating resources and evaluating financial performance.</span></div> 1 1 <div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Recently Issued Accounting Standards</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In December 2023, the FASB issued Accounting Standards Update (“ASU”) No. 2023-09, Income Taxes— Improvements to Income Tax Disclosures. The standard enhances annual income tax disclosures, by requiring additional disaggregated information about an entity’s effective tax rate reconciliation and income taxes paid. The ASU adds guidance that requires public business entities to disclose additional information in specified categories with respect to the reconciliation of the effective tax rate to the statutory rate (the rate reconciliation) for federal, state, and foreign income taxes. It also requires greater detail about individual reconciling items in the rate reconciliation to the extent the impact of those items exceeds a specified threshold (5%). In addition to new disclosures associated with the rate reconciliation, the ASU requires information pertaining to taxes paid (net of refunds received) to be disaggregated for federal, state, and foreign taxes and further disaggregated for specific jurisdictions to the extent the related amounts exceed the quantitative threshold. For public business entities, the amendments in ASU 2023-09 are effective for annual periods beginning after December 15, 2024. Early adoption is permitted for annual financial statements not yet issued or made available for issuance. The Company is assessing the impact the new guidance will have on the disclosures within its consolidated financial statements and does not elect to early adopt as of March 31, 2024.</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In November 2023, the FASB issued ASU 2023-07, Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures. The ASU expands public entities’ segment disclosures by requiring disclosure of significant segment expenses that are regularly reviewed by the CODM and included within each reported measure of segment profit or loss, an amount and description of its composition for other segment items, and interim disclosures of a reportable segment’s profit or loss and assets. The ASU also allows, in addition to the measure that is most consistent with U.S. GAAP, the disclosure of additional measures of segment profit or loss that are used by the CODM in assessing segment performance and deciding how to allocate resources. All disclosure requirements under ASU 2023-07 are also required for public entities with a single reportable segment. The ASU is effective for fiscal years beginning after December 15, 2023, and interim periods within fiscal years beginning after December 15, 2024, on a retrospective basis, with early adoption permitted. The Company is assessing the impact the new guidance will have on the disclosures within its consolidated financial statements and does not elect to early adopt as of March 31, 2024.</span></div> <div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">3. Investments and Fair Value of Financial Instruments </span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Marketable and Non-Marketable Investments</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company’s marketable and non-marketable investments have been classified and accounted for as available-for-sale. The Company’s marketable and non-marketable investments as of March 31, 2024 and December 31, 2023 were as follows (in thousands):</span></div><div style="margin-bottom:6pt;margin-top:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:41.882%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.580%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="27" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">March 31, 2024</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Securities with net gains or losses in accumulated other comprehensive income (loss)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Amortized Cost</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Gross Unrealized Gains</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Gross Unrealized Losses</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Allowance<br/> for<br/> Credit Loss</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Marketable investments:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Commercial paper </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">31,449 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(11)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">31,445 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Certificate of Deposit</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,632 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,636 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. treasury</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13,210 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(142)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13,068 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. states and municipalities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">900 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(9)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">891 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate bonds</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">40,542 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">19 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(241)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">40,320 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">90,733 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">30 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(403)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">90,360 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Non-marketable investments:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Non-marketable debt securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,000 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,000 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,000 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,000 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Total </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">100,733 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">30 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(403)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">100,360 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:6pt;margin-top:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:42.028%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.580%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="27" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">December 31, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="9" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Securities with net gains or losses in accumulated other comprehensive income (loss)</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Amortized Cost</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Gross Unrealized Gains</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Gross Unrealized Losses</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Allowance<br/> for<br/> Credit Loss</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Marketable investments:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Commercial paper </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">39,727 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">32 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">39,756 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Certificate of Deposit</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,392 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,401 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. treasury</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,226 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(160)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,066 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. states and municipalities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,950 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(35)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,915 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate bonds</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">62,964 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">29 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(430)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">62,563 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">122,259 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">70 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(628)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">121,701 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of March 31, 2024, the total amortized cost basis of the Company’s available-for-sale debt securities, excluding non-marketable debt securities, is an unrealized loss position of $0.4 million, which was primarily attributable to rising interest rates since purchase. The Company reviewed its available-for-sale securities in an unrealized loss position and concluded that the decline in fair value was not related to credit losses and is recoverable. During the three months ended March 31, 2024, no allowance for credit losses was recorded and instead the unrealized losses are reported as a component of accumulated other comprehensive loss. </span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following tables present the gross unrealized losses and the fair value for those marketable investments that were in an unrealized loss position for less than and more twelve months as of March 31, 2024 and December 31, 2023 (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:26.970%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.157%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.157%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.157%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.157%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.157%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.165%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="33" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">March 31, 2024</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Less than 12 months</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">More than 12 months</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Total</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Fair Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Gross Unrealized Losses</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Fair Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Gross Unrealized Losses</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Fair Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Gross Unrealized Losses</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Marketable investments:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Commercial paper</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">20,041 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(11)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">20,041 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(11)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. treasury</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,666 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(80)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,436 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(62)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,102 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(142)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. states and municipalities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">891 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(9)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">891 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(9)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate bonds</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,998 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13,421 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(238)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,419 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(241)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">28,705 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(94)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">18,748 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(309)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">47,453 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(403)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:6pt;margin-top:9pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:26.970%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.157%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.157%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.157%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.157%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.157%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.165%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="33" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">December 31, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Less than 12 months</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">More than 12 months</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Total</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Fair Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Gross Unrealized Losses</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Fair Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Gross Unrealized Losses</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Fair Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Gross Unrealized Losses</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Marketable investments:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Commercial paper</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,241 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,241 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. treasury</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,677 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(54)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,389 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(106)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,066 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(160)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. states and municipalities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,915 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(35)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,915 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(35)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate bonds</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15,945 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">30,912 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(428)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">46,857 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(430)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">37,863 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(59)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">38,216 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(569)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">76,079 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(628)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The contractual maturities of the Company’s marketable investments as of March 31, 2024 (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:49.851%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:22.765%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.385%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:22.767%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">March 31, 2024</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Marketable investments:</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Amortized Cost</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Fair Value</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Due in one year</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">87,922 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">87,601 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Due in one to five years</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,811 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,759 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">90,733 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">90,360 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Non-Marketable Investments</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the three months ended March 31, 2024, the Company completed a strategic investment in a privately held company. Under the terms of the investment, the Company paid $10.0 million in exchange for shares of Series B preferred stock which represented an immaterial investment in the investment in outstanding equity securities of the privately held company. The Company determined that the investment did not meet the criteria to be accounted for as an equity method investment under ASC 323. The investment was accounted for as an available-for-sale debt security in accordance with ASC 320 as the preferred stock contains a contingent redemption feature at the Company’s option. The investment is included in other non-current assets on the condensed consolidated balance sheet and changes in fair value are recorded in total other comprehensive (loss) income, net of tax. There were no unrealized gains or losses recorded in connection with the Company’s non-marketable debt securities during the three months ended March 31, 2024.</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Fair Value of Financial Instruments</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Fair value is defined as the price that would be received to sell an asset or paid to transfer a liability (an exit price) in an orderly transaction between market participants at the reporting date. The accounting guidance establishes a three-tiered hierarchy, which prioritizes the inputs used in the valuation methodologies in measuring fair value: </span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Level 1 - Quoted prices in active markets for identical assets or liabilities. </span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Level 2 - Inputs other than Level 1 that are observable, either directly or indirectly, such as quoted prices in markets that are not active; or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities. </span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Level 3 - Unobservable inputs that are supported by little or no market activity and that are significant to the fair value of the assets or liabilities. </span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The categorization of a financial instrument within the valuation hierarchy is based on the lowest level of input that is significant to the fair value measurement.</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company classifies its cash equivalents and marketable investments within Level 1 and Level 2, as it uses quoted market prices or alternative pricing sources and models utilizing market observable inputs. The Company classifies its non-marketable investments in preferred stock in privately held companies within Level 3, as they do not have a readily determinable fair value.</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company determined the fair value of its Level 1 financial instruments, which are traded in active markets, using quoted market prices for identical instruments.</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Marketable investments classified within Level 2 of the fair value hierarchy are valued based on other observable inputs, including broker or dealer quotations or alternative pricing sources. When quoted prices in active markets for identical assets or liabilities are not available, the Company relies on non-binding quotes from its investment managers, which are based on proprietary valuation models of independent pricing services. These models generally use inputs such as observable market data, quoted market prices for similar instruments, historical pricing trends of a security as relative to its peers. To validate the fair value determination provided by its investment managers, the Company reviews the pricing movement in the context of overall market trends and trading information from its investment managers. In addition, the Company assesses the inputs and methods used in determining the fair value in order to determine the classification of securities in the fair value hierarchy.</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Non-marketable investments classified within Level 3 of the fair value hierarchy are valued based on unobservable inputs that are supported by little or no market activity. Current financial information of private companies may not be available and consequently the Company estimates the fair value using inputs that are based on the best available information at the measurement date, which may include the most recent financial information, financial projections, and financing transactions available for the investee and other quantitative and qualitative factors. Additionally, based on the timing, volume, and other characteristics of the available information, the Company may supplement this information by using one or more valuation techniques, including market and income approaches. The Company did not hold any non-marketable investments classified as Level 3 as of December 31, 2023.</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company did not hold any Level 3 marketable investments as of March 31, 2024 or December 31, 2023. During the three months ended March 31, 2024 and 2023, the Company did not have any transfers between Level 1, Level 2 or Level 3 of the fair value hierarchy. Additionally, the Company did not have any financial assets and liabilities measured at fair value on a non-recurring basis as of March 31, 2024 or December 31, 2023.</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following tables set forth the Company’s financial assets and liabilities measured at fair value by level within the fair value hierarchy as of March 31, 2024 and December 31, 2023 (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:46.777%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.198%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.198%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.198%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.201%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"> </td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">As of March 31, 2024</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Level 1</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Level 2</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Level 3</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Financial Assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Cash equivalents:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Commercial paper</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">30,555 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">30,555 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Certificate of deposit</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,901 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,901 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Money market funds</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">57,278 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">57,278 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. treasury</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">53,672 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">53,672 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Marketable investments:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Commercial paper</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">31,445 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">31,445 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Certificate of deposit</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,636 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,636 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. treasury</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13,068 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13,068 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. states and municipalities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">891 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">891 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate bonds</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">40,320 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">40,320 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Non-marketable investments:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Non-marketable investments</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,000 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,000 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">124,018 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">112,748 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,000 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">246,766 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-bottom:6pt;margin-top:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:46.777%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.198%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.198%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.198%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.201%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">As of December 31, 2023</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Level 1</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Level 2</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Level 3</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Financial Assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Cash equivalents:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Money market funds</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">86,991 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">86,991 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Marketable investments:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Commercial paper</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">39,756 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">39,756 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Certificate of Deposit</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,401 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,401 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. treasury</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,066 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,066 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. states and municipalities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,915 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,915 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate bonds</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">62,563 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">62,563 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Total</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">97,057 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">111,635 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">208,692 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div> <div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Marketable and Non-Marketable Investments</span></div>The Company’s marketable and non-marketable investments have been classified and accounted for as available-for-sale. The Company’s marketable and non-marketable investments as of March 31, 2024 and December 31, 2023 were as follows (in thousands):<div style="margin-bottom:6pt;margin-top:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:41.882%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.580%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="27" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">March 31, 2024</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Securities with net gains or losses in accumulated other comprehensive income (loss)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Amortized Cost</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Gross Unrealized Gains</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Gross Unrealized Losses</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Allowance<br/> for<br/> Credit Loss</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Marketable investments:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Commercial paper </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">31,449 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(11)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">31,445 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Certificate of Deposit</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,632 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,636 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. treasury</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13,210 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(142)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13,068 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. states and municipalities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">900 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(9)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">891 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate bonds</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">40,542 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">19 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(241)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">40,320 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">90,733 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">30 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(403)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">90,360 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Non-marketable investments:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Non-marketable debt securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,000 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,000 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,000 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,000 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Total </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">100,733 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">30 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(403)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">100,360 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:6pt;margin-top:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:42.028%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.580%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="27" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">December 31, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="9" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Securities with net gains or losses in accumulated other comprehensive income (loss)</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Amortized Cost</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Gross Unrealized Gains</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Gross Unrealized Losses</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Allowance<br/> for<br/> Credit Loss</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Marketable investments:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Commercial paper </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">39,727 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">32 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">39,756 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Certificate of Deposit</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,392 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,401 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. treasury</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,226 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(160)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,066 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. states and municipalities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,950 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(35)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,915 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate bonds</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">62,964 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">29 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(430)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">62,563 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">122,259 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">70 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(628)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">121,701 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 31449000 7000 11000 0 31445000 4632000 4000 0 0 4636000 13210000 0 142000 0 13068000 900000 0 9000 0 891000 40542000 19000 241000 0 40320000 90733000 30000 403000 0 90360000 10000000 0 0 0 10000000 10000000 0 0 0 10000000 100733000 30000 403000 0 100360000 39727000 32000 3000 0 39756000 6392000 9000 0 0 6401000 10226000 0 160000 0 10066000 2950000 0 35000 0 2915000 62964000 29000 430000 0 62563000 122259000 70000 628000 0 121701000 400000 0 0 <div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following tables present the gross unrealized losses and the fair value for those marketable investments that were in an unrealized loss position for less than and more twelve months as of March 31, 2024 and December 31, 2023 (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:26.970%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.157%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.157%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.157%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.157%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.157%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.165%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="33" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">March 31, 2024</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Less than 12 months</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">More than 12 months</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Total</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Fair Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Gross Unrealized Losses</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Fair Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Gross Unrealized Losses</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Fair Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Gross Unrealized Losses</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Marketable investments:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Commercial paper</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">20,041 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(11)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">20,041 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(11)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. treasury</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,666 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(80)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,436 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(62)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,102 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(142)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. states and municipalities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">891 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(9)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">891 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(9)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate bonds</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,998 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13,421 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(238)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,419 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(241)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">28,705 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(94)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">18,748 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(309)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">47,453 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(403)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:6pt;margin-top:9pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:26.970%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.157%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.157%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.157%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.157%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.157%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.165%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="33" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">December 31, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Less than 12 months</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">More than 12 months</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Total</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Fair Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Gross Unrealized Losses</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Fair Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Gross Unrealized Losses</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Fair Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Gross Unrealized Losses</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Marketable investments:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Commercial paper</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,241 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,241 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. treasury</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,677 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(54)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,389 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(106)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,066 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(160)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. states and municipalities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,915 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(35)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,915 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(35)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate bonds</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15,945 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">30,912 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(428)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">46,857 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(430)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">37,863 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(59)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">38,216 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(569)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">76,079 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(628)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 20041000 11000 0 0 20041000 11000 5666000 80000 4436000 62000 10102000 142000 0 0 891000 9000 891000 9000 2998000 3000 13421000 238000 16419000 241000 28705000 94000 18748000 309000 47453000 403000 16241000 3000 0 0 16241000 3000 5677000 54000 4389000 106000 10066000 160000 0 0 2915000 35000 2915000 35000 15945000 2000 30912000 428000 46857000 430000 37863000 59000 38216000 569000 76079000 628000 <div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The contractual maturities of the Company’s marketable investments as of March 31, 2024 (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:49.851%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:22.765%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.385%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:22.767%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">March 31, 2024</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Marketable investments:</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Amortized Cost</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Fair Value</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Due in one year</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">87,922 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">87,601 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Due in one to five years</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,811 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,759 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">90,733 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">90,360 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div> 87922000 87601000 2811000 2759000 90733000 90360000 10000000 <div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following tables set forth the Company’s financial assets and liabilities measured at fair value by level within the fair value hierarchy as of March 31, 2024 and December 31, 2023 (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:46.777%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.198%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.198%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.198%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.201%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"> </td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">As of March 31, 2024</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Level 1</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Level 2</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Level 3</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Financial Assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Cash equivalents:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Commercial paper</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">30,555 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">30,555 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Certificate of deposit</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,901 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,901 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Money market funds</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">57,278 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">57,278 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. treasury</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">53,672 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">53,672 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Marketable investments:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Commercial paper</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">31,445 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">31,445 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Certificate of deposit</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,636 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,636 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. treasury</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13,068 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13,068 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. states and municipalities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">891 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">891 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate bonds</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">40,320 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">40,320 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Non-marketable investments:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Non-marketable investments</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,000 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,000 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">124,018 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">112,748 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,000 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">246,766 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-bottom:6pt;margin-top:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:46.777%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.198%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.198%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.198%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.201%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">As of December 31, 2023</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Level 1</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Level 2</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Level 3</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Financial Assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Cash equivalents:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Money market funds</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">86,991 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">86,991 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Marketable investments:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Commercial paper</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">39,756 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">39,756 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Certificate of Deposit</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,401 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,401 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. treasury</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,066 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,066 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. states and municipalities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,915 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,915 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate bonds</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">62,563 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">62,563 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Total</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">97,057 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">111,635 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">208,692 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div> 0 30555000 0 30555000 0 4901000 0 4901000 57278000 0 0 57278000 53672000 0 0 53672000 0 31445000 0 31445000 0 4636000 0 4636000 13068000 0 0 13068000 0 891000 0 891000 0 40320000 0 40320000 0 0 10000000 10000000 124018000 112748000 10000000 246766000 86991000 0 0 86991000 0 39756000 0 39756000 0 6401000 0 6401000 10066000 0 0 10066000 0 2915000 0 2915000 0 62563000 0 62563000 97057000 111635000 0 208692000 <div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">4. Balance Sheet Components </span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Inventories</span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The components of inventories consisted of the following (in thousands):</span></div><div style="margin-bottom:6pt;margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:68.153%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.541%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.542%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">March 31, 2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">December 31, 2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Raw materials</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">121,134 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">119,511 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Work in process</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">36,815 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">34,489 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Finished goods</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">240,417 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">234,023 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventories</span></td><td colspan="3" style="padding:0 1pt"></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">398,366 </span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">388,023 </span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Accrued Liabilities</span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The components of accrued liabilities consisted of the following (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:68.153%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.541%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.542%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">March 31, 2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">December 31, 2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Payroll and employee-related expenses</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">59,481 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">65,395 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accrued expenses</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14,327 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">11,711 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred revenue</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8,672 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,985 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other accrued liabilities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">24,069 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">26,464 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total accrued liabilities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">106,549 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">110,555 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table shows the changes in the Company’s estimated product warranty accrual, included in accrued liabilities, for the three months ended March 31, 2024 and twelve months ended December 31, 2023, respectively (in thousands):</span></div><div style="margin-bottom:6pt;margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:68.153%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.541%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.542%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">March 31, 2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">December 31, 2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balance at the beginning of the period</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,755 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,370 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accruals of warranties issued, net</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3,141)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,865 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Settlements of warranty claims</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(536)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,480)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balance at the end of the period</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,078 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,755 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> <div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The components of inventories consisted of the following (in thousands):</span></div><div style="margin-bottom:6pt;margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:68.153%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.541%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.542%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">March 31, 2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">December 31, 2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Raw materials</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">121,134 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">119,511 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Work in process</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">36,815 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">34,489 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Finished goods</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">240,417 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">234,023 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventories</span></td><td colspan="3" style="padding:0 1pt"></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">398,366 </span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">388,023 </span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 121134000 119511000 36815000 34489000 240417000 234023000 398366000 388023000 <div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The components of accrued liabilities consisted of the following (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:68.153%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.541%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.542%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">March 31, 2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">December 31, 2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Payroll and employee-related expenses</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">59,481 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">65,395 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accrued expenses</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14,327 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">11,711 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred revenue</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8,672 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,985 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other accrued liabilities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">24,069 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">26,464 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total accrued liabilities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">106,549 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">110,555 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 59481000 65395000 14327000 11711000 8672000 6985000 24069000 26464000 106549000 110555000 <div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table shows the changes in the Company’s estimated product warranty accrual, included in accrued liabilities, for the three months ended March 31, 2024 and twelve months ended December 31, 2023, respectively (in thousands):</span></div><div style="margin-bottom:6pt;margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:68.153%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.541%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.542%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">March 31, 2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">December 31, 2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balance at the beginning of the period</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,755 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,370 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accruals of warranties issued, net</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3,141)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,865 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Settlements of warranty claims</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(536)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,480)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balance at the end of the period</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,078 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,755 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 5755000 5370000 -3141000 1865000 536000 1480000 2078000 5755000 <div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">5. Intangible Assets</span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents details of the Company’s acquired intangible assets as of March 31, 2024 and December 31, 2023 (in thousands, except weighted-average amortization period):</span></div><div style="margin-bottom:6pt;margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:41.297%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.625%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">As of March 31, 2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Weighted-Average Amortization Period</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Gross Carrying Amount</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Accumulated Amortization</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Net</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Finite-lived intangible assets:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Developed technology</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8.8 years</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">83,289 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(22,020)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">61,269 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Customer relationships</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15.0 years</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,434 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2,895)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,539 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Trade secrets and processes</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">20.0 years</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,256 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,643)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,613 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Total intangible assets </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9.6 years</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">94,979 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(26,558)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">68,421 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-bottom:6pt;margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:41.297%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.625%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">As of December 31, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Weighted-Average <br/>Amortization Period</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Gross Carrying Amount</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Accumulated Amortization</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Net</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Finite-lived intangible assets:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Developed technology</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8.8 years</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">83,289 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(19,640)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">63,649 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Customer relationships</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15.0 years</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,579 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2,851)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,728 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Trade secrets and processes</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">20.0 years</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,256 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,577)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,679 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Total intangible assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9.6 years</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">95,124 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(24,068)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">71,056 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The gross carrying amount and accumulated amortization of the customer relationships are the only intangible assets subject to foreign currency translation effects. The Company’s $5.3 million trade secrets and processes intangible asset was recognized in connection with a royalty buyout agreement in 2018.</span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the amortization recorded related to the Company’s finite-lived intangible assets for the three months ended March 31, 2024 and 2023 (in thousands):</span></div><div style="margin-bottom:6pt;margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:65.859%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.689%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.692%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Three Months Ended March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cost of revenue</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">66 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">66 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Sales, general and administrative</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,487 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,486 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,553 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,552 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div> <div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents details of the Company’s acquired intangible assets as of March 31, 2024 and December 31, 2023 (in thousands, except weighted-average amortization period):</span></div><div style="margin-bottom:6pt;margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:41.297%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.625%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">As of March 31, 2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Weighted-Average Amortization Period</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Gross Carrying Amount</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Accumulated Amortization</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Net</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Finite-lived intangible assets:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Developed technology</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8.8 years</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">83,289 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(22,020)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">61,269 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Customer relationships</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15.0 years</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,434 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2,895)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,539 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Trade secrets and processes</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">20.0 years</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,256 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,643)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,613 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Total intangible assets </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9.6 years</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">94,979 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(26,558)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">68,421 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-bottom:6pt;margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:41.297%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.625%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">As of December 31, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Weighted-Average <br/>Amortization Period</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Gross Carrying Amount</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Accumulated Amortization</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Net</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Finite-lived intangible assets:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Developed technology</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8.8 years</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">83,289 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(19,640)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">63,649 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Customer relationships</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15.0 years</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,579 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2,851)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,728 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Trade secrets and processes</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">20.0 years</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,256 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,577)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,679 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Total intangible assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9.6 years</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">95,124 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(24,068)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">71,056 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div> P8Y9M18D 83289000 22020000 61269000 P15Y 6434000 2895000 3539000 P20Y 5256000 1643000 3613000 P9Y7M6D 94979000 26558000 68421000 P8Y9M18D 83289000 19640000 63649000 P15Y 6579000 2851000 3728000 P20Y 5256000 1577000 3679000 P9Y7M6D 95124000 24068000 71056000 5300000 <div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the amortization recorded related to the Company’s finite-lived intangible assets for the three months ended March 31, 2024 and 2023 (in thousands):</span></div><div style="margin-bottom:6pt;margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:65.859%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.689%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.692%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Three Months Ended March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cost of revenue</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">66 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">66 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Sales, general and administrative</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,487 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,486 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,553 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,552 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div> 66000 66000 2487000 2486000 2553000 2552000 <div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">6. Goodwill </span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the changes in goodwill during the three months ended March 31, 2024 (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:81.597%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.470%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Total Company</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balance as of December 31, 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">166,270 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign currency translation </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(167)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balance as of March 31, 2024</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">166,103 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Goodwill Impairment Review</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company reviews goodwill for impairment annually on October 31, or more frequently if events or circumstances indicate that an impairment loss may have occurred. The Company determined there were no impairment indicators as of March 31, 2024.</span></div> <div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the changes in goodwill during the three months ended March 31, 2024 (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:81.597%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.470%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Total Company</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balance as of December 31, 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">166,270 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign currency translation </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(167)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balance as of March 31, 2024</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">166,103 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 166270000 -167000 166103000 0 <div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">7. Indebtedness </span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Credit Agreement</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On April 24, 2020, the Company entered into a Credit Agreement (the “Credit Agreement”) with JPMorgan Chase Bank, N.A., as administrative agent and lender, and Bank of America, N.A. and Citibank, N.A. as lenders. The Credit Agreement was secured and provided for up to $100 million in available revolving borrowing capacity with an option, subject to certain conditions, for the Company to increase the aggregate borrowing capacity to up to $150 million, </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">and originally matured on April 23, 2021. During the three months ended March 31, 2021, 2022 and 2023, the Credit Agreement was amended to extend the maturity date and make other changes to the terms of the Credit Agreement.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> The Credit Agreement matured on February 16, 2024 and was not renewed.</span></div> 100000000 150000000 <div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">8. Commitments and Contingencies </span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Royalty Obligations</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In March 2005, the Company entered into a license agreement that requires the Company to make minimum royalty payments to the licensor on a quarterly basis. As of December 31, 2018, the license agreement required minimum annual royalty payments of $0.1 million in equal quarterly installments. In July 2019, the Company amended the license agreement to extend its term for an additional ten years and to increase the required minimum annual royalty payments by $0.2 million for a required minimum annual royalty payment of $0.3 million. Unless terminated earlier, the term of the amended license agreement shall expire June 30, 2029.</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Royalty expense included in cost of sales for the three months ended March 31, 2024 and 2023 was $0.6 million and $0.7 million, respectively.</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Contingencies</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">From time to time, the Company may have certain contingent liabilities that arise in the ordinary course of business. The Company accrues a liability for such matters when it is probable that future expenditures will be made and such expenditures can be reasonably estimated.</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Indemnification </span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company enters into standard indemnification arrangements in the ordinary course of business. In many such arrangements, the Company agrees to indemnify, hold harmless, and reimburse the indemnified parties for losses suffered or </span></div><div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">incurred by the indemnified parties in connection with any trade secret, copyright, patent or other intellectual property infringement claim by any third-party with respect to the Company’s technology. The Company also agrees to indemnify many indemnified parties for product defect and similar claims. The term of these indemnification agreements is generally perpetual. The maximum potential amount of future payments the Company could be required to make under these agreements is not determinable because it involves claims that may be made against the Company in the future, but have not yet been made.</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">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, other than liabilities arising from willful misconduct of the individual.</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has not incurred costs to defend lawsuits or settle claims related to these indemnification agreements. No liability associated with any of these indemnification requirements has been recorded to date.</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Litigation</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">From time to time, the Company is subject to certain legal proceedings, as well as demands, claims and threatened litigation that arise in the normal course of our business. The Company reviews the status of each significant matter quarterly and assesses its potential financial exposure. If the potential loss from a claim or legal proceeding is considered probable and the amount can be reasonably estimated, the Company records a liability and an expense for the estimated loss and discloses it in the Company’s financial statements if it is significant. If the Company determines that a loss is possible and the range of the loss can be reasonably determined, the Company does not record a liability or an expense but the Company discloses the range of the possible loss. The Company bases its judgments on the best information available at the time. As additional information becomes available, the Company reassesses the potential liability related to its pending claims and litigation and may revise its estimates.</span></div>On April 7, 2023, a former contractor who had been retained by the Company through a third party staffing agency filed a putative class action lawsuit as well as a Private Attorney General Act (“PAGA”) representative action complaint against the Company in the Superior Court of the State of California for the County of Alameda, on behalf of the contractor and similarly situated Company contractors and employees in California, alleging various claims pursuant to the California Labor Code related to wages, overtime, meal and rest breaks, reimbursement of business expenses, wage statements and records, and other similar allegations. Additionally, on April 10, 2023, a current employee of the Company filed a PAGA representative action complaint against the Company in the Superior Court of the State of California for the County of Alameda, on behalf of the employee and similarly situated Company employees in California, alleging similar claims. The complaints seek payment of various alleged unpaid wages, penalties, interest and attorneys’ fees in unspecified amounts. On April 22, 2024, the Company engaged in mediation, following which the parties agreed to settle the claims for an aggregate amount of $4.6 million, subject to negotiation of a mutually agreeable settlement agreement and approval by the court. As a result, the Company recorded an accrual of $4.6 million in its financial statements for the three months ended March 31, 2024 related to these matters. 100000 P10Y 200000 300000 600000 700000 4600000 4600000 <div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">9. Stockholders’ Equity</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Stock-based Compensation</span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock-based compensation expense is associated with restricted stock units (“RSUs”), RSUs with performance conditions (“PSUs”), stock options, and the Company’s Employee Stock Purchase Plan (“ESPP”).</span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Certain PSUs granted to senior management during the three months ended March 31, 2024, will vest subject to the achievement of pre-established financial performance targets for the year ending December 31, 2024, and continued service. The fair value of these PSUs is based on the closing price of the Company's common stock on the date of grant. Stock-based compensation costs associated with these PSUs are recognized over the requisite service period of 4.25 years using graded vesting which results in more accelerated expense recognition compared to traditional time-based vesting over the same vesting period. Each reporting period, the Company monitors the probability of achieving the performance targets and may adjust periodic stock-based compensation expense based on its determination of the likelihood of achieving these performance targets and the estimated number of shares of common stock that will vest. The actual number of PSUs awarded is based on the actual performance during the performance period compared to the performance targets.</span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the stock-based compensation expense included in the Company’s condensed consolidated statements of operations for the </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%">three</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> months ended March 31, 2024 and 2023 (in thousands):</span></div><div style="margin-bottom:6pt;margin-top:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:64.397%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.423%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Three Months Ended March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cost of revenue</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,194 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,191 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Research and development</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,168 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,278 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Sales, general and administrative</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,207 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,297 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13,569 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12,766 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of March 31, 2024, total unrecognized compensation cost related to unvested share-based compensation arrangements, excluding PSUs, was $56.4 million, which is expected to be recognized over a weighted average period of 2.6 years.</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of March 31, 2024, total unrecognized compensation cost related to unvested PSU share-based compensation arrangements was $27.3 million, which is expected to be recognized over a weighted average period of 3.5 years.</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The total stock-based compensation cost capitalized in inventory was $1.2 million and $1.3 million as of March 31, 2024 and December 31, 2023, respectively.</span></div> P4Y3M <div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the stock-based compensation expense included in the Company’s condensed consolidated statements of operations for the </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%">three</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> months ended March 31, 2024 and 2023 (in thousands):</span></div><div style="margin-bottom:6pt;margin-top:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:64.397%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.423%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Three Months Ended March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cost of revenue</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,194 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,191 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Research and development</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,168 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,278 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Sales, general and administrative</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,207 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,297 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13,569 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12,766 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div> 1194000 1191000 2168000 2278000 10207000 9297000 13569000 12766000 56400000 P2Y7M6D 27300000 P3Y6M 1200000 1300000 <div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">10. Accumulated Other Comprehensive Income</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other comprehensive (loss) income consists of two components: unrealized gains or losses on the Company’s available-for-sale marketable investments and gains or losses from foreign currency translation adjustments. Until realized and reported as a component of consolidated net income, these comprehensive income items accumulate and are included within accumulated other comprehensive income. Unrealized gains and losses on our marketable investments are reclassified from accumulated other comprehensive income into earnings when realized upon sale, and are determined based on specific identification of securities sold. Gains and losses from the translation of assets and liabilities denominated in non-U.S. dollar functional currencies are included in accumulated other comprehensive income.</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the changes in the accumulated balances during the period, and includes information regarding the manner in which the reclassifications out of accumulated other comprehensive income into earnings affect our condensed consolidated statements of comprehensive income (loss) (in thousands):    </span></div><div style="margin-bottom:6pt;margin-top:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:37.496%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.402%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.402%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.402%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.402%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.402%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.414%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Three Months Ended March 31, 2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Three Months Ended March 31, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:120%"> Marketable<br/>Investments</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:120%"> Currency Translation<br/>Adjustments</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:120%"> Total</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:120%"> Marketable<br/>Investments</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:120%"> Currency Translation<br/>Adjustments</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:120%"> Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Balance, beginning of the period</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(558)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(2,593)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(3,151)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(3,500)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(4,624)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(8,124)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">Other comprehensive loss before reclassifications:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="margin-bottom:3pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">Unrealized gains — marketable investments</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:400;line-height:120%;position:relative;top:-2.8pt;vertical-align:baseline">(1)</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">166 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">166 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">860 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">860 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">Foreign currency translation (losses) gains</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(1,857)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(1,857)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">403 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">403 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">Income tax effect — expense</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">4 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">4 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">Net of tax</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">166 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(1,853)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(1,687)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">860 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">403 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">1,263 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">Net current-year other comprehensive income (loss)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">166 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(1,853)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(1,687)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">860 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">403 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">1,263 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Balance, end of the period</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(392)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(4,446)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(4,838)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(2,640)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(4,221)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(6,861)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:19.298%"><tr><td style="width:1.0%"></td><td style="width:98.900%"></td><td style="width:0.1%"></td></tr><tr style="height:3pt"><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td></tr></table></div><div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(1) </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There were no unrealized gains or losses recorded in connection with the Company’s non-marketable debt securities as of March 31, 2024.</span></div> <div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the changes in the accumulated balances during the period, and includes information regarding the manner in which the reclassifications out of accumulated other comprehensive income into earnings affect our condensed consolidated statements of comprehensive income (loss) (in thousands):    </span></div><div style="margin-bottom:6pt;margin-top:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:37.496%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.402%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.402%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.402%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.402%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.402%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.414%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Three Months Ended March 31, 2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Three Months Ended March 31, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:120%"> Marketable<br/>Investments</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:120%"> Currency Translation<br/>Adjustments</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:120%"> Total</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:120%"> Marketable<br/>Investments</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:120%"> Currency Translation<br/>Adjustments</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:120%"> Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Balance, beginning of the period</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(558)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(2,593)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(3,151)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(3,500)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(4,624)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(8,124)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">Other comprehensive loss before reclassifications:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="margin-bottom:3pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">Unrealized gains — marketable investments</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:400;line-height:120%;position:relative;top:-2.8pt;vertical-align:baseline">(1)</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">166 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">166 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">860 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">860 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">Foreign currency translation (losses) gains</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(1,857)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(1,857)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">403 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">403 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">Income tax effect — expense</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">4 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">4 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">Net of tax</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">166 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(1,853)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(1,687)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">860 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">403 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">1,263 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">Net current-year other comprehensive income (loss)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">166 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(1,853)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(1,687)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">860 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">403 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">1,263 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Balance, end of the period</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(392)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(4,446)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(4,838)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(2,640)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(4,221)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(6,861)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:19.298%"><tr><td style="width:1.0%"></td><td style="width:98.900%"></td><td style="width:0.1%"></td></tr><tr style="height:3pt"><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td></tr></table></div><div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(1) </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There were no unrealized gains or losses recorded in connection with the Company’s non-marketable debt securities as of March 31, 2024.</span></div> -558000 -2593000 -3151000 -3500000 -4624000 -8124000 166000 0 166000 860000 0 860000 0 -1857000 -1857000 0 403000 403000 0 -4000 -4000 0 0 0 166000 -1853000 -1687000 860000 403000 1263000 166000 -1853000 -1687000 860000 403000 1263000 -392000 -4446000 -4838000 -2640000 -4221000 -6861000 <div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">11. Income Taxes </span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company’s income tax expense (benefit), deferred tax assets and liabilities, and reserves for unrecognized tax benefits reflect management’s best assessment of estimated current and future taxes to be paid. The Company is subject to income taxes in both the United States and foreign jurisdictions. Significant judgment and estimates are required in determining the consolidated income tax expense (benefit).</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During interim periods, the Company generally utilizes the estimated annual effective tax rate (“AETR”) method which involves the use of forecasted information. Under the AETR method, the provision is calculated by applying the estimated </span></div><div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">AETR for the full fiscal year to “ordinary” income or loss (pretax income or loss excluding unusual or infrequently occurring discrete items) for the reporting period. Jurisdictions with tax assets for which the Company believes a tax benefit cannot be realized are excluded from the computation of its AETR.</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company’s provision for income taxes was $3.6 million for the three months ended March 31, 2024, compared to $0.1 million for the three months ended March 31, 2023. The effective tax rate was 24.8% for the three months ended March 31, 2024, compared to 1.0% for the three months ended March 31, 2023. The change in effective tax rate was primarily attributable to an increase in tax expense due to profit increase and a decrease in excess tax benefits from stock-based compensation attributable to its U.S. jurisdiction.</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Significant domestic deferred tax assets (“DTAs”) were generated in recent years, primarily due to excess tax benefits from stock option exercises and vesting of restricted stock units. The Company evaluates all available positive and negative evidence, objective and subjective in nature, in each reporting period to determine if sufficient taxable income will be generated to realize the benefits of its DTAs and, if not, a valuation allowance to reduce the DTAs is recorded. </span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of March 31, 2024, the Company maintains a valuation allowance primarily against its California R&amp;D tax credit DTAs for which the Company does not believe a tax benefit is more likely than not to be realized due to the computation of California taxes under the single sales factor and non-conformity of the Section 174 capitalization rule.</span></div>The Company maintains that all foreign earnings, with the exception of a portion of the earnings of its German subsidiary, are permanently reinvested outside the United States and therefore deferred taxes attributable to such earnings are not provided for in the Company’s condensed consolidated financial statements as of March 31, 2024. 3600000 100000 0.248 0.010 <div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">12. Net Income per Share </span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company computed basic net income per share based on the weighted average number of shares of common stock outstanding during the period. The Company computed diluted net income per share based on the weighted average number of shares of common stock outstanding plus potentially dilutive common stock equivalents outstanding during the period. For the purposes of this calculation, stock options, restricted stock units, performance stock units, and stock sold through the ESPP are considered common stock equivalents.</span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A reconciliation of the numerator and denominator used in the calculation of the basic and diluted net income per share is as follows (in thousands, except share and per share amounts):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:74.046%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.599%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Three Months Ended March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Numerator:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net income</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">11,002 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8,562 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Denominator:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="margin-bottom:3pt;padding-left:4.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted average shares used to compute net income attributable to common stockholders:</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Basic</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">38,717,334 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">38,186,342 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Potential dilutive stock-based options and awards</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">670,025 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">889,046 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Diluted</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">39,387,359 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">39,075,388 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net income per share:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Basic</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.28 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.22 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Diluted</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.28 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.22 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the three months ended March 31, 2024 and 2023, outstanding stock-based awards of 26 thousand and 26 thousand shares, respectively, were excluded from the computation of diluted net income per share because their effect would have been anti-dilutive in the periods presented.</span></div> <div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A reconciliation of the numerator and denominator used in the calculation of the basic and diluted net income per share is as follows (in thousands, except share and per share amounts):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:74.046%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.599%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Three Months Ended March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Numerator:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net income</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">11,002 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8,562 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Denominator:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="margin-bottom:3pt;padding-left:4.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted average shares used to compute net income attributable to common stockholders:</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Basic</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">38,717,334 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">38,186,342 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Potential dilutive stock-based options and awards</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">670,025 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">889,046 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Diluted</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">39,387,359 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">39,075,388 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net income per share:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Basic</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.28 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.22 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Diluted</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.28 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.22 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div> 11002000 8562000 38717334 38186342 670025 889046 39387359 39075388 0.28 0.22 0.28 0.22 26000 26000 <div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">13. Interest and other income (expense), net </span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table shows the components of interest and other income (expense), net for the three months ended March 31, 2024 and 2023 and (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:74.192%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.599%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Three Months Ended March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Interest income</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,293 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">970 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Interest expense</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(402)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(416)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="margin-bottom:3pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other income (expense), net</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(366)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">90 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Interest and other income, net</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,525 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">644 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:19.298%"><tr><td style="width:1.0%"></td><td style="width:98.900%"></td><td style="width:0.1%"></td></tr><tr style="height:3pt"><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td></tr></table></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(1) </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Consists primarily of the effects of foreign currency gains or losses.</span></div> <div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table shows the components of interest and other income (expense), net for the three months ended March 31, 2024 and 2023 and (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:74.192%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.599%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Three Months Ended March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Interest income</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,293 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">970 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Interest expense</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(402)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(416)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="margin-bottom:3pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other income (expense), net</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(366)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">90 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Interest and other income, net</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,525 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">644 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:19.298%"><tr><td style="width:1.0%"></td><td style="width:98.900%"></td><td style="width:0.1%"></td></tr><tr style="height:3pt"><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td></tr></table></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(1) </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Consists primarily of the effects of foreign currency gains or losses.</span></div> 3293000 970000 402000 416000 -366000 90000 2525000 644000 <div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">14. Revenues </span></div><div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Revenue Recognition</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenue is recognized in an amount that reflects the consideration the Company expects to be entitled to in exchange for goods or services. All revenue recognized in the condensed consolidated statements of operations is considered to be revenue from contracts with customers.</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Certain changes in presentation were made to the Company’s revenues disaggregated by product categories for the period ended March 31, 2023 to conform to the presentation for the period ended March 31, 2024. During the year ended December 31, 2023, the Company made changes to its product categories to provide investors with more meaningful information to understand the performance of its business and strategic direction.</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company’s revenues disaggregated by geography, based on the destination to which the Company ships its products, for the three months ended March 31, 2024 and 2023 was as follows (in thousands):</span></div><div style="margin-bottom:6pt;margin-top:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:72.876%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.180%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.184%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Three Months Ended March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">United States</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">209,644 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">171,879 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">International</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">69,011 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">69,519 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">278,655 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">241,398 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company’s revenues disaggregated by product category for the three months ended March 31, 2024 and 2023 was as follows (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:72.876%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.180%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.184%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Three Months Ended March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Thrombectomy</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">187,703 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">144,980 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Embolization and Access</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">90,952 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">96,418 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">278,655 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">241,398 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Performance Obligations</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Delivery of products - The Company’s contracts with customers, other than the China licensing arrangements described below, typically contain a single performance obligation, delivery of the Company’s products. Satisfaction of that performance obligation occurs when control of the promised goods transfers to the customer, which is generally upon shipment or receipt by customer for non-consignment sale agreements and upon utilization for consignment sale agreements.</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Payment terms - The Company’s payment terms vary by the type and location of our customer. The timing between fulfillment of performance obligations and when payment is due is not significant and does not give rise to financing transactions. The Company did not have any contracts with significant financing components as of March 31, 2024 and 2023.</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Product returns - The Company may allow customers to return products purchased at the Company’s discretion. The Company estimates the amount of its product sales that may be returned by its customers and records this estimate as a </span></div><div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">reduction of revenue in the period in which the related product revenue is recognized. The Company currently estimates product return liabilities using its own historic sales information, trends, industry data, and other relevant data points.</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Warranties - The Company offers its standard warranty to all customers and it is not available for sale on a standalone basis. The Company’s standard warranty represents its guarantee that its products function as intended, are free from defects, and comply with agreed-upon specifications and quality standards. This assurance does not constitute a service and is not a separate performance obligation.</span></div><div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Transaction Price</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenue is recorded at the net sales price, which includes estimates of variable consideration such as product returns utilizing historical return rates, rebates, discounts, and other adjustments to net revenue. To the extent the transaction price includes variable consideration, the Company estimates the amount of variable consideration that should be included in the transaction price. When determining if variable consideration should be constrained, management considers whether there are factors that could result in a significant reversal of revenue and the likelihood of a potential reversal. Variable consideration is included in revenue only to the extent that it is probable that a significant reversal of the revenue recognized will not occur when the uncertainty associated with the variable consideration is subsequently resolved. These estimates are reassessed each reporting period as required. During the three months ended March 31, 2024 and 2023, the Company made no material changes in estimates for variable consideration. When the Company performs shipping and handling activities after control of goods is transferred to the customer, they are considered as fulfillment activities, and costs are accrued for when the related revenue is recognized. Taxes collected from customers relating to product sales and remitted to governmental authorities are excluded from revenues.</span></div><div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Contract assets and liabilities </span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:13.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following information summarizes the Company’s contract assets and liabilities (in thousands): </span></div><div style="margin-bottom:6pt;margin-top:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:68.198%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.519%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.523%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">March 31, 2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">December 31, 2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Contract assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">18,000 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">18,000 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Contract liabilities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7,261 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,496 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Contract assets for the periods presented primarily represent the difference between the revenue that was recognized based on the relative standalone selling price of the related performance obligations satisfied and the contractual billing terms in the licensing arrangements. </span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Contract liabilities represents amounts that the Company has already invoiced and are ultimately expected to be recognized as revenue, but for which not all revenue recognition criteria have been met and is recognized as the associated performance obligations are satisfied.</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">China Distribution and Technology Licensing Agreement</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In December 2020, the Company entered into a distribution and technology licensing arrangement with its existing distribution partner in China. In addition to modifying the Company’s standard distribution agreement with its partner in China, the Company agreed to license the technology for certain products to its partner in China to permit the manufacturing and commercialization of such products in China as well as provide certain regulatory support. During the three months ended March 31, 2022, the Company further amended the distribution agreement and entered into an additional license arrangement, pursuant to which the Company agreed to license the technology for additional products to its partner in China on substantially the same terms as the existing license arrangement. Apart from the standard distribution agreement, the Company will receive fixed payments upon transferring its distinct licensed technology and providing related regulatory support. During the three months ended September 30, 2023, the Company entered into an additional licensing arrangement, pursuant to which the Company agreed to license the technology for additional products to its partner in China and will receive fixed payments upon transferring its distinct licensed technology and providing related regulatory support and royalty payments on the down-stream sale of the licensed products. During the three months ended March 31, 2024, the Company entered into another licensing agreement, pursuant to which the Company agreed to license the technology for additional products to its partner in China and will receive fixed payments upon transferring its distinct licensed technology and providing related regulatory support.</span></div> <div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company’s revenues disaggregated by geography, based on the destination to which the Company ships its products, for the three months ended March 31, 2024 and 2023 was as follows (in thousands):</span></div><div style="margin-bottom:6pt;margin-top:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:72.876%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.180%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.184%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Three Months Ended March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">United States</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">209,644 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">171,879 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">International</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">69,011 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">69,519 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">278,655 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">241,398 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company’s revenues disaggregated by product category for the three months ended March 31, 2024 and 2023 was as follows (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:72.876%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.180%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.184%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Three Months Ended March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Thrombectomy</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">187,703 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">144,980 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Embolization and Access</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">90,952 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">96,418 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">278,655 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">241,398 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div> 209644000 171879000 69011000 69519000 278655000 241398000 187703000 144980000 90952000 96418000 278655000 241398000 <div style="margin-bottom:6pt;margin-top:9pt;text-indent:13.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following information summarizes the Company’s contract assets and liabilities (in thousands): </span></div><div style="margin-bottom:6pt;margin-top:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:68.198%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.519%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.523%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">March 31, 2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">December 31, 2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Contract assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">18,000 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">18,000 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Contract liabilities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7,261 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,496 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 18000000 18000000 7261000 6496000 false false false false

Q:LT@QDU,G$PJ5QQ(_VK6!(4NRWBRJR=U''R@HOL;5. M!I9J3DPFE-3'J&*@#B+N1C0DHTG#D+4I=AJ-$-K#U7-X!D(%*R-O9Q^EV,Z, MX *G/9QKH\=WM0M<2>J$S#4(@PH<^R'"+H-.6B>RJF1?"78&:B1%4AS_,Z<; M&BL5FEL9F'3HDSE5$SLZ/?_M_4$L# M!!0 ( )F%IUCPKK29'R8 &J 0 4 <&5N+3(P,C0P,S,Q7V1E9BYX M;6SM?5MW4TFRYGO_"J;.ZT21]TNM[CZ+HBZ'M:B" 6KZS)-67B)MG9:U:4FF MO(!)]-A-_[;=_Q[ M]MT3'*_@/ON/__^E[_\]7\!_/>/;UX^^:E+YV3X?ON[Y=<_WOC^GW+^;>Z]?SK_[:>O3H>KODB/Y4__^[>7;],I MG@48CJ>S,$Y7+Z#7Y]FG__@Y&OUT\4OZZG3XPW3^_U]V*;*07)BD23?"-UB>+/_YQYL7-Y$.Q[.G>7CV M=/F=IV$T(L3S)\PNWN/?OIL.S]Z/\/*STPF6M>@OAUQ!Z0KG/^K3GNZ,Z92 M3-)Y1*!/<5PIWA#CJJ?OCOG3LR!C">>C64/$-Y_=%&]W%H8M!7SCT0W0SA\$ M9W@6<=(2ZA?/_0SG)V, M_JS&=MJ5M[,N_?.T&V4RU3__ZWPXN_@)RS --^ 'O0>JZ65R,=G_8_MW?#8B MHLYP/*S6Z"7]N'Q1A=[[V/#C#,<9%\;J$LZH2U]\:51-9?=)MZ,0<33_=' ^ MA9,0W@\^O9GPXPOZYW3 M% V1 7( @=E%2U!W!@RCMH)S^E7PMYDQO22:25, MXYP;RU<01X1\BJ/9]/*3*G\YE_UZ% LA-QC7NQ!'.,@JRV!"!"&\I3&Q!-Z' M CK+Q*QVVBK9UYCF"+X_. MWG?C.M6>?1Q.!SR%D%W6Y#X%"2HR \ZR")K+P#T7#C/KBQBK #7DR2T+_BV\ MN8>BUW%F9X&OHM".;+B&Z:?Y4K41J,$U%Z01&U8":LB"M2[4+1S877%=7U+? M&R5R-EQ8;L%'RT"I.+>:$JR,T2)%8MKFKY<*7WBGAV?"-L+N@0$$YZP;SQVO MW^9.ZT!J%D12$K(N!52.&F(("(S3\(00!3EOK/T;(%IJ?I6G?U/M#933M93L M356S757]+.>Y$,/H=1CF%^/GX?UP%D9+0'?#&F8 TO@7*7 M;"%DTCH2 2-[%[)7H(*/1=,8B->MJ;$IN =!DUXT<9,R8E?*O,$9C17SSV$R M'HY/II>HC.&T*DHP1EB7;O)GF.2!U4$RRP5P7XF:*E$3)I"I!*70,N2Q M,26VA+A_KC3.3_2IDAZ\C[>G88+35^>SN@%2=Y4&3BC)1W DYHA>3*?GF'\ZGQ Q7^-DV.4%7^=__D@R MR75=)2]HON4Y*-K&X&V!PJV@1=4JB))'X-84[YSVA;?.2MP#YB-@4H]ZZ\%S M60/Y_X;1.:Y!+(IQC%-@QB,G"453P'&AP07&! T G6^_8[(MRD=)M%9:N\DS MU<:_J7$^C?]=^/B/X>RTBH:PTP=K,&O!M38Z@PXL@?(ZTMRP'++W-OA,$R3;7KW7-[_G$]G\VWS-SC/'+SK-H6>4#G)! -M0C7(18-' M"E9-%#E&D72RS=,Y]X?[L+FW+SW>I*!I2,%WW9I,YQQYO([\#9(,I\,9OL7) MAV'"A6U_@ZD[6>AV;N8'W(54F(S K*#@.*"#J'D@@ZZ\(ZD*\B#ZXVDO8WHT M9#X\(VXRWN[*^'7)V9?==/H[SEX5FKD##-(KHR4P@36R8@&"J"D=9GR(GL4@ M7&/6;H+K83.ON69NLL?MRA["<05J@*)HBK(S1.L,@1$>8C(24!"5,16>BFA, MDR\ /&P^W%_6-Q7OVV<^"09J623H),AY=-F"%\E"2B&GHF3PW.\W\]DDE9DU7K^D'W>HQGTQ_H#+I8W$ M]TL83N8K4E=^&8[#. W#Z,5X.IO,3T1,?Z7_6[]6R8?3KOP6)O_$62TN^^PQ M/]5]GM'T'E6[_6%I4]V[)UFUJ@).IYC/1_BJ//M +ZEOKBYW&)$ODLXG) *< M7FW8&)3.&9_!2U\/GQ@R),LZO'7G_AHD!2 MV^Q9CHD"C9A!9:1I+CU"D58Q'TU!MJ)\?B<9; !K;U7&O?'E^B+66A?'4I6\ MP@S,:^NBD=DX6\!I$I.*55;.J+IJ(P^Y6!U;>\YKH!RJ$KFYQKOVDN]A5_#= M)(RGA5;P9^.\" #)/WFUU?CX=$YNY&!"R%T=OSF()G (GWTUS$V@0*D!0ID!&B2$IG\OUM:UO MTFT&_!$SL0?-]G':_9Z#J'4)5X.0.0FKI0;E4XU=F8&0K09CG)$YRJQTZ_1" M$^#?Z-E2LSUD)6[?^7TV&G5_UK:A]//S">;A;%[7)B@040+)SB=;/0I7,RE6 M ,TDM+)($E[K0O[[X'S(Y.M=;STD*-;+Y,O1/#^?3,A_': +F+-AP%(MZTO. M04">(4;I@W4.36Z=LM@2XD-F6)_:6INW.&CYY%40=36Z^K4O3??KNA]!R/94 M1WD_4 MS6EA,%*!U0*M0;11MZZ ^VHK*[?AR[TJ*[?0Q;%75F9-EM]F#XZA MJ,ZMA."$H]A+>64BCRFV7L&_QLK*;32^867E-I(_]CJU3<;RK;)R#0&;$*3/ M@K7[:/?8&2OJ5IU3!H2D@2E,$8*(!4R)%'EI:T3S=,WQ,_6>E95'0]1ME'I< ME962%R4C%\"*E:",=A0&&@69:2NL8%IC\]JVQUI9N15+VE56;J/B/5=6!BN- M#CF U[5=1,@C52TGXK*S'JS D0E%QOY]*Z M@//:@Y1>2B,]R:!U#/%@*RMW84\C%1VNLC(YE"45"MPQU?(\3C$[SP9DU/2# M4RXW3W(\BLK*W4C57'5[KZPT6@@D$8!TB<:?9(#(Z4MZ-9\/Q>7<^79TP?XG3Z;O3,.;B-_KFZ73 ,7%6=N,3 M6FX*\\'I(B!B#+3<*!)Q'9*QQ@NGK,HF'16OKX_@&Y%[T?7>J[BV'F# M)B>;@\^FGMJ-"($P0+'*654B#^*X#/0= _K&ZWTPH8;:?3'7\C>6&'$NIX ^MM[M+8:\_7I4H(VHM3Y@:4> MY3,6O'0"LH_22*%"DOOU #:"_8V)[;2Z]BS>00L=/WWV;#K%^7]X.0QQ.%HF M2VJ2%W.8?7K*GDH=[POK ,6.3238J-SQTTL66)ZMQ/)J_*;2OMYHL3@Q.+G\ M<7Z(ZVIV,9\*$=B#L_40NV0TNWR](3+)F)+)*K#6M]TT'<#.I6P-P"S*NB1/ M:%**0'Z1KM=L&@A1(J MPI=@/?UQA)+<:^GEX;A[HY#N('H_F@+.R]'_>+$< M:WWJ+Q/\USF.T\6\$,=9@SI[!&UJ$M(5!%]\!)N%B\9)H5/K*I(-8!VJL/- M?%G'VD9ZZR&K]@GB*H#+/9]-(/94X;D!O ,5;K96[3KJ--;+@2AD7 R,1P]> MU=9@NBAPV7) KD(Q.J'3K^5KZUH+5"1>N^!2USI#D7$GA9 M.$@6?8H\I8"M,]1'P*W-_:?CH-8V6NJ34B_&[\]GT[D$^&5EIL?"@P] :W>I MT!C$Z#D4S9A7#KEKWC?I%CC'X3HU4N0ZRNRHA3Y]I\^@B24T[2P-VAIP(CIR MZY#=G:,A:33 H@?9*@R-N'Z%4& MK3-]+@F9WH<%D8^3(/?10@^>\>JS;?-E-EG.= HC?'6LY.;8.\IT-H%]V'BKE8C-=OW1@O%GT#?SD? MY\O1YB2=$#)#40L::"*7D[VK^TYH%!J M;Y*@$ 9KPQ-KP/-"UOOLU_7$T(CR-[T$(_/1ST:-J\8).Q?&M5N(ZF+0C2 M9P>X^VCWV%L5%LY*,JR>8;%DM+5!<,XJ2$E$QYC1:+]= OVU$74;I1Y74@)S M=+R( (4 UWNT)429 ^1H1 M GU+U'N]#\*/851OG7M[BCC[==*=OR\^ KV50>A52X[AM)ZP)W$.*&I +6B^ M.E5(2L%Z\,+%*B7N T?EFI]LWQC< 1BX5[UO5&*XJ]+V<*_ONNL1!X(F''(9 MH-3#(2IR11"=IG#56R-12,M;9[0VQ?;(N-6+RGH($A=R6,7Y2,Q.04BP)C!0 MS!+[;4 0B6..6&)IWL)^+9C'1IXF2ED;\;7O!S8+XY,AD7T!_/K/N[3TVNS) MK;IRW6,,MV=80:#Q.4C@M M!11;[\94@6QOZT9JM\ Y5!%/7P3H^E%$#R[W&FC+I,LFX'HJO;D5V&%J:9JI M<3-Z[*"#O1/%>D?^7S*@]?RV*HD0L ARVAA/P2L?2^LTU $(ZE+FE1KZ7:94.2M"1.<@F.! .6TA"$Z^.^=D/Z524;7>:+L!8O^!5$,E MW=C5V$7"/20!W^*(?G7R*XYQ0D'B.#_+9R3?&A#.: ']^2-%'=.K;1>FE1:: MQIH\#5WF AZC!E9"8E)P'6)S5W8;@ ^)*OUIIH\&!NM=KA\O?@O_TTV>C\)T M<111,N$,8P;0U,2DLQE\XA$BBR:(D(6V/6QS; KO@;NO?2FJCVY@ZZ%> ?T] MG.&E<[4!W+[Z@6T']6#EX_VH?G.*-=/;?DW82MB8>."!9?+].%GKD[[0..NO>8WV$Z'7>C[N3BS?#D]%/M M@A56&J<\F$P>H*K7;M9N-< IU,B(SI?0>HOU#D@'V;_H3Z4W+CIIIX\^]N;/ MIS/R*R=O<#3W)Z>GP_>?2C2#5+9>),UR)FB^,/",*T#K0C8R$?#6AN<6. ^; M)JWTT,\IIURW:"=X=7* R=K'P$ TC.PI+S32; 50:%"*SE+*YF6Q-U$\;$+L M*/4^=L/3O\Z'$\RW2.$?6$T;YF\Z^3>A681I%-B1Q4,I$< M/$QD(B69R$QK*WJ%)+C]^A#T29PW*QT6E%JK:;Y;H=YP-I/)&%'+21*C" ML"& #XI#L@37:F6%:GWD['9$CXLTVZJ@AQ,_*R#]_+$>Q:W)]:[+?PY'HP%S M*"W/!EQ)A!&=@%BR!IV\BBZ$0EY=\SW/NW$]0+(T5T"?)XF4N(<;B2!K2E2Q-PO9.\ZV('B!-&JI@CW?,9HRT/(YQNE/]Z,VG MM*H5O0-?H[K0RH!7Y3D%-6FA-8UVK<"VM58K'KX8I^.8$25N :NE*J%SP$ZO6X0VLXOQS'?#2F"&98I2O,YUO9PR,"Q8 '1%Y,TIS$U;^UR M \6AMK\;:?=Z^G8W*?=18O4%HLOSL!M@ZFGG>A6> S5.WU%7MZI^!T'OBP1, M,LU39L T^4A*Q @N!UF/,&>C!?UL6T>J^U/^78W+]Z#[;>3;2_/[#]WH P4Y M7X*[K +T5E&(3$%Q\#1:81)$EQ-YMDQRKU +T[Z[_2V ]A]1[*ZS&UWK6PF\ MA\SYJN7NM_!Q>'9^]F,WF71_5MSA/?UF=C%PEL(E%S+ID)$4I"4I,#00YRU3 MN)6:[<-C7H=O_US9KY/91"\-.50[8:S"^2PE>O0PC'_!,#N?X(MQJEV>*$H_ M&\X&Q=O@8^WDA%'44E2RIQ$I(O=<,<%L"N9:@P4)Y^AN>*@EYQY41RX>5DX#QRBJ?T96!&15C653.L#>VO![+J277_P M(F@3CIRU7&>9T\3]I!&<= RL$SRFHLEY:^W,K@2RK[1'&UU?7XUVE^VQI#NN MCV3NX@=7/;B"A-S20)3(X$PT]5KSE)RV3OO63N\J'(=*>330[AU\V5K*/<0] MUS$M/?M-4/64\EB-Z#!)C]TU=@<%=A#W_LB@LL5H@X%Z20(H7_=UZA6LIG"T M-B--B-;%S_LDP1W)CWUQ8!LI-]1]=9Z7CM>SDPG.UY7?Z,FG%#7IRWNY(G)7 M3 '+>4WV2 Y!H -D.@9AJJMN-@A.[GC-_D.1%IKH^A%C#TF-V\Y,*YXE)Q#D M]V1>,SD4)DOF ;TK7!0NO7X$/2K:+_FM9-Y#9=;M1V,W ?>M'<76:MRJWF,!1EK?E:D6E]H'"2G?$H\%-N\%/3K:D?1'S^V$?U>VE%D'V)* M3$(2JEX@(P,$DP4PYY4.VD?CFM\_3>PW*P'J#FU@MO!&1?C5;M1TNH.!AT M4>8FJIP5.<3:"LT4*%$%#V MRX%#N0>-%'6[^N\AY<9;WC-IY[EW#LC?E[NW+[#R=FK M\BE/-G#")LF4@NSJ-0_&9X@1XWPB8"DJ1IWO188U+WR8/&@AW7X2RY^!O*S! M^ D7?[\8WTI?G;TOS"IRH(L"1:LCN*PS^)!%CCR+DN6]F+$=CH=)F!YUT3!? M>:O1^S_G83+#R>CB.MAB@BJI7G_ )2>POAX^TAP2KX$R*D1U/Y-RQXL?)E-: M2KN'F'0)9]ES<4 AME<2-1B&A(;<("!W*$%47'L4R;3OFO$E@J^=! WDVL.Q MSY7;6G=.??X9)7?BZN1A>$TDOB))%9DL<5 8#*.<%&2I> MZMT6PGBA/"U[S:MRMP#X4#C2GU9ZN /N93>=7I4F?I]V(WC&M%WS-+N:?1/*>,LFIVLGY7%B:S/M7Z-[S16UJ=%N,LE&5[L\D MJ^X"<7&I);X]#1/\\3J.9Z/1RB?\58Q1.%- M/:UD:S!%\\ESZUH=^&P^AW=4X;8 M=CK(-U#"D@=H+2?#;HT! MQWV$+!Q:-"ZET-IF]C*0?54D'Y+7Z^_F.10CCJ4.^K9]?')<1+2*@59.4XQ3 M;R4MN8#U,:?@LPJE=Z^4LVM*-,ZG_%UE5CUQX]M1+^7$BL1%.K(-*": M=VLC0%'8#(7,I7.)^82/KL1J*R7=66*UC81[*+%Z@U.L=>//QGG9!+V.>!EI M+2$6IHN.2"-DJ2;B,@.OBP$CF OD",HB6E_1L@&LAT2+UEKHH\YBJPN(M(F) MUQP*JEJ&6,O1O(L%(A=>>>Z=9[EU?/8U7PVU"WGZTTP?_''U MG>6VX'P$5\,8Y]>C,/ZLS_\F8^JK7K2'\1PF;-J!)M>MUK'HN(^ULH^Q^1)4 ML5Q#\74OBP(-B$B3/3''K$DJF]CZY,O7P]L[HKDCI^TVJFU<,O5[-Z9UI'23 MLS!>+C^7GH*I]<#D?X!1CAQ.%@F5-05*9ER@D3Y>/V6QLJ9E_1L.4!Q[<.UU MS47?0U"X#E;FRL=0#Q=E1Q,G2@XN2P,<>>%698VR=>NQ;]199XE:*.D0:]^M M8GJ#_SH?3H>S2W]XX>/R0>WCG8VN7JVHP:^P$!EWP(N2M0A=>KWWQ>\^ ]D_ M;X]JY^_@W.C!6"YEAWGUZ"ZKV;A!Y-PST#X(4%+5*YFS@1BCL,6Q5%1K!F^& M['%3L@?M]6!4-Y(8^1,?<%HOY*FS9?JNFX71Y[^O4ON]F_T_G%W) GA.,R@+A='X4%1NW76KM\$\;B8?!T=ZR ;U-K"%"G[I)LN/ZO?X M@,7$3$P(@65-,6$($+FF8!$]-\XR'U+KWC3['>&W:7*D;.KAJ$(;R3\/[XO5^Y)0<=24?RIOF!QCJ*.KQM_:B/* MLS!6L@!:%PLJUC,N+E!0ZVSFSJ!)HGE5QFV #K7]WA\-KB>\FJFCCZ3"EYB6 M*>E-0/6T3;X2T(%:*K53W'6/JYG4]T8)LJJ":?10C*?XWQ)"SXL!-"$9F1+# MH+Y>*MS53&G/3-A&V#TPX#/3^#O._AA/<.'7OY@'Q%4.OQ+*:AV7VTTVJV!< M)*B!(RB?:3FV-D!BF9N24[&J^?6W6V(\0(BWNVK7>R[M]=+'KL@5WG>3,)Z. M%I%D_I_S!=I+E-P(9H*I]:R\;N!X\#$07FA8_/8BV43K-!U+R&CPE<3AZ4IE B M%FG !\NX]!A-;)V?Z&,<^R?B7B/X@ZN^CS;'-_H?##QJ'E2*P*4FOU($#<[K M B:PB$YXZ4WS\^TW4.R?2H?7[HT ?B?5]'AISJHI]B.6;H+7A3C]7!C!9R.\ MR_5^TT*6FY,<=$A0E"P1!<4MHG4)WVZ(OY%PGRKO8;%^E89K0"X^KE!GL\DP MGL]JONU=]SI4.0Y88"'5ZPMRCB2Q:"4XI0,8G;F0-E!TTSHTN"?4PS5*V@"B/B\5'0(<^;.V])#I R9AC.8&648+B5H!+W@()D).C M'I'+UJ'/_9!^XVA;9?90<;1^??CD$ZU:'K(KD2F;0:M8%D7O" MN3?X@3[&Z4_#:3@YF>"B 6]7EI_?OVANPP>W*9B[SR@:%528P\2"R0O=2Q*(59M&X??1>F7:?(FN5YMX8RR)B0.W*A:3"\8&7UEH"3,,67AM-^H$16]X#/&T$]7;%GW[D.5JK53 M:M=0N T3-)_AF5)\O41T>3?V)J"VJ4;;3/,W@>RW"JV-CFXJO)& ]Z9]*Z+( MR3IP1=7R!"; 2T'&43M>@D[%L8U6Q>/2^IJ"LSTJ?1NY-NXW\NZ4!APQS;JS MBV4Q02A96*,I/-0$2944(7I&48-"R1,RG>Q=?N3J)^\OEFHH[JZ9K!K?K_;S M6>Q&PW^'92*40D3\5&S&A0P&E0-,AF(?Y0HX8S+D4L\@A4#!_R;7']WRBJ]= MEZVDU]CV?JIN_16[DTEX?SI,832W.D&0$Z&B !95J&E$#C%Y!5KXE**0T;"- M;BZXP_:N!?"@'*XV8FZX83 'M?#2/X>T)/DFH!IZ76N![-_K:J2HKB\IMY[^ M:\%E)4,F=" QT_*"QD/0 J&(8G*,(0JV45GW<:G^%M=KGYK?1K@--9[JT=S) MQ>"/MP-CD7FD5WI12\1IW0)/!@Q*K>KD/C(3;SN_/<7T_4GWX>GRB0L-+W^X M4O#5^_:[>C<2?+>3U!I[7_.D^._=^(^WETZ#8=X9%R 0J.6Q-*XX.)E4#CPZ M=?U^D)4NU_7G?LV:VEE./=2=+-V'NJE2[R"KFR/_&,Y.GY]/R:O'R<\?T^@\ M#\S$K[7E]SH(M*5^1Y,LG;[49LPW* M1GLMO32M;;QOUWM?W>W%MJ[19MN1/^AVGNM,RQVB;5@!<4=;V<25S\8[,%P; M4%&1O:IW7):LZGVHJF3[K:/O33TVE.K:2V;7K ++C^L?]3K,O__E_P-02P,$ M% @ F86G6-.[J]@ULP 7OL& !0 !P96XM,C R-# S,S%?;&%B+GAM M;-R]:7/D.)(F_'U^!=[JUV:KS(0N'N!5[#S#\X7_^^S_]T[_^?Q#^[W>?/X+W.=D\LJP" M%P7#%:/@:UH]@.J!@3_RXN_I,P:W:UPE>?$(X;_7PR[RIY"H86(X\2)Y].@GG2=9G__1?PGQB4#7+RLK'_]MQ\>JNKIEY]__OKUZU^_ MQ<7ZKWEQ_[-C6>[/W=,_M(]_.WC^JUL_;4=1]'/]U^VC97KL03ZM_?/__O3Q M"WE@CQBF65GAC @"9?I+67_X,2>XJE$?Y0N1X-+V!9=_.47LYPGL&^*W.N35 M '.UN->F>!S"]-H8NW?<0K#Y&>Z1FRVOQP4?^4TM&3#1@3&LZK>GNL_L?(\H_Q?OA;2M"I7R$:!@Y G%J4((ILY,(X] M#/E*QE>GT'+XBK:JMM_Q%*7WTM^FA/^*^&O>9^69)V7 MFX+Q(J"MM];56'::Y.Y('1S9K=).>$%!M^P$]QG*[3 M*F7E'8[7[(Z?<]]Q,?Z^\GU& QLET'4B#Z(PH!![G@.)Y0:>9UFV$X=*:YDT MZ;D7M981D">@907T>%%@9L7D(SF\ M/4!:@FJ*K82CG*[/ MA8Z:^M=')KYC:O@ '2-GH&4%[)"[&$-.V2KH0&#(4"B17M1VZ("R;TZTYM"S M,%<9*1@NV7O6_'N5W3RQ E<-A90OJ^=Q61685*O ML,X]+EI2?P (B0"7%P[ M@5;,'&JY21S&CHI]D2<]LW6Y>."_\2-&FH&\XP#@LF15P(\=%S\)Z+:,@)83\&?'B\&CFCH ABR. N%%[8TZ(/O61F,& M=>_E;QDMUB_W7QC9%,*:_;VZ+5+"+AZR^UO^[9,< M7V:+O[,*U%R QH[(60@)3,:=N>;@4+, DDB<"4\O,7(0D9=6RY$[,O5B/EPY M$?ON6\D1FI[;!URP=]PDT(O\\8EE97VG<5X4XNV*"^+RWHO?&'!%!TD-LB ZCK2ZXWA& M*$RYF.=@<5EG](P@'[BMYZ2EOFNJ)_V5$Z_>XXI]P&GQ.UYOF.QVZ<3PF:V; MH -J0OP0)9P3-0= L""_-SHE^?BFR(#0.A9F)R38 6!FXS,BD=:.Y]2PI ?\ZV)$S.(W#B"V U-:.2:+M;6FZ2.J7K(UWQPV6RAGU /(H]Y M$%MQ EG(7,<)L17&L5KHHP35N2-%.A[$RMGGXG^ ]M@@X5:;@*GD&< T4FI* M;P0DC:A(!:&-14;*T%PX.E(!AL,(297!>L;C,WO.U\_"??GZ!J6)]^7K>.)' M40(]S A?Y!%?WT,+08:9XWM61!ER58S&(+69C<66]OX%H)IE& 9,SB(8@T'- M$IQ$8(:H:"D1#>G],*U%]5U*['T]EQLT.:#T&:=K$4WV(2^^X#5KW: I*S\S M(1VG61_@]Z(BP\")N06PH1U:/D01BV 8Q2'$"4M"PBR<(*P99JK%T-Q;BEYH M9>.FKT,IK[)G5E:U4T,[_E0/?\D]QH*H*FX_^K&J'6\PR0LHN ,[]L!K_I8* M8IT$E_G05CUVWBK@=1)X V&PT^;5LY272<((WVI=?B/UC=QGOOFZR2YP^2#^ M+S9=SYP5;@ ^-)N,(3SE@=0U+_P'8L MJEG<.=ZCG!%^X[>C9I=W+Z9C%PA^Q8L0/)S5_P4]5L[ CLOV$?&R]CY\/>(B MSZHTVX@M9QLGD6<&D^UG!-R099^#PT6-_8P0[]O_.4FI7R=]RIY2X:N[2Q\9 MY>N0N./Z':\_K/&][)72P!0S6]U/U[=7?4=OS8&PP*!_53=R[Z($R?A=DR$T MU*R<"A#@3\&+H71*"6FU[J*&YEWL/DI"N/Z=E,SC>GNV7BYF?=-<=L4?4.S9 M/F;0\:P$(N)2&/E)""//$75_^1U[7#OE,-_PE?@6OXC#VC;?, APY,46 M=!-B0X0"#,-0>)583%S/MQWD!(KYAD?(S*R?'5'PU%!53J [AHR<&1->325WA4[W+"O,[ M4RD1#2V#P[0670VEQ-Y?%.4&Z6GU=9YM,QN;@I27WX2G@*V('1#7LET8(HOP M4V62P(A_!BUL!;;GQH[C>RH5($Y24M)F]0H05QDW =P:UO[;O'I@!4AK\F<@ M8Z=W=(IHR2FV$0S4E+I/LJL*^V-+]73%/&5]'I7,D"Z?IK.H'H^*NZ_#XP-T M5^7'Q[2YJC_/:',#<<\RPNW#R@D9UUK/AUY$$XB\@'!=1@S&01@SBR5AXMIJ M:_))6K.OR%O*S9U9G[;J^GP:,-G5V0@,JFOS:P0NI!#06)9'93.V*)^FM/"2 M/"KRX8(\/D3]J'J5E2E_\J[ HH_);;Y.Q82W14X^*I1QE)AEOF]I2QRTU$%' MOO[*"AX8W=2>SH^F"SHJB*UUYI.9?[$SH(*P_3.ARC -3\MFS6PK]NSS@I-X MS"JJN-8%3!Y7)6;7JU?OT@1#;E M1[6$^5CTIHI@Q C_-?3]!#,OIKY2$.L8P9FU]#5Y$XVW2;7]E^7V!GQY2 M@M=UH(#C>"ZU$8%Q%%JB.KH-8R\A, PB*R0>CBRY<,)!*C/O(?KDQF()%* 9 M5G=C JNIMHJLTJHM)BK,?]NI[_#W1,[O<(-V2VOS\SU_5RQ]%RM?S_&NV"DCL>0X- M(+;Y;ARQT(6AYS#H."QQ?.:@,%(J5'-(8F:UWA($7P5%2#E)Q2O9([#(*>\T M856OMCHY_]C*:;)X]2E)C!6I/B"P<#'J4P(>%IT^^>1,M6H'"S?61_62<_*% M%<\I84W7='OEL<#&;ACPM=BW(:*."V/$*$P0M8D7,L9LI9X:LW YL^XW]0V+ MCC8H&^+@J:9NN&RMUEN2/)^_-?9JIJCF!=;,O$[LZU_GQ2^@_US+=5-9^*PM M,+SE'+2L@]OA-V>^#.X49)>J@ZO%X_=5"'<*S,J5<"<1TVY6TO12/^:DBXDM M=E?<2O,-%40Q83 ,L .3(.9[+1=;-E:J*SY$;/;=5AW 63>-5VXXV6 M&;E5-UZ=R/,7\Y21T%S7D-.DENX3,BKTD.#,9.S-=YW\))G 2>XT1*#I53E&;6 MWAU=4!.6[#"CB):D8\,$!HIKMY[XZIZ%,=%,>0=.TEGVA#\F[L$I?72 G@)O MFVRLJ'VJ[]/UIF)T13W'L_W8A@S9$40!M2"VJ \)@)6JP M8NRP5*:JOIZ@LFSEUF%1#ZJOCCRNIJU/+%M]SE_PNGJYB==ID^Y1?DHST9?] M/,LV>-W^>>N \RFRLCXO3&JJWQ("/4;.0 =;PPOHGAEU9DZ%C>9D(WZJ M'WTC^%[Q\#8P2IM6?20::\O'"PO*%=ZU:RNJ,>$BAE5?T,[63IA!/1_NEN5W MHC:0N)(^?Y1N&[\W;&;;>'MY VIR>V$;CZ+FH7Q&V[ZLPZ9OHIAJMDU/0J4T MM!.R:.6:[<^U6$+9"2'Z66.G'IE6F9:?6%CZ+$XFUZSJJK 29EL.8PAZ"8XA M0B2"F#@V](CO$Q]A)T!*!:2'B,T=DM:5;BVVM.LZ7^)"%:_7^=>ZX+*X)R1- MZ/4ZYR>\^K[U_W?/+,>JG0'\1]N/ *Y$5R3R %S[# BK7?_Q/9]95%[K/G7/ M.+'RB9$J?69KQ52SP?X?.@"5JBBB[88]#(:?5$@=64 M6556934=D,:0=AZCL*A2#HBXKXM#C^I>JSX]-:%#?,. RX;/\#5]8>;SY_.[ZYNKA4C)Z2 E--@T_"HJ72?>M.K2M ''0/S MM$%6D-C8]:P$R85O:N5!.+RT51BK?DAN*[^=%\6[EZN,-G=[DB?E8V-G5NZN MBF OM)QO(>,7P.FGSRG=X+7\H?FH[.,GYZEBJRFMA,3F[B;'Q-,Z41^=<+%C M]9 X_;/UX'/JOO_+QSA?I__5Y$%DE&^U6=E5?,=N@!.;,)CX'M\()RP433%# MZ!#+MJTX0CZ56G1'Z,RLBGW*]2&XH2WOEAZ":-QU;TAP-64\(?-X,7PEX>4= M\(9 T/.VJWX!E!SJ$I(->,^'1B_F*I<0H>\7EWE\8GS65?:TJ MD,!J=J@?L]30/0.M_#,TYI 0T73LT1%*;Q--=%KDD_%! T-,Q!!<94UF2Y?A MB8 6D&'N>+ M.5!\ >-;F25A5;,S1R_4MS#_V+'W$_]LSG %1<2G!##,A[S!D ;#;V!BI(,> M9$JQ#XHDWC :0@^,X?@(S3G5%AO*TNX,_.5%;$57+F6!XT<^C)'#( IM%T8D M0I!0U\5 ME%G+Y3HV]V+>5TDA^XY8V2&:S0U9U12J$,$G*RN@48"8#UW/#R#R? _&?N+! M)*0T2D+FQLA7:FC8GUU)J=6;&'):;=="Q8:%KQ!(@B@@5FC#.$ALB' @,N1Q M"#TGP2CVL8\CI7*B^@AHF#4C"#":.'Y(7>CX%A/>^!C&E%%HVPG&V'&B)+'5 MZIYK8Z!5VWR' OA11*XI)LF\!D/.YZ4MH*)QYI)U[2D_#DJFWIORF 2F^E&^ MFGO9'I3'Q#KH.WGT(5.U-U86B\((.R%D+B406=2!,>'Z1%AB.]0G)*)4Q:8> MDIC9L#;!RN2PXL;4@AO:A3;F4[%C!3;FK*IA6-6.$'CC*AJGE&[@R8F7.KMR M6[MHI#BQ(DIBA^]K$I?O:UP'1I8;0XMA#WNV39U *7I[B-C,BWPO-;Y'7"96 M21TVQ1N?B6#H7OFHXJ!_WS,@H.D+GV.DWN;&9T#HDU<^0V/4?0X7#R+2A]XR M5OQ:Y)NG#YERYZZ!*6;6UY8R$*1!3?L,?,CS*LLKR6WZ& 3C[@1#TJLIZ)#@ M,[3>DI!1RW4P-.]B;@,)X?HN YG'-=0P_\+6C%2,MM4=KO&C=&SDT<%SJU[^ M^(2S%]!1[FK) $%;0?>.RBVA=5-%5M0W+6G5=&Q((CWM.CKC_8ODL0==02%$UR M-[.BO]_4,0YYQD"5@X2S %X$#XIYAD;?A]S>^[7;/MG\)[_ICZM@^1 M%7HP\A@WT@$WUXYO>2Y&F@5W!PG/;'![;#0JW6/DG_\2.G;P+UI=1:5Q5?8< M&D-+VY_85.IN>XS.6[)72ECS+L=ALF_EB)0"8\ ]*3=>TVF99FG%/G(31:^R MBG]Q4F[?FGIZ'[==^IPX"(.(NI YU.8V)/'YSLY.H$.=.(Z3R/)LI:+=,D3G M=F+6+,":![!C C1<3.AW* 6HI%O3,$R*[DT#"*D[.A5$-N7PE"&YK.-3 80# M!ZC*6#V3(3JE%ZDXB8KL5VZ.2&;Q\U:.!-^+?*R_"TK M&%Z+8YV(WGC'DKP0/9=6F$81CB('>K;O"7=8 C$6'=H)?]&$4F+;=M<#2<\A MIL67E)J^[I*D9O9JXF!'O2XJI1JJ8>85Z'G YH-U1L_7CDMP] 6<@;AF5;1H MF\^;-0FZF;Q8>CR]J?=J$HQC7JMID^M9U(L\JP^K?Z35P\6FK/)'5G0'W)=5 M$B;$1CB ?N@@B"+;@A&R&0R9Y6/F^+8=!2I[PD%JL]_X-;3UH]2&L9(S:<80 M4+T ;(7_RNF"CO 9V)(V9WFD)#1D489I+6HII,3>MP!R@S1KFI$'1C=K=I/L M5VL7[14(WZ&U5=OK\BV[D!&,7.2$K@<#[/!S8! ',(H8@S:-//Z)2QBB2F7. M]/B8V1I\9N*]FW3H#HHX39Q.O70I+H_]BD!:,#'NX_6'K_P+6VS1O]K63)9OTQ3=C*LAU" F9#SQ)I MA9:;P"BV$QBZ?F)1YEDN"=12RJ:PH_*-ULI ZRC#+H.V#3UH=A/BX L/W86>@XVV;M=QP!P1[)DNI3P?)6*GU":PL7(I].FB' MI=H-S*EG"6_X6:"XR!\?TZJN+]*42<789PEA&,8ACB"*G1B&@>="C]D)3A(_ MH7&L5&76-ED#$IDR!8F"'-F9%??+YO$1\^TS/U?W^ $[AD#'D:)_0@Y327>$<:04 MO0_#R!A.2=*3VI1308[HLCX$)2 .7 9JH\W5A;6[R)D8A5%D$8A]T4TV$75A M'?Y3@*G%(FIY8:"TO@_0FME8U*3^^2^V;_V+/;TXK#VY.*R&U&J*?[HXK+U0 M<5A[L>*P]O=2'-96+PZ[/T3=S:>1E[A<-J):TJ%:JN$B"8;F\PE-91&^2>[@ M2,;@]#Q!,,7&3Q8^QHA&#RI?[^.COZGM^0L#QK_QTV117D88>Z B> M]1N.F%.)8;&TM./$E(LIRK!(?9T9>7):Z[T5CI+(IE$$&6(!1&$2P!B3 %K$ M<@(2VMA!2KE8W<0SZU-'1J^KWHJPD-DVBJ$=$$^$]X0P9K8'J6LG)$38#2)[ M]53[I+]4N*CFDWV?R%((1#;V^9'?@Y'KA1 A+X(1BL1.GH8.PM@AU&\1N,PD M@T'UY>](+"6]W,9<1QXU^SDJAG;#1,/;ZNVT;](:\=2&^>#OFEZR"E=USZPF MC4W4C. &5[1.$U?$GAT$CNLS&#H^A8A1"F/^.\0$Q2P(W( 2M;"@(6ISWZ W MF98[FF.7RQIX23J^3*&@IG#* *C[MF0$,^72&J2UK"=+1NP#!Y;4(#VEOBMP M5B9<142J*BN>4Y)F]S?)AS3#&4GQ^BHKJV+3>-HYA?+XGYIDGA7R"/.9&T,G M8HYP=%D0)WX,280"_E(\0HA2 5R3S,UL,K:$08^R9KJ8T7"FG% MR,K&:0XT#-DRHZPM:OKF '7?4LY"0]WSV[ M>>0':>8[L:*J+PLK81W>LZ>\3*OVGLIS44 MSX-A9-D0>7$ PT14U(CB,& N M\7K_;E&G&RG+E6#9!KI_ V'5"B%R&(+89%A'\R/.IY[ @D6UV=V3^N9U_ M-450DP0=3?G.=\< &=8] V(J>O>4)%1JAC<@AU9+O&/S+=88;T"8?GN\H<=T MD^X?GPKVP+(R?69-?YGKO.KGX":489^K%',I@@@S"X8HQM!W$4Z0ZUF!I9AW M/TQP[F-FKP;&-JQZQU#;N$@U&7\$0\D]JD%D%#>J1R!H>S>!:_-U\%4%-I:A M/T)NX21].>$/\_0EQZDOL!_Y&UO?/N09N]XTI] $^1:.$QC@D/'5U%OAB, M:11 ET2,T9@F*(J[0E]W\JNI#&VI[^+K8EYW6@MK31<46\)JJZ@4C'(KJ3%4 MM#3T6)OW- -;@#Z/ Z2\E*I(;&@YE2*YZ)*J L+^LJHT5MU)U,4*WB27A4@I M>]JYDS]*%OR5G6:^+W9'O2Z,4A3]$G/<)!<%HVGU 9.Z4I30FH*F./O 1*L# MUNG5Q_0QK58.(G'D)PC&R/8@\FD$(XLYD :V;P=)[%(_DME0:E&?>\CLH7['QEI!*6^-)D#2FF4\AC"^R7->N#;#>G(M8XTGB M=J9YVB2:$;5LS?]Z_RO+6('7YQD]IX]IEHKV$*($S^4WL7*SKA X3JCKNHFH MA./RX[Y+ AAY-H:>2U# EWK^7Z7H.B7J,]MI4=ZT/ /W#2]U'3?\BAO%T%LE M8.7.+[/!I6:J6S;.P*\]K%ZS CI>9KC4UD+!5!RO$NUEXWIU8#F(\]6:1,_T MW!8YW9#J#UP4.*NM7+'!Z]N"L6^<(.=B_^RU(A:-DL 5R4 HX-O$((9Q@NHK M".I:B>W%KM*=@S('\U]"" ;JH)"O#5/B&CHMRPVC9R!CBO$QZ@C+V:%9<5.T M114W/N(&OVY/]:UBF3AQM@R"CD/0LMC;Y_2<,$E>@![SW:BAJ =EHZ4-F2'# MI4Y_4>.E#<^^ =.?:%HYK?V[EUTI]+_E:RI,*DXS<7-VD_7B'HJTY']ZSW_- M[IO">M>LNDE$^P$G&* I\&)(H@:Y#HH#2$,61TE9K+D9G-HF< M#"!U/VCA*]WL^A+<]#4J^GP-EK_4!-Y]U+>2!'@;+ MOF(Y8_L]O#@UFWQS<74&I#I/]/I,M$( (45[Q[QM.W%._W-3UK6VND:K1AM1 MS(VPX3)IQME\DTIK&9:0I>YM79[!EA+(.U[ MNKT7T6Q^,PZCY([+)#B*6Z;,["C;W#K(RNJJ3W,*+UE-R.RXA_L M*J0'ZL8./;-FQUM>K'%9IDG*Z+N7KAD//]*V'>-?WN.*[?57L6.*&/4LF%BB M32H)'!BYQ(+4LK%'1,7Z6*E-ZA1FYG;:]WJR]/@!+4-IDV#U"1=_9U7=BZ4G MBVH8TH0W(F=WEL)9S23UN ([MD#\<@SP%R!8F[7QC0F4C(4Z36!EX1"HZ: = MAD89F'-R3<'W&W:7_Y[F3;.KF^1O_&QW(0*TBI>/^*M"NIWJO#-;MOV"?8!N M&*ARL&5)&#;!%&BY IRML[&4M>EH#INRN8%4,UWS8#BE(*(T&"9*)8X3>ZLB MBM(P#)17E)]#;POV\4@D1M,+(K02-[#YKHIX-H7(1CZ,:.)"A_B^X_DQY8T1Q348^8C!V*(/$=D+&/"^RD5)% M_ %:,ZMQFY>W)0TZVEJ.U2',9(\Q1I!0/:5H@J"34C$FGKE,BI.4EDZ@&!/Y M2-[$Z!#-FY,CY;*VGS6]L]YA_MT@[,L#8]6O1;YY$DTZS^.R/I>LHMA*PB"Q MN:HG 40T\F"8^ F,7"NR(N3'B:_6"V,B0W,?)+85ZQI>%.]9IJ(M>0FS((:* M9XAC!?_.P#ZJHOUOS1^H&01;#KG]:7DT>:%C""Y3MSU3V5GV*L@0> ?W1*;F MU;.+GUG)^* 'T7]8]"/)G^IZK4W$YN4WLMZ(6^ZN\^!5=EODA)7E15Y6*^I2 M[#AV# ,W1'Q')"HG1W$"8^(SVT%1Y 9*;<4F\#*S->PXJ^,%Z8XW-:LX!6LY M@[@0@FJV\!5X/;:Z:&_PXY8SL&U]FF:@90X([GXR9P4-8&3( $[A9%';9P"R M?;-G8DK-IL[;L+#R,ZM+M]SE=_C;'VGU\-#$]'S(MXW9&>VGH:ZBB%(K]BG$ M#'&+)Y+O8^1$T'91%"!L,]ME&GGW$UB24MO)Z?@U[1(\L#6MXYXK_ U\W7&G MN#N<\@;D[.#<@.H%G0MZL"8(;O%+;0+/1<#Q/6N"%+O@XAIBSB[H\0MNXG5Z M7W-HL+/S=)A,-7:>P,FR?9VG0W;0UMG E+J;OV>6;5BY\JE+L&=',/&%70LP M@7'(*'0<)[%11 ./2?7?VI]X]FU9349U%]8*+;NE4A=%=7_44#"YQ7G-L['] M2COMPIN/U\(<[B3V_JZF"V51=>D?N^+KK&M"X%"* Y^$D$2>!Q'E.A$'B"M& M3"WJVXZ/J">C&(-49M:2+JU);+];PHK]'88Q&M8C8Y*K*966T-**)B74D-;Q M"7H:QW_;:=OPW(NHGI1XG1[*/:P>L5&'X-^R(FG#9Q6",HX,G5G'FN*/@F1> M/-8.O9:T>FS%,;F'5$P,3Q8Q;PTU@06$8*._:(+N-"ZA&<6LFQ#YC<(6ZZ_"9K-\I M8:!FXQ$19RO6V*?UQE4:CX@]7I[QV* 9+M3:NCT1]6,["3V1DTDA5/C<[C2X$AB78"ZGG0!;:HFE7 MPF DJA@1C)F/XLBEKM+MNCH+,]N,B_,O?P,?/M[\\05\^'SS"5Q=_W[YY>[J M^E=P?G%W]?O5W=7EEU_4#(@&S'+V9%[PU,R+*&XBF $=-R*KZD?!$-]<_ 2V M/($=4[.$$^EC8L@$:3"PJ$72!VC?0$V82=UI<)65G$C!CT"W^3HE?%)Q^7Z= M5^%LN!]YX7Z8,U(FJQ*:;K>B!J/.U=)$[S# MZ U"OS$SSVJHT!UG()Q+ 7_)AF MS4_EZ2"Y&5^?W/YI\9>B9NU>O8^>R_7RU?NX>/TN.B;%10BHV31W_3$+;J9B M=8SPM&S4CDD8#^)WC$ZN:8I%TPS1&;[.N'(L+W1C:D$/8VY2 _Y3Y+KQSF\:ZLZH@II6(]AH(2>.D*YZBD9&63-U,')/ E+J_FGM9 MM3TFUH'Z'7U(O5_=^[9;PO_:X*(2;7T_LZ>\J%9\,T(]9OM\0^(X$-F1#T,G M8="F"4&8840]J2XC S1F5JF.*MB2!0U=^29VI\ 95C!#(JNIF;JT2IWM1N31 M:G!W:L[%^MR-"-5O=S?VJ*9_E/.(RX>=0R.C;1)4=E\W%MKZZP*$4.@*MZA( MQD01]6 8A!%$%E_KXM#&,9+JT:Q,>68EO;ZYKAVB/2_H]7OPX>KZ_/IBFD]4 M&EI)5^@<@"EZ0!L6>JY.X978%GA?%$"&7PMAR A@FB"9>2'!@VUIQ%J_(+!59T1 % MK*&J&E[Q&ADY(Z CJ*8?LA7N"GM,+K>C*:BHY3Y553UY*^VU37>?4?K+K%*5W9%L$VEPH&84 @%/5EQ OK *"#X,-Y14E-]587I;LL@WF%<$X:#2O.GYB@?Q>S>UR^^'?4E:( M.(^7-G.%+_[$=UP&@X D$/FA#V./N#!&;A!3DB0^L;1*YI*+3=QQ><4D1F7WYKV0Q_RXD31[U7L>Q21",.$_P01BUT8 M64D(B85<&S%,W%@JM= +S.;HIHSF"=PPW='N"YI _*6/1$/S5H&Z[SWIII_ MOLUV5]S]3'DC-I^70S E[-=6":6#'1'B=^77T";W] 5>]F^2RK-)'7+%RQ<*0 M!7%((4*>*_KQ^# 4):"1X]J>ZUI.X"FUYGH]_RX8/NKTXFGU!><6Y:?UXTC MUB_"@R"";13RFX^/GMM7>'D#.JJUUPKTJ_HHEPPX@<#XRC1=>#5%FR:WTF(U M+)K6HG5BRL46KV&1^HO8R)-ZBUG7->DFJ8L4;'>.HB;?>4;;6P31RN7Q*<_X MYF,7\NX3&E!BV9"(CE(H"2.(F46A[P9A%".6A%C)Y:_/RLR*W>\LU53)V)VV M!'-MP_&:O;.F&U++H=IR.N%=R"V]RR"L9CWTP9VUM=1TJ RM^1,8671_,!VP M_;V$@1G5 P8OLXJ?E#^D:W:]J5.3B1^ZL8TPQ&'L063'-@RQ;4$:\=]1[ 0X MH;*1@ON3SVRW&G) T ,-0?G8P ,U%VVPU]F)*XB"$'B,A1,P1@;>B#67@6"B,"?.HB9ZU%XLT MK+U8J%GMA8E.M1J0J.GB4)O:BX5ZU%XLV:#VXCOJ3GNAU9IV?Y1F=@HAF\=- M7=KVFE6_907#Z_2_A">ZZP7Y*TZSCWE9MD4^G)#ZKA5%T'%$#_M01.8Y?"7% MB%$K23!&CE3,O2X#,YL%$YUEE3&5LPUS(J5F+J=[8JBP20OX!>\Y@;F%M?FUWR]%5V83.7DJ))?-FU'$YR#S![=>?2L ME/A&]2J^=5\G47R;?YG.U^O\JZAUR7]O>LX)PBO+BBT_<3T8)2R R+(L&/D^ M_PDC$CJ^9SNQDDM?AXF9K=66:'U[W+8]%'35#)86O')&:V[0U R7E&52!U79 M1DU!Q9"=TF)A45LU!:1]>S5I+LV=U6->5.E_M:G%5UG%OX@II]DTCEHQ/THB M%OLPC) -41!$, P2!_I^@GW7]WWL*04X#I.;^]8^%U' N,>"< 0F:996XD3U M7(>Z=!RU<4:*>ZIA-"5W4,8P4MPO[0&SHSS6PD]]]R,EHJF]SC"Q97#9Q]K(*(Q*ZMDNA%7J,[T+\$,8A]?@9R@IQ1$ADHT#- M!]F??ADO9$T1M"15_9"OT)#U1.K*J.6+E!-/PQMY3(H)_LA7TRWLD3PFRJ%/ M\NA3FEY)DKYC?"LF&L6O^=J1)FG3>[;D1X^;Y Y_.Z^J(HTW];']+F].EJLD MS#X#;_%\ -FW*+ZB'PY R1 M.4C4#$Y#%]:$#S?ZM<4QVC9:0DAS3:&'B"W=\EE"\",-G65&Z=:1_GK>9 VG MV?UMD6?\1]*D.#6AJLU_=]$^,74("SP?NH@E_#S@,!@C+X284,?GYH%X!*M5 MD59C8.83 S>WG/3Z!5R5IO/SGG\H M&X<]-,?L1F1+&KRB#01Q^3#L01B&S81)!-3,@:;P2K'8,I)I160/3KQ87+:, M>/WH;*GG-;1PLV:V%7NVR%UJ*CU_6.-[:04\/GQNW1/QO((LM%_EK2G77S\E MO83>31=<4>6&909_"O*&6)'FE&]B"TGGX22>5+[L^YQ)?^_K^H:BJF']P^7_^NWJ]_./E]=W7_[Y M+Z%C.__RCMVGF:B-7)=0JJFHECZ:\EIH$(:1Y=HP\47O/>Q[,/1M&X8)=IS( MB6TAMRI:C%XU0R\('36].CIT3L#.U9 \XA( M6-G[L#_"9"TK T 9*W UA9>%JUX9@.VP%):)28V[C'O1=OT+ZQ5R?.)'B0^9 M0S%$OA_"VJLL^I-Y/@W#P LT2F6J7-@C "FXM<=FTBW9VT7Y7F4D?V1=M=(5 M2[P8101#.PY$*0W+@QCQGT(7482):S&BU##H%*&93[[;RK9I356U:N\)<.2L MB F1U6S%CB)H2)Z!CJC)DK[#8AFK[7N"S,)%?H>%/:SV._*\NL?I2_7WVX+< M%'=ET1;RX&K_B54/N7J30)FY9M;(+Q6G 6[YOHMQ",#=E\]@QPIH>)%W2$F! M,^Z=,HV+FMK*0#)#WS\5H;5<6%($%O-GJ8C;=VXIC=-;A?]@HH@<7]B?68'O MVPS@FZ3N7%7>;*I2W+*FV?U[T0"+T?=I2=:Y*+OYNK4$BID31$D ,1$UOQT; MP]##!/HH]G!"0T(87G$2<2Z[:IMA3$5S^NQ)*U#')L -GVVK/I#O.%3LYV'H MC=@.LJ/(=_BVR4$0,DR*B$AN M-UVBP:<[1E,0N8H6VB(:86 MW52:!7)_"VIX]CG2/"]R$2^QR3?E+M]4Y&G=YF4JOKZV\XD_\5#>%!_S[)X5 MJR@*X\3A2QF-F \1$?VH8BN"D1/@B'HD08E2BI59]F:VI[8#&GI"]?G1G_T" M=I743::'*K\6.4/[=F"K&5RIE-(=NV#';YU3"CJ.ST#OC16@87NIC%-=.!?) M155F[CO*4M4%5BU_59N*GIG^M1!S%WF25BLR]N94,I'K8>DU)M /BI-3L85]^.6.F*96:)6H$NAT62-EP'&'= MD-;W9UY498^(M*]OQQ[1C$?AFB>V1G^DUJ60PHU.=TSC86:4G;4 MP5=.'G3TYZVOI2*QJ< !&9++Q@#]?XD:V\T'-) MD##H!Q9?2!/BP\@2AY4X88Y-G)CZMFQV^#$"I#3SUK6+XNBU1MO15JRKE$X9'3"'$_#X ;<7YE+7)G,"RQ.E M:F'$3Z<0A8C_A.T 6@PYR&4^BVVT#8R3UW<#K.E$RJD;B'K(+Z Y$>YYG%3K MVIIX'R9[4IM;L#<+6 M_*_WO[*,%7A]GM%S^IAFJ;BPJ=)GUC67#W 0Q+YKP3BV?(BBV($1BQ*(0VHC MQPE8J^I]PT33Q/L5&XJM/>2@E+-VY@%2/PPV)!#26A3S3?DB"[;:$,)B(.F&FJC)Y<&KUMWB&I>!7O@,W,23:"B M,$]=%9V5ZUJA;5$7^DSTT4LHMR!62*!%'&Q3)PDLV]>L#"Y#?V93TE_ \[K# M#>GS ];*57=5\94\D,V'FN(QK0=8TQ+H%2MMK/&V:/BN$M!9J .N-(T>A;I\O%IG;\P5H>^WCPU(95U!7T%LW)RDID-2$<7-(&[ M#64UBW%:?CG;8$1T-2MP5.H9JOZ/BF9(J4_3651]1\7=5]3Q 9,W"7<%SLIU M'4EX3O]STR0TM-]/F^+$18S")'0=B!"V(&;(@VY$+#OR8A('NEU#!LC.K-'- M39"HQ+1C >QXT-\.#"&IO LPA(_^XL_/NBR]S\ 6KAT;)VINSML51 (0\SN M(:)OM?!+ #&PWLN,-I\)W4MB;$\Y=?O(7=H.B[#O);[(.20V1!8*8$SX?VSD MA3BV/-?RE*KJ36%F9OO3)OFNCR?YOLKK'3W)FW\1=\#_K2[$UW]=_.P%8& M4 MQUG2UYESS=UF!'=]GH.&\[AW5XWV&D^ZBD)L^/B_#_-NFW18Y88R6'SB8K=J5G$+M2N1++0.6.KB80A:ZE*?5%SIPG-OKW2G48W&^/@?F)[OQ98+,2N MZT ?)RY$7AC V&.46QB*/60[3N(I18<.T)HY/O3U19M.$:,AG.1LB"'IU>R% MY WC_+U^)*0WEGEQFM+""1>C(A_F68P/^# M"0[:TW!^!=R$RB/+=>U: M[8\.643UAYCMU'_P&?6BL7PVQJN0DA4D5@!JG,K(@-7=!2 M/.M^ .]928I4(>1Y&*KQS:H1 -04\Y3L@BRXR0QM9D<%T]K9GIYUL6WNJ&#] M/>_XPWI^PT_Y,VOJL'<]:L\S>OFM8AEE]+;(Z894?]3NJNKE*B,%XZ?7]ZSY M]W.^7G_("W%J75'7C5! /)C$5'@)^;89A]B' 7*3, E1@$2#;WDOH2&^9M;^ MEA'0<2(:"30\@!\[;GX"?PJ&0,N1Y [6]/N1\^Z] >IJ)J=C$*39MJERG#WIU2@[]@P#:)+TF MR4?[>[LNP1:-7>B%*(3(CPD,X\B#@46PX\08AXE4DV,ULC,;T9H)<5%YRQ_J M3LYJ5E(2/CDC:!X4-1NWQ6/'P3*MT-4$-V23)(DN:G+4@-BW*(JC-0/)VLB1 MN_R<_&.3%FR_TL:N!H>HR+%" ;5C[(@.HM2!R!&=\VQ$89)$V+>I&_#_:73. M4V1#2FDFM\V[Y9\_94<3U$05R^D"!TGL"$*^'_"P'<@P\2WXM#WD:O4UU*#A[DUN>5([!&&\TH5=5P#;4D+ M,"^&BO;A$+Y3R:-SYHE.P,24A='@8%G[HP_1@76:,)5NXUT1(_NEXBEMCQ!@C3R%+:VHZ3 MG'EUY'3YR;DEK-X.>@0N6>TU"8*J(K>TSX" 8DM^FU31L6"V8;2.,(#:N8<7!4%THE7,"?@AU# M,7O28FO%[HW/OE@,G[2@_5@^^4&:F<6X?#C/J/CG\A^;]!FOZTSF(XU50B_D M6^(X$('T""+'LV&$H@2Z!/M1X/!%,T9*S=YD*<]L$P0#@.TX4,PXEL9/;KL\ M"RIJQJ &1"A^_4./B]E[UR@+;RH969KNLJG)JG <)"HK3Z!G1(9J*+]C25ZP MSXRL<5FF24KJP)!29.0S8D>)ZSD0A9X/$7,0#&-$(./'<,_QX]#&@<9MMAXW MRUQJMZZE"G\#+$D8J< __R5T;.=?ZMI;RI4.-8&7,T4SXC@ADVB@5@*(:Z[ M 5MG9NNS3P/&D,W29&)1 S8-J'UK-G&V.=IZG:_7^5?,L>"_7Q2,IE7=$*7(S4S M&HTG#+X*.0/X-@"K&46I_EZO7T##;-W.:UOV[TA4]5*MOG1P7*3CEQ)CWU'C M+QU U?I_:5%0=SN=W]]7ET5M\IO*">\9MSZ/:2:V7HHIGC)SS6T&[^^+>N,( M."-YQO)-"?H5(NI:)9PSL&--W@$EA=6X#\HT3&K&3 ,A\*?Q)%(5#+1\4E($ M%G-+J8C;]TPIC=.,>1)=/Z[*VZ*LOO&Q-2'U^-56%8HI#B.0PPCAA-1 MY\J&D1M9$",ORO-$5*-ZY%I1"AX5XYO4D97; M,\V+EYHYJ>F5H.'FK/%;G8'10E(XJ42!SKQ(6%H9]6_I@V,JS$F=@66CG+0! M.@ARTI]I2HP3/W#NO&K;.">/N8GMVS;T?1Q!%$>4VZ.8PBBP$N)2S_-GM&3B)/#&3R4SX::F]88A4SJ2: "@=3)1H;/8 M 45#^/XY16>XIJ]X:WYNDO[.XG-35%94@"SKO4==2[9+YMJN>+:%_9@1#!&S M^='%#6T88\^#-HDHXF<7S[:E(M+,L#.S >HMG%QQ7AWR6_[J^JUEMU^/^_OU M4GO',?$52?J-%P->XSQT^N0SRP[&#!:F_+W3F%G6QVL$N ._KIE9=>N'\3W: M%>4S;F_HKC=MG]4D]"FRH84=44.,_R>BH04CWV.^%U/7MA5KB)V@-+-5:VMI MB9/!:^J@(:]:1.P47L-VR"@*:B9&&P"-8F(CPDTH*'9JYH6+BHT(>%A8;&S MM.B>Q[2INO ^?\1IMF*)0^+8=V 8!2%$B?!G^"R"#!''MJ,X<6*EWLC'RBF$Y M\?3$U+9K5JVH2UD8Q1ZT;-_C1PGBPMA+$D@B!U-B!1:V7:TD-C[Y[,[%AM10 M*ZQQ '#B,C]"'F2.S?<2R+(A9@F!5HQ=FGBQ'T612C\D;0#4&R"9 4#6K1["5$&M[KIHKU M:>$"/Z7\BRX^;3Q>JS D";5B&[IQD$#D40N&'B8P2% <$33T+'S;B!*OK[*R*NJ&%N??TG)%:$AM%@;0=1"# MR&84XDC$)/NAFX34P]KO#%IA"]/5=!Z-DX M#AR(14\CA/G)+J9)!)V A;[CD80QZ=Y>0X26\8SV: -!'+3451VC)\"2]8M. MAT#++:HLO897=%BT"4[1$Q,O[!,=%N_0)3KRO/9%+VY#E=O%G&_=-ZRNF;5R M+!HPBY]W7)]X$+DQAJ'M46@EEN5C0@(L5UA$AMC\E[0]TDW!G)IX6PU._?+U M-&QRBZTI,-345Q\'G?O240'-W8:>)K7T7>>HT$=N,L?'S)'SUWQ=HQ"%B>,$ M$%N.SS?.)(*1'=H0)U%"<4"=B!I,YEM$V<TW"Y*B$3" C^'4 MN5FL@@3%[RC9;=A&* S5,Q7G]#\W;3'Z:RX.+A^N*O98WN7B?,]/"6O1&7Z7 MIGR7BUH,MT7^G%)&W[W\5HK*FS=/?(LB6@R1@ZKNBL1IV; 01 M1?RGV+6XG0F]( Q98!.E7B%S,SRSD>JQ+V(OBXYID#'13:@IKI#7OPG9P%/+ M.8A?0-YQ#?"6[5_43-GLKUO.#GY/+U'-B/8XKSNVUR^I9OY,O+$T4]*ARO:\V1::<97!"]F$C:D9L-;.G M*[%:\]M!H?0ZWQZ?IY._RDKE/VHLZPK9,)FVS2FTU5B@YS7(U7 MS',]' 08!HG/(++L!&([LF'@8R1"X ++EPJUD2.WC(.VX0#4++2Q]R7H<:'J MJ!T$4-9=:PH6+:>M-B(:SEL902>X< >G7]B1*R/JH3M7:I1&I1'ZGW?Y+V'3+VXR/'ABYV%P%T.;B]O7J71G($/>5YE>:704OX4#.,+J@$$= \2P\+/ M41]D6%:]DB GYERN"LBP4*\*?XP\JAFKT%6E?/>R_?%O*=\Q%^3AY2-[YI*+ M.WD+NYB%$8*)&P40>2+JG#@8AJ'M>*[K$2=2\KO*D9T[DF%75G5+NZ[ >GW^ MNUY$@QR815 SJ.*F930,G M#JW:I$E,L(@9DQ>D,UT*(_1V.)_YM*(ZVB4N,GY<*<\)?_N; M.N_V/4M2DE:KT'7=T&(69+;MBPY4/HS#@(IJ^R&.J(^=P%?9W8R3G-E\=0P MUG*@MH^1@$QN#V,6"#4KML6@(PY^[)$'+7V#]5;EA36T?Y$@N.C>11Z _7V+ MPDAU+\,GANO:1&+K+>E9Z V965-;2I(7HOOBC'L(-"514[66B+%3P0G&M8[X M_7D6.]8?8;Y_E#_V9\T^,KN<5M%Q(L_$11?+1,.:(\7=8CO$#(NL5!SP4SP* M& RM@"][V+5QC+"'*5;J):-"?69%ZN=5UUU4^MR8J)JG!K7<^C@;@&KZ:Q([ M]>XS.AB8ZD"C1'O9+C0ZL!QTHM&:1'V)[5T'= 6_KC)ZC1^E@J2&9YC[I,]) MR"^^ X*.K\5F9%13[1[-;0F],WYXI>ES2C=X#0;E5UJQQ\736L 'IEUL/1\7 MK;^\2SRMGZU$\N(I+VK71=VK^4)$,A0O%SEE*QHS8GE1"/U0-%>U20Q#UTJ@ M93.+4@<'_'^J24L#]):Y&G_%PEG3'AR(?AH-(T!PHI['- 3CL";/ (Z:2IO M12O#24+:28E.0_,OGN\D(>RQM">989HQSV7)JK+-I-KN,P/'"PCU1,TVFD#$ M&($X("Y,XH1:- Q#WU6ZF#M*9>ZM>T,-X)JV:FSP45CDMM^3A553W(;<69=^ M.$^<[)!(IH);C])8-B)U2,R#,-+!A\U49_N89JP.3EV1!$-^83<,ENEJ>#H+5+ MUI!?8V\\+-R$3?&)B1?>#0^+=[@-'GE>W;\D8M[.2;7!Z_7++4[I[^61P'/E M^%&U6>?W7^^*E75< <$6>"[_"DZE,LB[KA0Q''=GS0>?LO=:![D90E3U$-'R MBBF26LQ3I@=!WWNF.8/>-OZ:5:JYHDF($;((@I:-7(APX,'(YMN%.+1=WW9P M'(9*A4;469C;$IU_^1OX\/'FCR_@P^>;3^#F]O+S^=W5]:_@_.+NZO>KNZO+ M+XJ'= V8Y0X&\X*G9H=$[NSWD"JKCXFAHX8& XN>0?0!VC^<3)A)T^W0S?Q1 M-/GM&D6L(LNV*(D=Z+H>@HB%$8S\R(?<.%E)DH01BY3*%1PG,[?=J2L'B&5; MM,O&=8IF*:H+K#>TJ=7*CX+@L8F=J%-0\J1776!=-])>ISA.US7DBBZ*X\A* M^BB7&!3)E%/B.)%E/1*#@AZX(X:?UM-J;C\(8[3\ MP)G[A*NV<,IMP9ZZ3C 9O>#[H?(FV:^FLJNSLK)M.R:^32&A@0T1$3TB IO MA.$D(A;U/4OI*L (5S/;C(Y'(-XK>-QR*4S#E/A]LV]&SH@LCK>:S7D-]8Y! M;GQV+#;A0X))\08D:C>9,UA&X3-DW\SPM*@Y- KCOO4T._F$FYNF: BGUK8D M5#UW#$\R]ZU$6Z%'Z%I'>I:3A)R4)B\H3A-;_I9B5/"C5Q7CH]3=G[T.&._[ MXP[_.,'N'CD9BV/?AW7^M;XM$(O *B*1[\8.@2Q(F.C(ZL,PXSP0?8,F)X-5.1W>3")D5W M^35.!8ZCRYW2!'J&XT@%J(1@SXY#B,*80&1S4X'MQ(;417$4$6Q90;)ZJAM\ M<":*2LY,3*IQM$]-6AW>L?LT$TEO(,;\#X2!'],,E#4OIY,398%"$;*L*(01 MCBR(&"(P#KT0XL )H\"+(\2<%JC+C"X&4T=+X3*?SH20G-E]J?7_-B^:2_ZJ*M)XT_CVJKRN:)MG%:>R%H_5S2=86=7- M#X4?2O1%_O,S_ROXD!=?<4$5PQ=G>;UREN>M7YJ:\5K^?6EDZ<\'J+&\_AE8 M7+@2P'P@']8.F)&69JK&.'E1K_CC-@HZ)&Z8)($++9=AB*P@AF',&(QMRZ6^ MXR6^7$E370;F-N.]NAO;N.H=0WL5Q_7#S)5QE[/!8:*)AJGD M$U7RR^:E:()SD+*B.X^>P?HUS^G7=+WN/-B%N-Q^SYI_5RBA21SRC:B?B*8[ MC-HP]GP&(R?R0C?Q"<%2O?"DJ,ULBOB&@J7W&2"U^2,(H*QCU:5B-65 M,P/RI)5LPI8!I<#-@[8U/VZZP,VT8ZC7P,9(^.LQD.4LQ#S0J9F+D7#7+2\] M!__L,:X# ,P;VWJ,\/<0TSH B&0LZ] ,FOY\\L#H9LUN$C%WQE_T2WL8JUN# M[5)0(AP2CXB,=N1Y$ 4DA#B*$<2VXU'D(.*$4IEXJH1GWH)T; A/1\>(LDF1 M!E'2P3T#-(I^[R.HO/1RY6L^@-&4'5WA33G+9=M%E0%./L]8OBE?]5)0[LIT&I5A$V ,$#5] M-XF%;IFJX[).K5*U-^M;%*DZ+MB)&E4G'M9;W"^3A-5MOQLGQ1W^]KFN@B,J MSVTXL39>(,_*56@GB26:=;LLL2%"&,/02Q*.*R%!'+@)QDKW6_*D9U;S+2.@ MPM\ IRF9:Z^!H=SJ/@\R:OJ^ Z5U4HI+'L'&MOMDVE:RNF5\!I.!/^KB&UKA M%0@ONL:K [*_RFO,H%G@MF TK3Y@\?VH7NJBQX'OQ,SW8D@57D\_J:=X'W>)E*O8]RFR/ O:OHOX05QTP[8=#*V(,1I:2>2Z M3,7SUYM[9M=>4_Q!.RFT#X*<>FF*IJ97'R7D45:F(YP;TJ+^S(NJSQ&1]O7F MV"-&N@'_7MXR5OQ:Y)LGY<(TDM/-O$R=+)SR>PD$,Z#F9E+;X*,@C1]79\!' M30'EH)FAPHRBY*:Z#Q^E\9;MB(>$'NE//#A4\]#[^+3.7QC[PHKGE+":WCM< M,MIW8IROZU?+?[I)Q)'G/DO_B]$F_N@B+_M%$1-$:(1]<>'.?'XRMGP86E$ M+6)%+@K=T&&!TLG8+']S^\<%>S 6_.UY@8J"/]>4?HA?0/^Y-A$?G(MHP;/7 MPP3S$X**3+]O7X+NQ=UUF6HTC8U_"GE&BG8/&N]>C.% M*B=OT?6XD;("46,% M#GB2M@@M)X!UJ>F[L"K25?KFGV1Y!LFKRM]J=EGSAK$K9?/^RWC&^@:L>#6+1O\S*M.\Y3+R$6I2'$<5CO M8) HFDHAC;PH=*R0!E&D+U1C$;1@E5N"9X;+#7U MEJA6> 9V3 '!%>C8,K=,3P'%T(JMQ<*BB_<4D/;7\4ESZ9DJH8NU*G[:53/^ M4+!_;$1*VOO\$:?9"C//2AS&H)_8""+'\B"VPP@RXK@1\^/((4IG*PF:,^\4 M=A;H#/28 %LNP)\-'XH>>ADTY0R288S4[(\F),H&1D%(0_9$AN*BYD,!@GUK MH3)48[^_7E]^X[9(A-9=\)WF?9T:HE;\<6B.N<\"ZS78T@8[X@J;_R$ )(X" MAF17/!B<$-MP?4D9X?0."$,3+W=%!YGF]]?FNP%14'"Y8U7WW3K<+8 MXQH9!3!VPEA42>,'>&H'T XMY 6,46(I)8FJ$/^>;B':#,EY*N8T4!OSJVL! MJ+@D&\5NKB(YKT!8MD!.0_I[\[@?@*)9&.?U'.K[\.L\^[Q9,]N*/?N\*,YI M_L0I?ECC>]E=^.D99K8:G# 4E($@#>U747,M%_+;\0$_)Q&;5VY /3+K8?'Q>MOQN7>%K?K?\^+$9RE M*\>P3 9=P$>(+.[D/2WH,3?NP--J7[XGEJT^YR]X7;VLMA^?^.@'+H?7 M'GHH0DF($AL&) E%ORT&X]B-1(V2R,&8(8RD3H02M&9>,EKJ8$O^#-0, ,&! MW&(A ]BPRAJ&04UO!Q$8/SZJ?W=ROHWAG]?WQDM!\HKH4M!(FS<%81L;QP<( MNX4LU[5KVR4SPR(&3$&4SHJI#-%,4L&%:#-0WK*B#J7>KJ3$HBZB-(8>Q0E$ M'J4P#A(7(M^+?1P@QZ)*)^A3A.;>][)*- L5I[HG?MRK^P,HMBD^"9'<9L.$ MX&IFJZ,H:B8T^3"S[#C&!#.5%'&*S++9#2/"'J0IC#VOIZZ?MMTK=W?3M_DZ M)2^K&%%D1:X+;>QBB%PJ&GU&'J2V&T>4:VWD*%6+/DUJ9I7=$:[]T>+LUOOH M2K=IYP!TX)WH]!:N#/0/>J.L9!C_-Z=>CQ#G;,GX&X9E^4DS+<*FX^@$TV MEIN!R^7;T,T']=&F=3.2TZQRE3\^YMF7BJ_K=6S1BL6N&\>,0H+\ "+LQC#$ MC@N9Z]C,=YF( %2J<;5'8&:[VY #I:"G6-=J'PDYBSA%/C53UHI6DSKKHAFO MRG(S<*VB7MCJA#BFREKM3[]L4:L3PAV4M#KUW!SI 6WINGQ3'@_X_S_2'!F\HZDY6JDY=JU_SZE]0E4WF1 MQ&"2ZXINBHP '\8 M_8NA'P.WP8725%'"@=W!^H0;[^B;-6S/5;1@"NRW^Y\8B2S%/">%(^ MKQ704Q):3$VS#;.MO#5K?,V;U&8;SK.,-^L$#".5ZR>R*O^[/@'+'6%3+4M. MVL/Q@]29[F+YOOA0KLB*E62YGP"_V=^D^4461ECX*"JP0!C70Z2" /$\"/(L MH30/,2@N:8,KQ^:XSV/MK!VXK(U!GT\U_F3/J7=@5>=>S^%GTXQ+SOTQ@%'( MF;X#/-QH$S=;P44K/,T;2K0)XUG@T.KB!I6!JK/EYMVRVHC'ZM/JI52Y;B>S MGG0+!*>7^J1TL&JV .6#&BB-VS(' ,&L ME"XV3D9B :4WJS;46'^^HD-]88]J#P&O&4[)$T_*='P1+]5:C=]K;IN;_SW\ M+A-*BB*( Y1QY4XE(D9Y(%)$_4AE%IXZ?DQUE& M68"6O+>G/T\:"$AJ6S/PM&C..P / L/9]#O0RX;QL;K'8SM4;X%C3$E$&&*Y M:C ;!#[*,A8@D88"QQ'#?@::S7&T.DC33:=S7-,$]A@+S3B3J83 ?;PFLY]@ M:3& =(V;]31KE)[6[^%Q:V:8KG6$U,&V M:#CQEG5+X8HNRZ=F6!>P[\XH@'K*>#TH1LK9DO5JNG)[[2AW+>PM7HUI26BK MTQWH>Z M"&:8XH)+=<\(PCZAB/",HHQR1I($XS0+(2ZU)EW'3G7+A:<^E-?QX?TI&?$Z M3HQ#C+K(ZED$!WC!;(,EJ,"& BBX)9.A2W56XP&$XM2,0%\WZM/U<<7+UY+O MR!+>G^OL7=?QMN72Z]$$M>,ZEU,C@':EB$!/^U@Z^UVW!F4Q[;9UON"<7;8& MQ3GIKC7\G/U:AR:3]HM@2WD,+(NRF>FR>23?]]M'&L>Q7\0Y(D$2([D-QX@2 MCE$6^WD#M *5C-4%F@P\YFZ9RY?WYK63? M/*(NV52\2OQSIY+D-@UDJLK]23ZNJ5_'Y$?:K&R+9# MK19%'D19F(>(Q;Y 6/@)R@N+&6PG-B2B: M4 $<,BL F#ASO1;, 7GHES< MK;;2:G\HE]*1:MHSORU2[-.HH!CY82XU.@X9(B1(4<933N. JTXT.AH]L+YC M%6XH>C7)KLWWFYX:#P$RKK<6Q(0I*DQ";=6M^]QX\>[NZ]S_+_;U^ED7D27G/S M?]68L$$TIL.3-H P\/ZOQ@#:F7142-.^I)<7G;,KZ:A8)SU)QY\U3,WK\GJ; MMMAAD!$6!G(G8YPBC!.&T?*.E7-/S*Q_^ D4>EZH MN8 PI=.7#9XK=U$$6TEQQXO/F_UV4;"S-+?+3\%]Q#:3YT.Y862IRI7N5ES5 MPBT*$<1A% N4^GZ,, ]SJ52\0'[NLS"D 4TR+:4:(^)8M5JR7D.W*>N3E.M: M/WVG<1"A:<_1AMPPC3,2&>1%3LEDY$H.+CJ;/SDE5M^IG'P6[EFJ79(\:\52 M>H\[UI_:7Y)D]%W"3HQI#]! I@F3#(/\N5.V#5RW;HU9O/43ICN.V:G_W1% M]/#K;L77;[^5A);+N@ZV2P8.A!]@+/VP@AAU$04W#P M<(B:Z_P-QM8[P3W1!&5,FM4-X@2('-J0WB1PV-#U>H0=I%5K26@S:CA(:_Z@ MX938%V.&DR\9GJ[8-\%W2W%?0&:]'$I\"L'3A& ?T225Q[$H)O)@%H0H(I0P MAIG(8E"%^97\N#Z_M=RI:S+0S"/@.>_*CZ)Y,)P/:N!)TA1E)T6:EN&R=6J] MDIMYC[EVH#L[%UM:]EK+^6M5\3_+Y?*@@"E.,Y_1$(DP$@@7G" J>(["/"XR MSI(<6B@Z3&M&B]?1-C5FYSA!#=55TIL;H8[L3/9E4$KKMN.'=?5:?M](_C'U7UW47O+MN5K[7DM0BZ/-O+_4,Q4 M%2@+9$&D.J0/5)@[0=7B*JIGHPR8D:5ENSXM$W[Z>=RATJ M5S][AWP"LN<(9@P (.O9!C?0 :^;)&J*">^AC]KO'6I[7KS;:=3 9@,.@"4K M B \JU&! W)J8PQ6@ 1:&G0'RBJN1]CFHH,Q2*3J"8\19D?)8AC*C!+&(DY*$SD M$%.3P2>&O;BA*&(581L<3,_%G:4Q[3OTOU'YV$!I8D]GA9:ZXN&OOM"[<2.5! MFA*69XC23 T_";$:?B+W/S]-HB@4+,+PF[M!,+'Y+_(F!;]XDS?]EF$ 2S6G%O=%>TZM M5IM%GOM!Z/,$^4& $<9Q@?)0ZG88$"R*E/DD8Q#=/B?A6I][?6#KKL'OQ8:M MRY>N:? ONTVY$AMH%.H<*"T:CC(:@^R(=HHXUM\]"K;FD1QLZLD@#0CT%M@T,U)\_4+_Q]O1K M>&YUX#&8%*0OK[7Y/QHD9Y[JHP_"^:P>P+MF%N(WZ0,T'0&_BNUV66=Z-Z4I M;<#QL:K]A@>RWKXMPJA@2893%"2J4V(L&,JY'Z,X3L*,T)@('U3_ *+NV&8< M>/$V>V9NE.78J:KUI[60#NWN!6H_8 #K&1)GL,$L2@^QKSW$&D[V >MMU>;. MU-S8LRY&(%@R,S#:L]H;(UA.#8_9(H:3#AZ?G_YW]:?JK/YNM>'RST9##@97 M<6PV:N*JS"J;?,',5'M85W['MW^L&+MNW.I) E@L2%H1',48D\2.$:1JC M/!(I*G*/ME%VH(5,U%U[' MAM?R8<\'&I?3DK,S0&16KV9+I*TO!>V.?NK&HP&:).DLY_65M:Z6/ M!I]U##AI>0B1V'9I]1C)'U-PK0'"8!FVSKNFO^#21_A6+>4;F[NZ#=LB" B. M_31 +(GE_A3G"UOO<@5KMGNB8WJF+C;]ZF MQ\6__DL6!NF_MWWGH!T1S@#+"B&"($E0P2B6SE 4(:H:FOD!3H(@I2D.$K@S M=!ULYH[0WO.AS=9^-3R4D2"-:("BNLM;+#*4YTDF_9U8R!U3!+[/H/Z.#7# MOHY\P28NNMO&-9+"-HEF_1OO=KM=EW379&QM*Q7$L7J'.RR3M6W@C,#,1G]( MP',3/_CDM45"(! 5'A!2B*'R1L+2 &)?+9!P;DGT97KFG"K,4 ^#H687K1899 M@(Z>])CW%#U%TIZBCXMD2:D'B,RJP.."GBKKQ-/&\^^&]/X3^4>U?J?:VZLV M+>^K9U*N%DD@N%\$/@HID<<8J< HBRA'0!#T1][IE\)M!UR3U485 M<),?6?EO6%]2W_QZZI*OHLMO?%(_F^ MB(H $S^)4)&P!&$14T2R(D59EA0T2,.48FO3A,S9=&WT&L;:$;SLS=L>F/'( MGIM-W:^^OK@AW^W-&;KBZ^F9Q1__36#6<[*=S(W7?;&.;Z_'>'W1U&/=._!^ MXWUN/N#CR >T.K/H>GQGF&5T!9-_F1E'UP,-F7UD@9K9-M!CH1WK6*YVY>KI MD!;=C&5JGI/TQ.;NNS1GDD:Y(NNWCUOQO/DLX58#(:OELAYT($VFV&P7(1H&81)!;C0<\NKX:J2U-NWXLV98B3+ZT'(E MEU]+S_;_1;X!; ,X[AVV'T#;<-ZONF@_4/M\S?V-=\RMU[%KS][/@*DEH^^2 MTUDM_PR0GYK_.4A><11HR,K=IOY3.Z;F?;EARVJS6_=Z#N:9X"DG :*^( BG M<88(30D*Y%_2-$\CZ?B#/7Q=ZHX=]P[0VN6K>I.EO)_:'K$_F\Z8TL87X(.[ M0,W$M6[MI0*M^8N6%>_ BZ."-B,8;'K VK3G=VRAL%ST5\&+F)F@.[)6R0^; M![&NY^"IQC K5BZ;>IQ]RA>.LTB$A7(A55^,0#6A)2J;$XN8)&&1)0)T=:I' MUK'144?(ULK(K: 9QP@<.ZP)GYYIL0\*,!VBI>\]J![5B@/OF 4G67,PJ2V9 M$$VBL]H.&!"G1@/XMIFU^/UKG:*WD6;IH5*5]8PLO^ZH&JN^48Y4.[C*QC:_'[W[ZJK#K%1[WA/N]6)2M? MB$GW"TT<]3]U@U&7F+,,I]3D,N3S]!@C#!%)&<%"A/ M6)@'K&!4P(Y 9GPXMC2-*\^.PN;E42!K?3=D+'7@V&B+:RO88H31O9L>TR&=9 M'!JOF []OGL6ZR=YNOIU7?VY_::N$LGJ;9&$T@&A)$8IH5*!8Y](54YB%,0D M]@-"TD3XL.'?%^DX5MYV1'9'VFMH>RUQZ#3PRTB-J[)%^8$!#S/1#<:$CPIV MQ;CPR^O./#9\5+CS\>'CC[OH0?U)M1RK_[0W$OO0G(A\DN51B$2F;E4B->TX M3CGB$X^,OU$Q8 RY86V&=!4V3A8[34C^+[=UWMMRI^LPNEWZ1Q[P0 M5-JOA&09PCREB&*<()H'B1!IFHD) MTC5 ?CN97IDE).3$YXC%@8\P8P3E0<10FG&>I&E,_!24*PYEP+'5Z%=VWFVV MY7,]VQ+2W(1KP7S7\_KLX[ 7RIEDOI6*GV;HL@BEE >8Z(H/)8EA<%RN*(HQ"+ M1![4HD Z-3!G!D3?N5_3<.']U/'SLU>NO#Y+_]-KF/+^4&QY+5_ ZCPHZKIN MD#,LH1Z1=1A-NKPDT%_)WC9:!=VI5-7[\[KL\U&W+5VD9 MBY))"A]6X&:MDPNYSFQ3]+T] U['@:JWJK:K:JL9!-(#9=QJ6,<#9B.FH7#0 MMU5;7J/6K=.KS]:]55O0?@-7_9?@]S7O*[9355I-2.ZA;GSU0?[=9D&B,,E( MD"$?J^X_"16(<.HCGG)1R+^CJ= :#SI*Q;%>=W2[B&-#V:M)Z]_4#&,T?4]C M17)@.-9$:- =S:101C'+IE<3LZI6J*EM MWYJ/7KOZ>YB>$MRA;.78<&&>6Z^RYC!C_#<-X"T<(\S07TX"B9I'C[,7'5NK!_+FO=8E(T6U?JY[HQ^JE&Z\FA?]P\:Y MV-.'BZLDAEF."\*Z"(2.2F5T9#A?;;8CPJ @_2/!\$-PU7E<\]OU^N.*/Y;; MI99+?_Z68Z6I:>AKQ8E$TRIA+@Q,'Q[7I+YXO%6AXZ=V-)(D6[Z6?"==]7$Y M0?IP620C93A9:C9-N"Q"7PT&GC"\%E1E8+_(;8NK'"OI2C9C_'*>YD' (T0" M(<_!7+K4)"P$8H(5K(CR(@U C2HODW%]Q:)EW&2'-*[NK MY09>S"EZJ";HR7VH/A$?Z9UJ44 VW[H:<(OW<:.2VKIUNTQDWKNU44'/;M#& MGS936KG4<]4$N-LT>.(+FN8B0E$4,8353$+BYQA1(4*:ICP.BV#Q*M:TTM78 M,QJ07]H^)>W?W89B([^@ M'&'*!%SPG%OD\(T[XG'";C6$W:RJ:6\HW7T/8D<:#>C UK45VQ(?I ME*GD!D5=8X)=4=-U<=F92[K&1#NOZ!I]&J:1RQ+$A3&NFHY1 !UV'R-I5672BU5*<\(3U.V'Y2%/RGN5'LVBWGU\A=[/SCUMZII:M).6^$1(1FM M]TN1(YP$*LH+@0."N"1,N7U:+F/"!2J_!AL&]'W7!RS3AR>AIM#0]H M-,48"L,>V1,B6NUR/43K!_2IGA#[N36I59>9-NF; *0\S$:(")PQA M'Q/I$P<"9400$H8!#C+#E-8]#<=*?9K;69?07Y7.>D!G^GQJ06:8XAJ(>T4B MZYE %M)8#VO^H"36,Z&&4UC/'X6?1;^*)[7@KZ)Z6I.7;ZH;8KM#A#0.F8@C MA&DF$ X(1;DO(I11PG!."8ZP5H7:*!7'ZM1%#'# MJ=1!7&3J?Y((Y1'S4=88.,?>AHIIT'4(1'5V#SA>C@.DYN+9@ M ,>0:JHW7DVW!N+N ,3G$2# _JV.A);;= M]S5[6)=Z%ROG;[F^3/DNUJS<"*\FIG\;?R+:N,9=)Q5,OVHZGJ98H OYRQ(8 M7LG$8LPQO*H5P0QPG&0(I*'.8HS M'@19S((X D5D ;0=J]CXG%V/OAU-VH5PS%[;T!HE^XZ,+VC0=0!EEJ1!3O,(98QP":4J$8YX M(J$,:! 449RP;"$_YLPPY@V,'>'_QWX_];9!V[]SL/U/8\3TW).B?\# M%.=K9C);FK"\OX>Y+]Z1S;9]401;+;J/%Y^W[_9% MP ^">"8,+N%:6.@[W6#ZK&NI/GQ\^]EHG ,., M%\77C#A>*[E)\/&RT Y:L4U*:!Z*I7!>00&/(#"RV=<*5_R=[VD)!G3/'\LJS>A%!Q)+'QU@V_:O[E MJ]BHGS;PPGWCCZ%GN)QB:]H;JDE/D)QX/59NO(G.'19S&:X$Q5:>@RD;\^9 M7 G667[$M>L99T45Y5:%S18B*+(\*1+$>:@"!T6*2)I$B&>^'^8A87X"&NMQ M6-JQ[Z0BM$U$&YS@U,FN:36,)(+9@;-R(]41JYO0\U"MZSS]TSG#JG=/M=I* MNC:O^X6[\=YGVU MS6CB((N%'\2(YHF:2N['B'""$0TI2Y,D%ED$FAXX3,JQ"O[^MZ]_\[8M;9@6 MCL"CIY5VA(9IZ>]?O8YH;]2?@_8]T\)94L010K,JYK3 IXJJ\8:9XDI3K&+U MTA"\EESP7]Y^WZB4B@_EBJR8M+.W;%N^MCVF Y+YA'&Y=TKUQ3Y571^D7A>< MQ[%@41 5,23)09^TXU0'M1W5;>%^VBG_LUS][+VT3*GLH*)CR"-[CF#J#P!9 MSQRX@0Z^B=H#P"[*?^+5*1LCSP$L:?H(H5DU>UK@ M4TW6>,.\\V:YK8_PMRMY0E^I9NY"6@?1BU0>[M9"$K*\2 +D\T0Z#!G+$.4X M1*R(BB0LPBSSM?K1F)%WK.$]9NJ0_!$[\ :> %CUC( [L&"&810G=_>:U\%@ ML6\H@/CL347AP%SJ.&JPRG67%Q^JM?12F!!\\T'*5>?)?5RI./RQ+TVR(F0X MS1')"$-8Y0UG49R@0*01BYF?I#R\XLY"DXUYKBIJZF;7#[IPPFX=;*)SS67# MQBNJM?=3QXNG-.'G=F#-GA\G9Q1#)"S?,.A2_R$7"T!HANX3H,N8GEM>Q;)Z M4>K)OJVJ9?7T]J5\^K;M(GDDB@7%F4 LS7R$J1\AFD4$92F-TS2/B1 Y[/ R M2L_Y"::E[FWWY*'GF'&\= \SUE" GF@Z Z4O8:T@QBHIIC6SC;CU&8^X&B) M?G[*T7O-3-F_B"TI5X)W3OO7=3[>,[9YW34Z#/#Z6K-P":Y & --3\NMA@.GV.0+V-7I< M)DN*/$!D5OT=%_14;2>>-JQC8=\$WRW%?7'7YNFTW3\OYQ/<+I=MW['[XHM@ MU=.J_&_!FW&>[ZK-=M.+8?@^">.8(Q&'5"I\E*"<8Q\%$4\Y(1$I"M"F[HQ3 MQS:CXUOE0O4G"_69G1RK,_.WT[,]?XDO C-?DW..V@_!FX@+>2FW9*G8O/%N MGZN=?-K%2+[9 +55;.6,SWDKM5S#?5;FY9R@07T+_\=C];E:/8CJLZ@4^=ZL M=.T:E[%%'-M727NWJ0-I;:X3>KB[]S[+_S^RL!^J:KNJMI#2EU%DQDVD55!@ M)@Z(AXNJ&!W!S2IC1E>>KSI&1\"C"AFM%\P\N.-QP;6'H;)"I2*I)EK;MX4O M'2U:)!3Y)"\0YC1$>2+/8!$304'B2(@ E'TR1=!QSDG3OF!Y,D=[TV/C7_\E M"X/TW^OV=EM@Z&4233W7R"9&,/4_'3!^-PX"V$?1E\AVDX[K>JL\!^4S2">CW"PRAG$D6(Z"@C*$ M1>JC/,W&\(@ZWR?RCY>1L$&()SUD+ =)TKVJ6U^492T-UZ+5WX!0MP MSEA.$A-S'L8\A4;2+5!R?T)HKXY4\B;3T/&+0R.,R M/GIFXVJI8;:A$7B?Q+>G:+E%U)! -GM"G=&8OPG4D)@7NSX-/@R/C#P(L?YU M7>U>ZNVO#M$T3MN7[>KV>:L;&YE8QK'N*>I>3=YK#DX]!KPO8KM;K]K(IGY@ M9 J8Z="(14Q@FFD!#E H1%-0HV#(U-JSA4,TA>P'1'1?L3-V3FW/;.&G&2&9 M2%' DQAABCDB,5-);=))YS3W>08JI[M(Q;$ZUS2\G\J5QZOEDJPW];BYC2(/ MO'6^C)'>=GJUY#"E/9\S=^/5)-U-F#N2R-%TN8;&#YTL=R3FU%2YXX<-G5SY MZTI4;MEO@FQ$G75R7_R^:9IV+ 3G*ML+HZP(RQJNC=-,I@"0])N M_&2+KK&.C+9TH$F! M42X(:5KB4%HDB#"1T\CW*X)>QUEXPY<(WAIQL:LH #3;$, MX &O2=ELA;:&"E]J%,D_(:*:V0XO.IZ 38AVIXM2S<*5[7//;]?K];MVT M/M14M>.W7/O/A]1;KR.IKU4G D[KDKEL, UZ7).Z(1M(/)#&7);$2$].EII- M.RZ+T->)@2=@FB -V.)+]4:6V[=[NBR?ZK4VG\I5^;Q[_C\[LI:_MLNW]HFN M+')!8T$)56.I\JA .$LHRH(D0@G/TS#A@N5QH*-11M0=*UU+W?MG1]Y;-_2] MEY8!/14T0W9<2YWC!5/DEI#7X^7&Z_#;L^-UCSW,@!]OIY W-N^'X7C$Q@_# M4]MF7H5'8U;E$LIP8C^*@MIXFJTYBWV]2MS.!%^WB&FE^%&.S4D&SN^KM6C* M<53CS8=J4RJ6/I!RK#S( Q]U;%6-=')(D1RS% 6R73->'>V ]FLV/IQ?R_$&?!+:) M:&4*ZGP-I[5G#J"T5G)OC[.9R_.M0WI>RF^?!,QR/]^K'Z<[7(V.H]>-Z+LW6K#U_S#DCR9S"<[O.TZ\',VI^N=]"U+*:_@9L/)>H)/!X*N MEQFF56/B>G\HV@X&DIT+=O4TLMZ2/V04V;E(0W/(+CQI=B+9MP(5FP=2\D6> MY%$:)H7JL9O)4P57K?'\"*5%E!893?(T )TJ3M9WK'=UV^D72:?N[=8.SC;H MM'N*BIZ[?H6L,'T[M-(5TI66I.SYR0,R6/)U3U>?U5\=$.W4YQQZS+0S[FI3 M+4M>1Q?JS(6WPRDP29,\"VB*<) +A#'.$2W\$(4DBGP613$EH*918\1<:UZ? M-+3+[0A$>IIG2W"8&AY1O6DRA-Z\/]K_.NI:.RVHM1ZU(Z1F[D@[+?1Y_UF- M=PQ[2NU>7I;UK1=9_D+D;X1J<"+$]M#7MG<#+@)!!8T*1#F7*I[E&:)AD* @ MEL=#3G$>%!S4)@I W+'*M^2]FGY]F5ZM]*\'C-#4LP:N,()9ASX7WC%6/48< M=;,CI?7O_]+@FJR:L]46\5.OM(HDRQ@7+ M4,!RCC"AD6J=+]WU*!&,".6E%[HQIR$BKL/W+5GO0-=K".N'G ;QF8XYV9 : M&"&'"PP*.4U)9!1S&EQTMJ#3E%C]J-/DL^9AIX>UX-OU\\HHZG3T\IQ!)T58 MR$6>54M->,CI6&C]B).QO%<$G(Y$=1)NNBC55=&FXQ5G#S9=%.A2K.GR@Z;) M>H_U1ZI=\O=D*V Y>R="Y#ZG?IZC MK&#RR!GC&&4Y%8AG84X#@L,LS8 AW'&*KO>UEIK*WU/DP*'<";RT@[OV4 "' M>VN2WD\=\9^]N)?"!UKOFBG$=XA->(X M46*!22[R(DU0E(09PGE:(.J'!0HY3BGSHU3$H&GFNH0=6X)/9/U?HIG[7=93 M7 #IJ& ,]XS5 M,9Z6R?JI/M=U?Y>-]X=BW*LY!U;3V_VF>J;NAWTIF#W\(1\);$B=@&G)VMKE M;5:3[ 364[OMAHB3WLB'Z4V_KJO-YI Q^RLI5[\(Z2"H3(=%+*(L$4&& LX) MPCP)$25JO'9:Q+$\3N* @L9K6^'*L3&O2?<3TQ7Q*YU),_3-/$WGF%IW0V^\ M_C2QB_C?>+1F5>4VS=9/& ;=/$V&-7GZ*W4>AL$(;$<,7-S@NF>Y;$.BO8AH M-ZQ.]]9G9 W70;+ETKL0T@4T<1@%0.,&R)+LP(N@ ;$MCNW3%<[L/FALX?FN MA33$.[H=TGG>18CK$]FV?_I[N?U6KNY7XC\%61\U*U]PZK,L$BG"690A+#)Y M0O4Q0P$A.&=Q%B6Y5G&[/99<)U3L5#Q,'F:$]R9)VXR':0%N(U)F&T87SLO1 MM(,;KV7Y3?Y+,\FL':OW5>K%4NS_N;Y)N_&4-)Z4:JY8' 306:)T6@S]A>)W M$ !AD3W0RD:>3#V02V5D@OV7DS=G\%H. ]TV:J);ORD3R'DYE5G+9;E"7+BC M,B*I?7]E0#)3+^5TN3E]DP%13CR2H:?,,[]43J=ND'3PO9F2H(Y2BJU&+"FR )8./B>+SWJ(N2S8Z8%DX"G3%$3Y.RLV MV]L5KX=2-16S"Q$%6 BI4C0)568 I2A+\@P%21AG%(IGE'@C<3WAJ2-M,*QT2REDMXD[E9X#R0.I@)E.9237&4)"BCC*+4YQF1/Q6^ M7 $Z;?&$B&/];'XS>S2]/Q158/K,173T]/):F8%>*%1V<< M!VIN&Z%ID/@I8:";BLMT7 ?Q]E3KUBNH7'FL(0R\B1A 2?-ZX7K9@>&7@]B* MHKJ!>3-VWM0#?BGSNI]G>OJII4KE)O M#7F>)YAD&8KBS)>N;2!=6Y'X*$^"1.1^0=(\A75QN$C'L:(>J'HU64_1-=H_ MAW#24U4+TL-4U4AP@YX+HV)9:Z]PF +$N0%)9G<4"-1((QSC@B3NDLC$>:1'X=A"$IK MG*3H6($[^I[Z(IYHJ6Z\JO VBAVO:OB!*?,TCGIJ;14=F((? U,3]UKJWIZ\ M/4W7EM22SD_3FU7[M<4_M0/Z+QINWUNRK7.1[HOF$"V/U"IZO!;?Q&I3OHKV M;[O!@T7"BB3$!0IX01'.!$&$I 4JHB3TBRQC*095R@+IN][N.VZ4?3ABHXWL M&,]RA.*LZ1:X0P_H+M@ #NX^F(EORZT 4I_7W3"#YLP-,5S&T!BQ;X+OEN*^ MN'M^659O0GP5Z]=2]8MJIDT+WK].;'/(Y$_WA;KY>EJI5* 'L2ZK.B%H4[4IJ#*7B=NKJ5+QZX]QKVZZR^33N$ &H0G7QK3;/YH[\@T+C6WZ=FJQN MT\_*3'3 ZM0 M =+V%[R[[FF*"-_MUFOYZ[_@113RH@A1QEDJCZQ)@')&&2)4'E8QYGD6@ZYH M-&@Z/[36''3)"IO>S2IK&/!(S0[TU#H-INZYU2I$T)-K@TY+O7?[VC!PX[4L MV#R]:LMK[?PZ37'F$ZPV!.=G6/U7X:,<_R[*IV];P6]?Q9H\B<\[EO(ODAV5M=$- B#;[;JDNZ:!3//(LW0& MZ]#9MVHIO]#FW_1G&U[[J<:-T\P? &:T]MBWG'D-:\JM;ICS>MS=U'T46&W9 M6@[!@0<;>.M/EIP1=[,YD]?B;V?@I"681L9/7DMAMF&4EJ#HCZ:TM20\1?UC M,[KG4.'Y&Z &8OAEEZEK--LR7 MD:>Q/U5K]0_5^GVUH]MBM^PZZLI+^);0WB1Z(>F/Z+SI.2 @SK)U8&^;WOY)/_[C9K,3_/U. M-5IJPC?-CGDY[+-@"?&+,(Y0P;&/<$%#E*=%@%*<%1C'>1(%6B,\K^#!L3U1 MS-0Z(IW#_H''^ZEFGZ&W?W"<=6\ G:)G$*C>> T[-ZUCW?YW+'Y-"OF5 M//F+7HARNUM;S)^_ AYKMX1P#F:^*32&Z/RVT'PI^,"79FSJ%_%4*O]]M?U, MGL4B$GF$:> Y^GOVT72]5#_[- M?=$UY._FB6F67 ^OX%B#/A'Y4DF6]62&.L_OPAE7OPA[!(GID[T=$&#*I26_ MY1%J>K(:'?%'EIWMB#\M6O^(K_&T>7^-3V+[K>)@;1QXW?6Y_&C&=4W:8)+W MB<336F=!6.!)^UQ.!PHV(=9UD[Q/UIQ_E/=EH2[.\AYX](K9,,ULPG?U4:]Q M5F][]UZ/U<%U;8\O_7#I(D]"&C->()]&(<)^DJ!B:G@JAE("W9-! :WV8[HDC)E3 MTE]H/D_D OM'[L>E?S?S.51VY'VAFEQVO:+3.!$%81E*,RJD"Q'%B(8X0#2* MPY!)!R.,0*V5SB@XUB%%3VTV:_$J5CM@=Z5S.,(\8D46)0@+CA'.,H:RV)? M8-\7<5#X..&+5[&FU2R ]"G]*$CTO)BKQ(19E4Z^FIC%7IR3HEAR#L[7GW6O M'Q3O=.L>?A >,>]&/C=A^;L5K^>L1D0>63)U?L'41SA)I=W)DQCE@1\7TC!Q M$6F'S"]2<&Q\]K/"VZ*4.Y6UI3U_=AB7Z;#YU=+"5 XLJ-%(](O"7#4/_7C% MV8>A7Q3HTB3TRP_",Y(/,Q>;,4:'/W\\C&#LMKHH+@*:1:A(\Q#AF&&4XQ0C MSDF0)3[Q=N,"$.]O_H('40)!75< M!9=^FJ\CV,Q2>J__)0/E[AK(/I*G"UEMMIQ< Q'[^;,M+TQ[K=?,W3_(SU532#*'IZ(1M<*#G M"TU<'%RU0"0W"G%H$9@M] $1MQ\2 ;T'5_3F]O26-_<)M4NNJ=;G;SJ/(3:D M .>. 0FGU?(ZX6!*>"EU0$]6D+X-BV2D71>6FTV7AD7I:\[(4W ]>1!B_>NZ MVKW4F7?KS8<5>!\<6<+U7:*D[-6DO9;VC?>AJK:K"J)(8Q!,:Y0EZ6&J-2:X M@RU-0T8C71M;=S:ETQ"NKWTZCU_;P 8Z\+B><%QW3#C\YD:B(-PG&!&:IPC[ MN4 4LQSY*:%Q7F2)G\%::-KDSK%=Z#>L.8PG5W^Z/*#^D%YO_8>C# M[-)EX(%SX=LQ\#7/GE5;YA1-ZXUG;/#V@QK.6(1UN-&,32)F%OM#N5*E/K]) M6J*C_?99@M7V0PF2U.?8QRB,:(1P$*E^AR)$>9B&H;+/202:C#I!S[%553&R MKH-,T7#B+14KWM+4E$X!J&<<+<(",W1QC$#.&<9"C+X@(% M-,!%2*,B\K5\KD$*CC6\K:UIB7HU54^2A980G>(RKL96I(4I+EA0@S*B 6&N MJ",Z77'F0J(!@--MD58'YNTHNO'H2*_9VR]AZ1Y:WVW=DO7Z3?UF[ M (OH0 GF-$P"K(4M-5J474>W6_I;_<[K*8JPK#3 MVV6M(P)3647>Z]'W6@;L[:\@ 2WMLGHT9]UK03"<[KBPE\V[E=33WR\7!>\G M3H9IA),"(Y'*?1@'>8R(SPBB69YG84%HX7-HMY)ILJXC&[U2"=:_Y#(:3:F) MI)Y]L(\/,/:@V>C6;K,2?8DM-BO1(#I[LQ)]("XU*P&\#;_CD![_E]U2!#Z- M U52N7Y>;?F')7G2O>$87&"&$['XL+23<>DE$;W',.KSG;+,2E8_XYC^F'C>%FYE2?Q5\$_KK;R6Y8J MW:>.WOVZEI[#(N4\*](P0J&07QR+,$=Y2E/IQ:/-;Z1AX!% QI0ZH=0K,&%#B&)BFCFK1WH+UOQUR3 MMQI$TQ+47A1MG-S<830MX2_$T?3>,RZC5ED_Y'N[U?\B5J(HMXN(Y3C@08A\ MS!*$\R!3E3P8A2P(19HG./%!XSH'Z+A.4EA7K^5&^>BJ:U[;&GE+OD-CY4,H MZ2FX!=EA>MWFUTF*^U[K/[5$A\NX3I/'-G M' M#QC%N: 4-#)'@^8,^[@B[#TIRE"UG49,5X6MX@!5YY;XC;='HZ9_4V?3U@-^ M&AYL*K>VP-84?9KBS$JO#<&Y =!_]?KK[R^J>_9]\?NF\0L6) ^HR E!$>&J M-"D@B(H@03D+XS0@F!919'KU?4++O?+WKKK7BC:J"K3;"*,Y*F.@:?OJ-J MN^G]J^XO'0R2^6]OHCZ*_>2;KHY0"2*Y*Z?9X@$ 48XC#G*>!JC F<9 M*6@2Y3FH4?@D1=K"9 6_Q30Z#_HJ$7T*7AO2\W;%FIK+O-(;TU35F4L9"@ M(LO4?+5('@MX(!!.DRS,><)I4(#\@#%JCLU OZA6F8+CU.+&X)9U.LEFN]X! M2I3UH-3T#FP!!/0/#ECT"%NN10#):,L'&*4UKQ>@(_:9'Z#UDIGJ=T-R[E_$ MFJ@[_Z_BJ>F;APF)F1^D*,OR1'4FB!!E)$(1YS['),UR"E+[04JN;^#V@YZJ MCK*W:4G#='L8*SV]MH( \/YM+_R>J/=U2GBP,D\*9DF1A^G,JL23XIXJ\/0+ MIM6Q'U>\;O$.*HQM7W*M=]J-Z\_%&=>GJR2!Z<^% M@;E6M:OI9\)_T$.XWK M!P6ZHORU6VGFRM<3 OI%RJY3]4:]53KTET MW56[S>^KM2!+-<)<)< ^5)M2\12$G^03WS;WZ]\J:?_7O="H>FR1^PFA#$=( M) %#V/=S1+ ?H8#D>>BS*.11M%@I 05_!!@:ETQK:6+>:.(9Z]I:&83><\V% M_%KRI[7XMR8/Q#OP7 ^>@T;=W'Y/38/WPS^/F:&4;'L'OF^\/>>HJ-9(\7[C M';@__5)>)\"-)S_NI_W';:2X.;HVL#M23EP4[.PFXO)3UW9+.57S@P'X M;3](6Q1%4&28()[X4ML*%DE72T3(CV(LF(CCE()2"4'471_JQG?FC61*;RJW M!9SU5-D9>M9=&LOCS*\"P'J#$1W:/ZB!" "6X08AD$7,C%![YOP@)5'.A3)K M?R^WW][M-MOJ6:SOOK/EKI[5KHXJ&WD4(M\7G.6)[^- =0%)$.:,HBR6?H ? M!#'#<9:% C2NP8 'QP:IBZ"H#^RQEB?O3\F4QUJN8#;(!&8]2^08/)@].L+M MW1%N'4.JBK%ER>MX4CG6]DS3%8A8,E F',QJIJZ Z-187;.4C>['[ZJO8BF8 M/.&T#9,L=$$>7M.QW9GH^JO^F:S>O(Z[KOW8-;V11_";OH9R!1W,ZABB-DOG MY&D\+'50'B'T SLI3XL_WE%9XWUXZZ/;9['BZBZS+AP6E&S85NQI>8J8?H.C8^G'=?PJF6!*K"D.J(W11=:- MVA<=KS1;VZ*+ O3;%5U^P+0RZK@P\I!N==@2_# HHH!CQ$.:(4P+']&8Y"C, M.!=YQ'.<9+#*J$F:CM7HK& 76APU#9J>(V\9"ICVG:'0RX%TE ()D-=:;=0T MQ9EKH[0A.*^-TG_5S!Q\JE;BK9EA\F&WXMVT'#6MR6=ACGQ6)Y7D!9$%I, " MB4P5+::1U$X<% @G(DYC3I,LHZ!)JH.D7)^$)<6Z1*'^H4?;^T-1!UX!C""F MI[-V< >:TTA@ \;G93.UM3184+SCA^=%/AL#NGT&S\B0>LWL=D\?B/[B__3 MA)X4DY@5/D%^'$<(9S1'I,A]%,7R=!L781R&^>P)6A-,SY.@I9CPMI(+;Y^J M]9=(T9KZHGKVZL=_H!^1LI_KHI6IIX_R52M*9X_7\H14L3=KLI6KI$ MK;J&)^V2TX(G<8$CE+/$1SBF\B>1QRC(L[SP12HW!U 41XOJ7 XC4S^( QM6 M/$6C?M/68;'D/]YX9.MU3#0EK\Y]2:<]J/5H_A4\3+T>U+"7#;//5*O:C;IE MD8;KD7Q7E[;?JJ6ZJE66[&(CVX7 042C4*" Y@+AB A$$Y8AP:1GB<,T);&) M.VG"RSQ>8L.9]TTL>=W\;DN^U^D,+7<;[Z=RY6WJAX9[PMG#7\_N.(/335?K M%N.:RPYGU72OQ[9W3Y?ED^4N/-? 9"N3S82%>1/:K@#I+*_MFK4,.^T/)M I M+^X3V;9_4JR4J_N5^$]!UON& PL_SI(@+E(4"DY5BGN,\K# R"]\5?E$TBP& M-0&XCAW''M3[G?"D-:M6PGN39(&-^*\#6L^PS0>?@V-K?YI@R^J;?+)K'5][ M:E^E*BS%_I_K&<,WGI+"D])8[/MO!4A;\P"N8V;>.0%6@#N;'V!G5<,CXUKP M1]/[HZ$*O3FXA([F\>]*F8&G/:BX\)/=B#RV#G*72,Q[;AL1\NR8-O:L MC=S6^^TWL;:7UGIQ.==:.)Z;6;-D(XWU,E3CBNH():#> @":)6-U5'Y+R:J7 M:?S /-51H<=35,=?-6Q+)K9-]W,5$MY[!X^5I/YH16NK@)-51C01F^SI4 MRH2@.(T0R=7TD22*$"4\0%'D\RC.4C_%.:AIF1D?CFW*Y]VS:B15K?\-V,#, M$%6][7X&K&"6174U;V<8_*1X^OEP+/&VE=?PY?49NZDGES,GE<-7PF.KA9HA M%_,V6+L.JK/V:UG"QKX&)'8CX,X MBC@EH +"$5J.35%'&6:(QK#1,S:6)(89E(ZH^]Q@#?$L&80Q2K,JO8;(IXJM M\XJ9\OY=J'[K@M^^RHWV270-'-^7RUTWY7!SO]MNMF2EHK<+ZD<1+EB"?!8) MA ,<(!)D(?)]BG$6)6$<@10:2-]U8+0A:W[7 X4SS&*&$Q&AE#%I'WF>H!RG M <)I442A3[BTDHMMM27+'P_GGHN_+IQZ)M4A2# SVS'BM9QXARZV[559CXT; MKV70GO$U!,*20892G]5(&T)S:KA-EX''E#Y(2:N5^")8)6F]W7U_D;]J;;O! MC\\ORL\K63N8'1QA,EK?(ZINJAR1U;2H5.&=,/.IEA.1V"<@XCS/R M$700E;H*$J,8E1G%V2)65P'2CU]=MY#A#=.%OA!UU=KM:C_,X^VD]6Z0"QZ' M J,HDI\*QR&5I\.,(A'[19S0HD@3T,V[ 0^.+=77W?,S6;\IC=IW2FEK+]55 M<&_*"?#&R@!MS0LMMQA"X^:7N\L<8]G[\Y[#FQI?J0&B?*V#82[[)%^!F:T[ M-0,.YKUR,X?H[$;NBJ4,^V<=#R:[IUM2KM20X;OO[)O*<9,&MS_(;,_%0A"6 M8#5(2' _09@F#)$P#A'':41PQ'$0@2R<,2>.[=R7\WF#7M4RI_*-1,M>G?=7 M'(TJK/99?T ;:/Y5]"SA+%C#[.'Y/$/OOH?R71_EHU&(!\-HL077M?C8:L1E MS,>\[;BNA>NL*=?5"]II(?)9;/<-P+IHY?Y:+4F+-*3$1W'H!PAG:8PHP0D* M!/7]!(9(^[8YIVUTVAF#/]T:'W7,?2S<0MB$-9Z9LT5@C!+9AF\ MJQN3Z*#@J$/)*.D?VJI$!Y2IGB5::Y@9HOVHJ79V_&:O"7&.HR3(!$KR/$)8 M'C-15@CY4THCAC,24!^4V3A(R;&).0PTZ\:W K,AAB'2,Q96!(=9AH/,'4TG M!F!2,DO:/DQG5M6>%/=4CZ=?<-*+^!"N$+Y4X"#+$,9J-J-@%-$@I(C1G.44 MQU$4VFQ /%=$J&4#>M;114WS:., "^!)9KJ)L*.T ZCL\[0+_D%A&2@8P,; MM@(P;4GAYK&Z9?_"KW?R*R),(JZF)0O:K/@9;.7%VS^B#__AM1FV-5>"\M+\WD]XX1F(4! M0*QG8RPC9F1E.AY4*F3+A=>Q<>/5C#2!XKM)T,!V!BZ_)4L#(#RKK8$#Q/S'8^/KVN=KI&H%!N:2!Y98CR*FM_-: MPP&FF\,0.&A%JB6CK=KE45KSEB;KB'U6>:SUDJ&&UT&^199G$2'R="Y$R!"F M4HMIB#'*?$Q$Q%A$ P%)9FV6!>DL/$?U4;W2WE8"M;216E,=P;( ]6Y< +AJ M'?%K2X>:1>=5EB-!SK3B^%_ACN+MGV3--^^6U48\5I]6+Z5*T6]'O^LZC&-K M.-ZQ% E][W!4V&DOT9:<0,VHJ7HU674__E@^UU5QGSX_?.S5MVQN/,E*^5KR MG;0'H[B _$@=H8W\R=&%9_,K=<3K^Y=:S\,'O;Q3.8[[:PV>^WF>% 7BJ9 ^ M94$X(C0JY&X4%*)(BT3^K^Z@EZ.5G1_C)"WOA3R)O^E/>3D6?5P+KQ((>DA3 MLMB\M!EDWFC.R_%*L\UYN2A ?\[+Y0=,TW&?G\6:EQ'KSY4J#UWNN.!U M?/9B[\'VD)$5>>S'/$)QY.<(YWZ!,IRF*(BD#B5I$M$O:)I<.D?N\VV"PA?/N/695;TM-_@%W5'LBFWXJM8OY9,/(AU67%5 M+O&TJE=I^M71E%-!*4%)*#*$,Z[.LV& $II&),Q])O\5%I]RR[!C:AX^OFO[J8XU7)5*N*XS?U4N\+MJL_5Z+-J, MP\V#H[50GF-V9XX&S@/^>4!Q)KJPC8&I*Z#UV^+WKXLT#;-,Y 6*Y,%/^K A M022-,>)Q$.) Q+0(M1( #TLZ-JZ_2_&E*G_=DJUN;E!/W'&;9R8$S"K]_OGC MX]U[[^OC[>/=U^O-RSG+(R>]]N%&_]L_'%2_M]0LRGG.>J<^%_[%S//9=P5M M+^IJ3?RB^HFNR]53=XPC@1]G+$)!F&&$1480#4.&6!CS/"\8)]B'>"\Z1!TK MR9X:S.70@DO/;; - DS)^MV%]T0=G*H@4EK:F+5(SKJY0D XW2!![QHFOZN. MA+WZX<]2*KF\RL\*:JG8NTO2]H+$T,$7J!+&X M5PYR;W2C=[S2;%=X%P7HW]E=?L!2N=:"1;1(28 1]8DJT\H21(.$(RIP$:DY M0R)((5DC9Q1F22"ISHJTKJS1,JW-8P0=A MZB9?7C3-QJKBE]VF7(G-YI9MR]=ZXUI@'OO"3U*4!A%#N. YRI(@0'&4YT$: MTJC@6MDKXV1<;TS[9GFT)>V1/6T][9N :5P%[0D/W,?VDTUXN+O*>"^:_S;WB[6E;!I=?"%;<5<40C7'%UE. MTT0@'JCAA6$2HHPSBI(8^SB,J> \@[@4\[+OV%_Y?/?H??S\[LO=[=<[^8/W M[O;K__9N/[]O?KC[/[]__(_;W^X^/PX':?J='?WE\1N-4(>+P9\ZN7Z^\?:B'7H(*>&\1CJ[@V/G_RH6)]#.R/SL MHVSG_S"79N+^ "Z,Y[-ZK[4M%R2! ];Z#Y%$Q>$8BZD MMQW0$.&$^(@4@4 L]R,_Y#$-HQ0XN@7(@NN4.K61?/CM_N]?O0]?[C]Y'SY^ MOOW\[N/G7[W;=X\?_^/CX\>[K_"!+E"8]78(M^ !'7NQ;2QVQXU'W[R?%$-> MN?K9V_/4[!8H W./;3$$Z,+$%M.5X &!L\KI=]7J5:RWJD_3 M@_QR8KT6O$[P6F3UA&]*$"811SCSI0==X 5:5S$61X0/V" !@HPZEH:9K=Y M@KI>>B;K_Q+;ND%L*3EK/VH2)(LSY \IA#5$31">9RIL0^^3X6? M!IH]CQW@:F[V]WT65++9(*!.\)P.U+A!"6;?]P ]'AI1]-CP]GPTH[J<(*4? MVG&#F%FHQQ9RH. /'("18!!@L=F"0W !^\$B@[>-;DY_O[D&7I$>2:5V3F@H%ORAMY;%_5WI)!-/;TJ.UYKPOO23$R8WIQ4?, MSICJ>+M]4QFTU4IJ7#N:.HX9S_/<1RGV?81%3!'-A'362.KSF/E)*$!-=2]2 M<:PY#4UO3]1P=/=E@/0.@%>+#=,MN,3@X]NH1)9.:)=IS'H(&Q7S])PU_K!A M NZEMMKOVGRRA).0QQPC@@N*,/,CE= @4):S+(K3*(\24)!GC)CK<$Z;=G?< ML=\X"6\4-CV=M04&3'6/>NG?]*>,O+.=C*C8LF_>' MHFS)%[THC5DGCJ.5YFN]<4F HUX;%Q^ QPV_5&]DN7V[/\QHN?N^%2M>A]V> M[XO;I[6HL]L71- X]S.&F,K@P_5\^J!(4)3$"8Y]'M"4Z,:UM*FZ]E%;JIY\ M]UG%"DE'6#] HX_@="3+"2XP#6U9\'H\J-F!+4Z/+4ZW+G'2CV,YP.^ M^"(V8OTJ-HN""9_X680*/U$GAB!!>1 $**4LRW-.TR0 G1@T:#JVG(JPZKCU MTI"&#KV9ADSOM& 9")BIW!._\3HX6@::63=2WSLF;,ZUT9;8VCB;:8HS3['1 MAN!\>(W^JT81[5\EE;8F\+W8L'7YHDP/>"CS]$HSQ+U_O;U]V/=?[O$ "H1/ M :(5&[>(!3QQ)D^BJ8^X+^JV-IO[W7:S)2N55OH+V91LD8=!04+, MDB7 &$,QF=&QX+1_>H3:I8<7K\7+CU=S8LQ1&(%@R'3#:L]H2(UA. MC8O9(O &QG>K[>'FXHMXJ=:J"E1U@MIM%BSE<<&I&GL7880SQE"69B'R?1:2 M(,Q#FFKU()PBY#J26I/N;LN\/7&OH:[?\G@4K''#81,"F(TPE1[4'UE'-*-V MR:,+S]8]64>\?C-EK>>O;&3P<<6DQZ%\OP6.2$94>ZV8IP7"?II)/.AG4$K]$^* MWK!/8][3X%P:VUT->A1^3%^#-3T&+ZI0W+U\,E%E$:$^EF.,NRK M)#@F4![E!/DX2XLPS_RC,GE_U-0M18=/A3&* >\7F2W2 M>\IV/YY[]F]FVT7=55?=Y?Y6KL1'^>-F$1=)D&1A@8)"I5#C0 5L"$&\P(0' MV,\CG$/VC',2CI5E3]#[0Y'T:IK Y.D+N.AM(M=)"],@H*#@#658%DN[R@4" MLVXMPP*>[B\C3U[1I%2EH:W%-[':E*_BX +6MZJ/Y/OELOU]+7=*55Y9W="% MI*ID/D8T35)$ Y:P1'#I^(&&A%[/DF/%;II^LCZ'WD]+=3[QRIK3&V_59 ]L MR7=@+;V%[Z%YG)L59>#IKP;XB+GC<^ ^/4,RZ:3*WAXZ-ANS7L?0_ UU$FHHO_W)%E692LCLC4'/PB5J(HMQO M:'*3M1U;NI8EK^/)X[MZ/.,I6YTJ=IS=@&>;&P$[?7QPC2G,KCF#$W0*N083 MHQ.+$<'93C?7P-$_"5VUCJ79MJ"8P? *CJV*[M#7*V??ZH88[. LP2Z$-B- M/TQ+:F_8[B7Y$U<7< MS&GI;,741RC-&V&?%ODLWJ[QBFE$LF+_]:U:RC9-J%RW:KFL[]&D6HG-=G\HSUB24!H25%!:()Q%%.4A)8AC2H." M)44>:FW<;MAS'@D],/NO_Y*%0?KOGJB9!D9'+'\4W5#JCX(:9IH:WOJ=8EOV MO#Y_RLLXYM#K6'0227&#GK7 KU7F9@X:NP#V/.#LA(KA/.%74BX5'7G6^DJ6 MXJN:UU5WN7@OZ/83V;9_DJ=ER=I_J\&6/6V/TRB-& X0HUF(,!4Y(C@*4.9' M*8Y8%F 6@88%7\.-ZR-61[,>+ N<_WL5RGHV=3;L8"94$?<.O-QX>SY14:V1 MXK2.Q?2PO?$^R+,#67K_*M-9P M^],$ !0 !P96XM,C R-# S,S%?<')E+GAM;.R]V9:;.9(F>%]/$9-S.Y:! M?%GDZ__#7/_WM_<_@ M_O3?_N/?_NW?_R^ __W3VU<_/%^DTT\X7__P;(EAC?F'WZ?KCS^L/^(/?U\L M_S']$GYX,POKLEA^ OB/S:\]6WP^6TX_?%S_()A0ES]V^:_+OR!7D0<,D#EF M4%@0O)0((>I8A(N*J?S_?/B+2-;SE R(P@4HF0*$)!@XII(0L6B3[>9#9]/Y M/_Y2_Q/#"G\@]N:KS9=__=/']?KS7W[\\????__SU[B<_7FQ_/"C8$S^>/G3 M?[KX\:_W?OYWN?EI[KW_NK=^DC?@HPG:_689[J M JOI7U:;;[Y:I+#>2/V;=/WPZ$_4K^#RQZ!^"T@ZDO_YZRK_Z3_^[8_ORUI*?<7[Z*2[#=)[^G!:??JP_\^.S!6&"J-W\]OKL,_[U M3ZOII\\SO/S>QR66O_Z)?A>J5ID\7_+_/O^]'Z]7_KS$%<%EP^DK^L;%K]=% M#J("OZYQGO&3S:>>Q-5Z&=)Z(DI& M)TL&82('E4F"SEM;@6@2L\XS%VXS7:E>$=D;3:PP_?G#XLN/],&D$2'K7ZI( MY$8<]Y8[%\UA=%]NO??TLQ/C/<_),RC%1]H.FD-05H)2,>2Z3T1A1Y%]<[7; M5-]4Z1NW%3_SX.2SI@R!]G,[RY6^7Y>)3"UVM M%PTD=ZX6(O=//Q#7!9=+S*_.M?(H@?!\?(LQ-(O,'E=)%? MS/-S.H4G0@6+AI#L B,&5$ATAOI$9X%6EO%LF79- '%KV9W@(/N'P^&R[ 0, M[Y=AOII6P5\ .F3GM+41G"6/2;E @#:2?"?'BW*9,RZ..]0>6WDG2*C^(7&4 M1$=&Q8OY>KH^^WDZP]_(I<+EQ'&>D46$R(EBE1V"4T:"CM9DR9-E1QX7=U?< M"06Z7Q0<)<$NM/\6/TRK$.;KW\(GG+AH%#>, _% P5,.#*)T"CSSW$3,B@O> M &W5]T)!:9W%!PAR2Z0<)(S27YU\0>%8,@G&I.(4@DH.9(+S'*&F(R!)%1, MVGIK4@LX/+#T3IBPO6/B6)GV!(QG]-?7R_>+W^<3K3EJ2_Y.$9JLG-<%'#D] M4 (G?FSAG/EVL+A>>"=0N.\$% ?*LR=(O"/AX^OEF^7BRW2>5HLR2'>*&##S;/% MZ7R]/'NVR#AAF H6IB&J*IF8%;@BZ6^A'I1:6":P 5"V$K%;KHKU#IAV@NX" M-^_#UY>9Q#QE3*60\S"@68Z,J%\DEXU0,PCR^^& ME8X3F^V$VP5*+JSDF\5J'6;_[_3S!NLE9:^DC)"5)(\[*0LN5%90V$RNE>#E MN%S&XVOOAH^.$YZ-Q#HR.*I+=;+$L*$[A !,:$$RFP M;(Z"P\W5=@- QRG.@T4WLLKKY>CLS)<&3UO\-TNB3H+KQ.-OV+K^ECF'_ 3;Z5"9&9 MR!IR,N2F<')8"+4.7'+.%&&XXL<81;QTHND"6DIC=5"6FQ;IJ(=7WPT:W2CUB0+A)(WBS+&,^3AW8=OJNT&D M^Y1E ]%V 9%ZC;M\%M;X8;$\(R\HV223 XLHR0BR!%%J!D*39>2<:87'U_KS\^6WSZ'.9GD^"5RU;0 MR1=%IIA(9HCD&)&?S#"C+HJGT@ /#RZ^&RZZ3S,>+]@N\/'N(\YFE]0S.NU\ M%8&0B:@73H#GY!"5A R5UM*%%J53-]?<#0T=YQR/%&,7("#"/]5[MT7ZQ[N/ M)+?5Z]-U;>&HD?7$1\Y8T0&"BR0.RSEQ8SP4CRJ3GXRF2375-AIV TG'V-*.=,2"M$+D;7PAZR=[Y$""'5:UN.L40; M96F)BAM+[X:+CE.<;80Z,C).B(.\X6(6/DR$#3EK]*"D,:!20HC%!-"Z!%7K M-J([#@VWEML- 1UG, \77C.M__N/]X3WBKYQ5$\V^4+S%6;ZRVHQF^;:?_]3 MF-7&7/7%="\8-[)K* H45N!K0.7E:> (TC,0A;)Y);]5<(J;O!PL>CY)L/9 M>G7YG>O=M@]=AQJ0RS5.5BL2ZQ67@=L2I?-@K2/SE\A]#LQ'*%)JS93ACF^[ M%CF$R]L4C--(/A@2+DU. W&/>-K3>:Y_O/CGZ?1+F!$SJY/U ML[!B>K$\(Q8F66;+N">RF?>U45B#"XH"6VZR#;'HJ+?\3E+1E-+!9MH^'@-[.)K":C MN:F\2E$DQR.JL.T2Z1"X[$#6.!,^AD-1:TUT *[;Q,?D8R O#WSV 931$4+R MD@(8HR2:P'EL#:/] =/\ FK X^E@Z1X.C<4ZS!K9G<5G7*[/WLP"B6.>:]#P MN29&J@U%QF5.)D,-<G!Z>Y2=S?3.@= MV);7Q$FH=>.O,*SP;9WN^KK\C0QG%=<$12'4*V)!!@&J* '>D,?/N$G*E1#8 MUJ*I0Q"TE: >7.,F$&HG]@XP=)Z"Q0=9(8-<P%D8&>Y"4 .$F8'('A^L6R= MPO,)WX>O5_B>..<*2S* H<.5V+$4-)B4(4M!4@H^!+UM2-HAL'B$*WRTF#O RCG]$R=16Z1SD5D5R?7BY,(SR^G I'-3LBAR:.VFG*\\SFR] MP>[4]Q)D!VF85],0I[/-%=G)/&^Z(#XN9B3T53E M B&:3L]8D@YJ0,E!&'+7+'/;1O(=";:NJGZ&T?[C$#M&%1V ZO+*]DTXJ_>U5]?^GBF, M7 +GFO:?V(PAC!XXFIR40&]*:X_Y84JZ =-1>G[DGOP(H?4IK7I/1A.O M0ATW07O)9DNR(3L>O560=([:1BV*:5Y_^!@QXQYVPP&H@>@[P-#M[/@E/Y>C M;B9,<"_),82@C (5;"9N8J(-$DU,UAC7O)!U.T7C7DL,A*:&2N@ 4C<3Y@_P M(JQ#2Q**2-NC% NN6 -".2>RQ"2W3KL^]I+B(#@-=DLQ$)R:*: #,#U@82DJ M"5;F0MZBK-VKIKXK8S4([;*/DC.16T/HP%-ML.N(@8!SI+ [R X\8DEO9+N, M0Z9)")"-,Z 8IZA#)_+V?(I1)4$":YTW^B91W;A(PP5L;173@6%ZT,C>8(?H M1^50TW:I[Y@((VI!90*3*<(P1L5<6N/L&R1UXSH-A[*62ND 8YM\_0W!W> D MD(2U(#VJXTJ.@#5#28FCBEF M(TN@0W%U6E"@&$/3?HBRI))1N-RZ_>?&\MWX4$^2I]Q+V!VX4G7,U'3]:=,4 M-Z_MY_7TQGFJK!1AZ@@ "UH2/XH9 SZ+#-ISE8-G6MO6I69;R!FW\N-)<-1* M&1W8G_L2>CF_*']Z4^HH$_\L!FPBZOK>(=P MPKU7!D*L,TG(%$.0!<$PE5@2B4MLW9[?EH-QRU&>!+TCJKP#P-^8UW?>4XPI M14!M8G&!CH+FI=YW:1A[IL1X>'C L!ZLG [ =9+SYN(^ MS-Z$:7XY?Q8^3\D#F!B1LQ2I0"DY$QNQOH^H&:"7C@G';;'-6Y<>)F7L8H=N MH-9"53T@+J733Z>S.H=H$Q35<;5+_(CSU?0+GIJ4C M?#968 >0O"_#6I1-:[KKI1G, MQABM^6:CE(^XGB:* VYQU&C.YNT5GF[HYA;.GG("9]+,:,5<'4=61[<("]'K M1*%#BB(P*S2V+H5XD@FF-!>/=_;!.$K&:\6Y:*T@?ZUE8E[ MY-,'-6^[<-3(M)U'DE<+7F&2"^3( H/B>7UBUQ6(J NDXB(Y9IK^K?6=]B.D M'!]I?B'!XVJB4DG>$DO>Z'KG9Q)X*2+X0CM,614CMH\GS]<>UPBUT/']\.\ MJ780Y#U;K,@67U _(?Y]1*SY/9M R5!JI4 $M*R8F)U!T;JD^A8!X^9CA\#% MX?+M !R_+!>KU9OEHDS7$TDG9D@AUAKO.B*-,PB"3LP0+;+(32 2&T/CQO+C MID&' ,:ALNT@MK^JE[R8KG?=\IM+=-X1H$TA]TUA810]\@(E.*7I?\:'UK47 MCQ(S;F9R",BTD7L'=N4MZ8((J".NGY-EG"TV8],NN+H:.'.2_GDZW8R0H&V2 M<+6JMG1"KKG(6"08E2RHF&MM6Y#@,*>0F @RM*ZI.(+<<1V=1H"YY^H\C?8Z M .H[W%P4_()S$N2,&#[)GZ;S:15B?4;[@N=)$DQG730(&S1QQ00XQA0PQY1R M/C+.6E]H[T;9N/[4,/ ;0"<=(.V>K"8I^!@D(L3-[ OKR1_P64)PAGFKKT2,ZW8-@Y_C)-V3^W5]ZSU)7@:;,0,*M1GVQ\&IDJ"44'C";%3S6/X! M,L8MFA[4Y3I0UAW Y>J6^V(&]CDG$VZ(U)I?I5#4U??RB OB )BGW61H"Y7F M\Z,?IF3<"NDA0-- XAV<2->(_YFD=E[6?4H[X3H!^Q.6Q1*O)KSAZL57$AYI M;#H/R[.7)-'5PP47$YZU\SEG*$Q["GB-AEB< "5%9"$59;:^FWMX-G40=L:M MDAX&P7WHO@OS><'BA;OP$_F=-6<3C>0<6]#=V>;<( M&+>Z90B8'"[?#NS*99W@&UR^^T@BO)*(<@:U)E2S7&,;7:?;"9((HLP$_N*\ M;UUC]Q@MNV6OV/>$F29B[\"VW.7CI[":IDE6E@Y1@K_#4!M$*$AQ/).+R33+ MGC'%9>O&_@<)&3?MV4;'WP#._@+O$#7/I[/3->:)EBJZY!7D4AN+@I&U6%Y! ML8%9Q9.QMK4S\P@IXV8LGP0YAPB] ^S\'>L#$YA/OE ,\ %_._T46ZL/DOA:P^;=@B<^>0" M2F59ZR=DVU"^FTW[KHI61E!I%\^ [LKWN8UWGAFN(H497-:I9#R EYK\3$R9 M:\V",:T/U;T('/>P'0-#!\)X?W7VC-8+@=[C"B<^LZT#U);)N; MBTPI650!*TVA,,X)"*4D"*Y$)G-(P;1V2O?/S3U%4T9S=&S/V>TC]PY"H%T: MSRG*FR[JLT?+.NCO.9[_>7UJH/,ZDKN>;,R@A)+@G6'@#!T:+-&A(EI'VL=3 M/?:8C*>#YQ-KN'-,_[Q8DJ,R/Y^WF\[>+\-\12Q6O<_SYJO9.0KR_SE=K2^> MOCT?OQ"3<"5D#M+5NF:E)?DN"D%SA%" =;Y1;@WF,#"9; MS\%P6Z],2H0HM0-C)9?><.*M>8](]X.6.@7PP8KKX(+] 7:NAT-9;E3M_&:L M<%#&$"LY<4",J01,T9C6Y;);R!E[QM?3N=>M=-+WY)$'TSWW9ZU<3M Z*+FU MYQH-LUK'<-<^G;5E3@YWVHE2'#"!M5K,.S*(J,"J7'R)"KUH/4!\)\*.G\MU MLX^6D91?$3PW$BP,D:+PD7= MOFCH(4(ZP6<2,V"2!2=9%T*F>*H(=9R;L9) M'$*(@KQUTN,>$2/7)QZOV,2M!(UA.J$D M%S%#4K4*M60.+GL.9+&+\SQB\JTCM\-*AX=LPAA.Y7?MUU'R/QA GS>WC+15 MENNA7I&(,G@CE:%-%RDVE46!UQ132+0QN<**2ZTG&QTX['_(4:-/!Z3C-- 7 MDEZN5J>8;Q9+G.^3RYY,W-Q=4E"Q4>6D:!N#MP4*MX+\3*L@2AZ!6U.\<]H7 M/L@+C/N1.?ITTZ?%XH Z[.',+K9;S751_)Z'[[^?;K^^/&\1(V^\0B/6G"M MCGAY Y^A#Z)[80QQ0B_LCU9\C=8X?:I[O M?<.G1"^+B%=O<9-#?+_8E>.$RDDF&&@3ZOE1-'CD%FI!7(PBZ62;)WD/)W?T M<7A/!M^GTFF7*'Z_>.3*9<-PO,OP6R31KZ9K?(?++].$YR?26TR+#_/-IYP_ M$,Q=2(7)",P*#BJ@@ZAYH&-(>6?KT\&V=60U-$^C#]<;8S^,CXX.G)2=BI(Q M2*^,EK6PJT:R+$ 0-8''C _1LQA$Z\[-9M7D0\[D>S+4-M=2%]4(M]M4413- MBLL0K3-U4*6'F(RL X"]PU1X*J(QR/H:W?=D:#I<[EW YH')#75PE"P2=!+D M;KMLP8MD(:604U$R^/8OYAZ6,Q]RC-^(2?-]%'!DJO/%/ ^5,D^<,V-,)K-9 MR[F\)@/*48'@CNPJUSXT=^P.3)D/.@%KS)SY/BIH"J0QYK"$U<>?9XO?!WDU M\OK#GV[6RL/\M&]'N5KHJO- :&M"]@)BB?7%FTU92DZ0DPF,A>K[-'\;9@L] M#1RC^IEOEHLO4Y+<3V=_6]4W?J[>23A)Z^F7\[[62PE$Q[D3]:GR).M++-*! MJZ.;C9&!%9N3*JVSV_M3V4EEPK$(>L"?&E)='42)YT_H;=Q%44PTC!5(F4M0 M1"I0<&'!<>M#*9SGW'KPV?7JXP)H:#TOF@B] [C<2++4]PE(9IM"H/>+FBV9 MI^D,;X4@[Q?[BE7X7!BB!U%EJW+TX%4\OUHW64C%1>N'@H?F:=Q2B2>&=E< MZ6##/$=:.4TWZJ:_S_!BPLO)I\5R/?VO\W2\43YIKCQ(K44MHZ,CBH0-%)\[ M87CBR%J#?A>ZQK7)?2%I,;!:.X#J8W?SO'8,U*'LO@[J=%[5UW45)&-USD9J MU,VK*PZ_VAO,CG8-QP:JZP" +^=?2+R+Y=G?E],U/E_\/I\X+2-:M*!S)*$4 MX2Y^";IW_NT_%N/5E70/O2)5U +KG%\O>>(NK#F +7Y_1-Z?K MU22AH/]S2/+('I24 IPA:1EKN8YKE(?$\:)=F4HDE0U4V^B!F]%A!AC,<$;5YK?LNU,W+A%95T#=A@%=X#< M^_<-5UQ>5&-G;MR*LJZQ.Y"* MNP3O24J+TTVM7<+IETU[94!E1"XJM$>R)T':H2GJ&V9LE?@[3?.E"7[P>>_D,]\EJA>0_<\N9E-Y!"G6, MJ70,G&(&BC$^EN*$=\,;O5TH[:TK[(F V5R)/2/VTN:_"6<;@V]-D"K;"+:4 M2"YR2N Q( B5$65).H76+=;?)*JWQJ\G/HX/44VO#N#RE.B8ACB=G?O0%YOJ M2J(W_FVB9(BFQ%HH+C0H)25),R3@DN5PN[4C7NL+AC;)A'/VZ[,F839;O2Z/\S^).BCF!0+B8ID#>]/GLS"_,U<5S;E#YO[EDM(Y$;;SGM7:_]JDC>&1*Y0CMH%'41L7?J]96+[[B,DV)VPG/R=0Y7D4]8.["\]A_\IN.R41I(2*K+@@OX(.0@$Q9SYBB,Z7U\\&' MTMIEEFDPA#Z%0OOQ*<_%B*_J#>R;Y90D^KF.:CN7P20*IP*R0"Y(S?/&S,$; M-$ D5VZ]#*SUT(>M!'69'AH*B>U4 M5V;K_]=LZY9\48@ E M:SN"%84.X^"A%#HKO2HR-*]X&?XP&.PFH4^([Z7$;A[%.HYES Z#H.@WN?H8 MB(BT29.CL$,X--PX^D;K/,7PN!WL,8!.<;N/$CN9<'S9"7YUF3?/5\''ICW\ M2JR5IZA10:%SI+Y4E\D-4_2?6&0Q+M.W6]\\[$SLL8!*.XF 9(&K& MP-:\H?=&9FS^FO?AY(Y\-S8,@.X^ _Y$VOQ.@'LSZWW-J(W%(K), :R6H&KQ MA6,.H=1AYKQP4<08L'V0V)&OR[H![?&:[ "R%QV/F^[M/%V?DC8I6CRME/QT MNOYML?Y/7->7C2991"S&A=FE>_3B_!O7@BLHR4E"#=I&XHD'"3XE07*4-MN2M%2M MQS;M0M>XS_T,YE\^#L T8U1CQM3JTIRB*)669=Z!4RG?+!D=&60W"?) MC-*MBY#OD#!R,_#0L#E&X,WPTOY9G]?+#V%^,;L[S/-S7*7E=%,GN"@_G:[( MT5P=\J#/3A_;ZBF?_7EH](C/S86OGQ$Z'XK^Y@9'K\N%%Q9FUR\,7:&2Y\A9 M%A:RRZXFD@,AB5OPFLR.B:(4WSK>:D+XT0F]VH:'K\N%028R)@E-UMQ(J-VD MH&R4Y"J$ E8%Q1$3^:;-,W?WJ!CW_'MZ3-W+Y1VGEXZ-W;O33Y_"\FQ1WDT_ MS*=EFFI#W?G()O('WI"H4RWKV=_<[?C!K0S>(7PT,GGWE[FN+LH& Q8%V8A2 MRWX*N*(MR&@T8RDGI5O7O#Q.S=&QX#;)OB=A_C2KPQET]L4%C.0F%HIM.#KP MG%&HPVR*0F!"T;IM=C?*1G[&I U*[D6#[972L;4ZS^)L[#IY-3^'Z7+S)/?B MVO"_G)-03\^#MOV-UGZ?W\IV'<%5(Q-VM>;SZ2K-%JN:O[J"IS)&IYJRT@(% MJ*P,>,D-".U4\)G"0-7:B&VCY^B6@P<^^WJCY"!S('(@8+W2D!0*N1(U2.DB M!43?41#.CE\9OJLF.#^)(^9OZA M#G2[&,U]B(=VYR/:.6';:&MD_NXN\ANN7WR]*/[]9;'(OT]GU]-M-?=UOFV! M[#,_G\<0M?,@I#5%:H.V^1"-?>@[/EU_>ZUKX%_CWIDL:%M%X!0"$>ZM B>] M!H_<*9( B:=U\FL'LL9^6&,@#-U/[[=54,>&Z5)N!QBDJU]M98@>IJ61 ;H" MR#P_KM[KQ 2Y\"[2T<:"WOCA=+X93)"%\T2+B5ZU[E'9B\!C3=#E8@\BNS@* M9@2#%%R=,>!L'XKT[DS,<:N[:G%8:Z=C6O*1M'->8#[Q& MO/7K[9R?QVAJ9'?J1-0'H,)32LAC A\((,I)A,B3!D=8P6!8K8]JO,D>IN3X MUT-O?NHU9J4+SA3#P'DO-_.)(10N@'G#+#-)&]?:BCQ"RK@6I('^[[_P>;S( M.S83SQ:?/DVODL(4H];$/LX/O(W;]FFMC,C.%#>R*3?6.[FSW@-0"[(HYNC@ MH(A9UE.)0.=B;?2QW-&_:8;->[3V(?#H2N%=%KMQ(62D*,E$3I<-467#. M2;"ZU+?I%9>B>?OQ7A2.:Z^&P]:]RN'A]-:Q==L,7ZLSK6BEVH2W/CNDQ.#^ MAS0K)_@&?:W6/<7=B1O9%7LZS-W+>0^BOH/-W!=-;.,Y0*YP9XW0NK[TDD(D6*#6=,;6 M(Y#)K(54Z'CKV1"W*6C@H-V56T7_S< %BY5<07U6KI9/A^I%*,C,M%HA8E'&UZ.U4#'%N0W7)^S^1G/1PT?8$?N?T8K:_(- MZEJY'F$YIRB\CNO:+'+=+66C(/\V0K99@XR6HT<\ MWOG<&\4F$K,K&*%@?4FT3O6-BDY&4S<(+RF9YI-O'R5F9 >D!0[NC5IL(OB. M+L MSA>[T2QNBO1TGH )AKS=4@0XQC4$H521Q3H24^MJQZT4'=WM?>O3-U]=+/'@ MM:^-2@2>@64LH+B5Q#ZS8*-CQ66O?&CMQ.U%X,B%C.VP+QTJ6NH[$\].5VM2^/(*013_&BY8@BCJ M6_>%._#:(*E9Q.1L]D&USC'O2-K1XZ"V+W,-[9CH7#8A@DRU/\LG 2'X7&^4 M@U,V9F%;YY)WI6UAI"2QT;H-T:60=OS!VI07>L1MU Z,22"@A# M<;L2.8,+T8"4*7G+O5:I=:'Q<(VZ/X75M#[:>WN!L_/_WDA8Y)!5R06RX%AO MF?N\F(130G*@O'U MC:"<.$7)F4'PI9 K*J7(S6?2;:%GW&D\ \&JF0(Z -/?5OBZO%BMIY_"&E<3 MH6,HND00FDYU98L'GX("HYSP3HO2/O"[3<&X@PL' LP10NX (N_P0RU'>(N? M%\O'C:@()!*9##")!A1Z3;%H%A MB4U&(;UI7ORQ"V'C/AXS$*#:JZ0#G/T: MEO_ =8@S?(?I=+EYQ.F:1)?=!US[M[2E5V<&+7KK)KSN[R_+?Y$L-L^E]$UF)%)\-J6CF^$OX=UF.* M7$6'%%OI.N6;-."M%, CBAQ88:GYX*R&Y(^;+AD,T&,IN -LWS@*G\W":C4M MT_IJ[>6URFF8_5KGG$[79\_#^BZOBA6GN")W2D=1'U0VY%UE Q2Z)>:EL:'Y MD/]CZ!TW=S,8>I],A1W ]?KHN1+G^Q6]K\]<^#778E>MPDM+R%&\>)7>/#,:%8%)#8FK3#R+!:72@ M+;?"*L:S:MUUMSMUX\9@/>&SJ1Z[0NB;Y2*?IO7?PW(9YNNSJZ<*[\::P2*K MPVQT1%6?K] 0M$V0?G0EW]^LC[@UV M^N"A1L#NPL<8@V&S+^BL8Y"BJ\,1HJXI55EO0C6!R!;#6C^+]Y2#86^$A-/Y M=(VOIE_PWMS!N]9?9&%MYB"T)^LO8X1@C *36<3D7!!NN%-\9S+'[HH="&-; M8OI!%-C!\;V%L9-/M0[F_!RZZ)>YPVN(*42.&8H,DF1+;K6CKT&KJ$J.QB?; M>I3%,?2.ZX0^&6J?3*4=G^27 CWXQ+[S :UG(@]X N\WXU9;GV/T%JK6ZYPW MBH?K?/[:3U<;39+'UH]EDY&L3?B7Z&R/H"@H?!4C',RB3.+C")%A4"JW1 MNN3FSST_3L[W-!EY']0\?J@>IY&.K<_]\6 'VZ%'/VJX 8$#VJ8C1[;9$+@R M-1>B1:3#B6#GG7*@M-6.CB=G1.L,]5T<4[IC2M488Q@J,%N9E!)$F7,*4(TM >Y MMS*)UB4=@S'S78\AW ?3CYO2,>'1L2'>8>3?P99Y]\]^P@&& ]KN.T/LA*;P M)->G"^K[!>0"( 3.!=@-0A@/F;5N:FH[QO!62OY;ODU9$D=S4$<1_\;+U-&5AU'5NW>S/$#K9ECWW28-/. MAK13C\VZRBH+KS !#S[4&Q$ZSE!(B(E+%UGA-K4NG!IJYMF-@__."K68*%$0 M]WPZ.Z5-<0?X/GCE/#%.X17%5YZ$X;$.^;,>>3;:"C7I'8Z+VT?#&WQ MU@936L?6ZEL3R8ZY7-OE@Y]JLMJ0=5[;9V31F98$>>B@9:$ 8E.Y:!6G8\T0 M6JU6T;:.Z8:=KW:]8S;KO*;3(]2^MAJL7"]7JX8OBNQN'/$\)YF\I$V3:-/4 MW+FWAD,IK&!@T14_7'R[+[5=3U[;!U6/F[Q!%=BQU;LN8IIEKWIS_1P+;GTU7X\&&)'ZZ2 M,9ME[T8I!K/FD@.Y%12E<)$A).&AL!2XD-Y)WCK W(FP[V-4VS[HN==:U5P_ M'=ST/RBM>L%SHT'A;EV7"CPH;0LDK04H$B6%S#Z#+W4(N$\,TP"#C_8E<]Q[ M_:< Y-"ZZ_@ W6W0WT@8N%^6GT]6T/BA[DM;3 M+YN2[4FQ*@8=' 2L(SJLI'T5F0?R6#GCB;/@]3.$1M+2!2>X*-D_A=]&EN7WUYK8NJ+T$5)&KHEJK?+[)>Y'R[\#&+U?AOF*5JXS(LXK MM\BE>?WP0#?ZR-7#__1\\8F.MHDVZ)$+ 2EQ1VY0V;Q;DL":DB4WTHO8NI*[ M)?TCCQUK :A%)]KM -GU,7A<5E;>!/+5?UO4^H_9*3E1FQ166'VL;\33'[4J MZ O9!.+T5ZS._<1+A47X"%(BKP,I SA$#1Z]E(&BPV):%_D>3NVXJ!T/8?=? MI7T*=?< ;%RN-UFX=17G<_Q<)ZM=L,*U0^DD0F*:3C0T&;S. I21A90,VX"H!]H-E)8!]C[V[OWR\WXJ+-KW^J"DZ +R]8G"-XR4+H^UVJ] L(+ M,RJA*KGU7>'CU(P[/J$;Y#525Q? VX2$5:(UG;>FW31[=QKS],MT15J]Y$HY M5VS*"C"(1,Y260LJ1$DFGA5 SY6MC\I(V_JAXZT$C?O.03=0;*>T$1&X MN=9:S!],)%]R4B0*SC447Y,<2I",C/)0GW[@B(4Q=B>8>?B><.LJXSYD,#JF M&JMA9$!=LT'R_ 9;BH?@ZON01(0"Q7*J;"%89BARTHIHV3\T MU(924 ='Z2XS\E]-Y_ARC9]6$T.QDS.UHDAN)MW4W!CS!GCQVA9I1####2+> M@!]ENA;57#,MY(X;M9S/,/:4G-_E*KEW^HL\?7T"SY19?*]]4:I/M[. M]5,\S:FC*[8( Q(Q@3)>0I3:DSGTZ)C0*37OY1OR:SE/M<: !'7^ MY\1RI3&+# EK'PS6E&*46$\OP\E=+R6U!G0[ZCM^J?,85(^DWI$OLBXG7;Y? MG*1_GDZ7^&Q!!^9R70<+O[FD9S-]=N*8%>17>9!"QUH.$\!CG3@BM$090_)W M9PD^>(^U^XH=/ZIY"- &%/N\OJ6[WHGUQQY^)_>)7-/#B!K%?VT@OZ[: MZ%)@3)>@(1;OJX^@P*7B0)082Q:6G(;6EY??3QM=MIB5$&!++8:5J4 P4H'5 M JU!M%&W[F+Z%VFCVP=U![71[:&Y#A)=CW7=9!VLL]F#8_611LTD!"<<9%1> MFK]Q_#G(M?Z2<_KB8<$V=5NB+7;E:C(WA.05I2CK@/DJF[LV(' M3J?OR\'WU+FR%]3VRK /JO<_'.IOU.IL2G!S9,65DD$&I\A5]QZB%1PRPR24 M,M9CZ_NV01GZGKI@^MD3QZ#BV$JM]YWLE$M9O%Z^6LP_D)M6F ].%P$18R W M39%FJB2,-5XX954VK0LSVW+P/;7-C+<7CM+[=W\^W.7^GB7P05-0S,%G4PO; M(D(@&J!8Y:PJD0?1U_GP#8:^IWZT"?K+8L)0^L<7A?E MPML;6J\5>VNLRW4O@T160HYD,.J(+2<=>%=GKY%),2A*3H-WU^U%\!^AQ'@? MI.[7OMQ2VQW$L[LR6TNOIO/7<_Q/#,M;G$^$0(Y*&Y ^:E"%/+]8$@?47EF6 MLRQVZ#DG^U,]\LMR3P>Q \'=2-_?$<)/"JU)#+__N%R$Y<8);-B_*;,C#R@WC=X[X]"CK< M\<1N=,\!@M MQ3C1"%#<;AY\\6 M=PHUQ5SQB:>R'39(<+!T>S] ;JK+#M(QNTKV*O"ZDJK- MPF*1$HPD3T\IIB!RF<#%F!-SN3#7.G=X,+'CFN'OQ\<^3LL=FMZ=_*TKKB=! M*!&SMI#KN -EE 2OM(?LK"A,L!QX[L&WOJ+X^_"KCX15"Y_Z,!U_1XA^S).Z M9IQAU"$7#ES7%Z\=T^"-RE"B3=99Z;UO?=O9C/COPX\>!^=M-=\]Y.\/M),E M*&UM@:QJ*Q!&7B2-C+Z?S#^<,ER\LO M-]'R>4^ Y E-2I'.(ZXI9*XSG>M\,;1%^!*LI_\,)9ACB>]X)N(^>+LWI&,4 MY7;@>UPQ_M/9!9O5R/R\Q'^>XCR=;09+.&M0Y_H0O:DU]JX@'5(^ IV6+AHG MA4ZMIQSL0%8G2'Q:P#P&VT;:ZPF0#S%TT52% 1!20%./!Y6QB*,,=MELHZV1N<"_G;2L=]H3,F[OM/G^73SHJ M5'1J6- R1Y)?2.!EX2!9]"GRE (.-N)^%P([L8P-$;*+<6RBKIZP^'+^^72] MVDB,7P[[\%AX\ '([)?*"H,8/8>B&?/*(7?-'W/;0DXG.&L/@L?@=J1&.@67 MN&!%.TM"L@:/-QJ(^3T\EA.PJX#M%(I^"2ET]C MQV*220&D3Q(4.:@0OIZ01:HP8)C735 >K>XFJ]G*8UYH=Y MVCHL56@9,^,>A)4,E*MU)PQK8:"07,@2%;9.TAU#[[CN7"O,+$928 =@/6*N MKV:*"Y0".%>UI9B.FY!(V);%D(Q2F1R.UB;T.QWC_'2(:C>V>1_U]@#D+5. M466K54K =5+$BB6?.-4^81YR$$5RDUMGH[L=VSP>%!LIJ .L_;J8X]EYN_#/ MI_-\*9VG!H*:XO)K 4R/E.K4LG'Z9D7']R-(0U4$L'X-HR M5%JAU-ZDVC""=9(^1?F>YSIXQ@3,225>6CN'1\X 'VR,T&@@:Z2>#H#VV(LH MG(12!%,4Y&-UG9V$P$4"(:QQFH(XRYO?W1[QQ-%@$.LC+FZAI0[ UG0N=>&L M),/JM!=+&TT;!.>L@I1$=(P9C;9U:=4?_R&DO0 UY$-(^VBW V0?$6)ACHX7 M$: 0@Z"BJ0^JY@ YVER,8M8-,+K^^XR@QT-8NXAZ'W7W .PM 1NY2RH&\JD5 M9@K8L$[>"L51P*:SUK(HE5N7,W0;4?<#S48*ZP![6[QL28=1E*(&<3B_H,*R/V7GRZ$4@9PE%@:!9 IYK M>YI2&'/K5,^_W$-(QP&RN1H[ .?V-W4"19G,2K+NMI"=M[3=G-<%M+(ADOON MDVR>Y?X7>0CI.(>QE=)&1.!GG$]^6\P?')%Y^:13O1+*@8,(M38$@X":7@7' M2LWN9\/O3GJYUW[Z[57&G8X[.J8:JZ$#D]8BR?;J:B Q\ZDDF(Z&B!ZVP[=;UW\*,_H2WWU$7/^R7)Q^ M)J9OS'_R23GK-4@N$%1VM5FM,.!%I> \":%]S>21-'=2$O[T M]8=S90\TJT^TEJ@%'95.%9(JV0_PPL4J5>X#1^6:MU+O3%QWR?P!,;-3R>:Q M"NP F;L.I9D(VMQ8IXV6VH:D(E?$DM.0N;=&HI"6MT[@[TK;R+T08^)R$/7U M ,N-W![:7Y%V40I"@C6!@6*6=IH-"")QS!%++,W?Y7Z4F)&+V4<%7A,%=3RV MZJ;HGBT^?5[,JWQK$#HGZ&XVV*&CIW;^Z%;CHP[CI:NG/Y"Q4I+2X&1]_T8[ M.E:#EN CXT8EEK)LW7W7Q=,?ETHZ>QM^_Y4^?$FKK'[#]>OREBA8?B'3;H(5 M//H LNO@2+[BZ.^+ MY3]>SM\L%PE7=UB*TJ.OKV3Y(FHR)"?ZFPN07+',HE:I^>L$.Y#U1QAVW02+ MC337$QA)9M/51\R_+!;Y+DO!%(Q*@F2\OOSM.01)$I1*))0I9.E:%V[L0-:X M/F-'8&RDN9[ 2%Q,DE0YI#K0*"2RZD45LNJH(*N4@H^E*#;8:4SKCWLIWA&\ M]M7%=Q>*G*2T/,6;*=S6$^2=0?(3K9!W%WK61;K75P!+]>?\3EN]-Y7IX]P(RQ5G(CB(5D M.2C&Z2S)/(!U7L>$W/#FY4);"?HC!"3'P*^=MCJ WN43NYN:^-/5>O$)EY=< MG5WRY$I$\F@98 AUFHQQX#CS8'BR*$(.]RJ&&A2L?9NN/T(P<@P0F^NN SQN M-M=]%^J2FR!C<-YE8"87\HFCJ8*+D*14R:-)RK:N*=].T1\A8CG:&+;15P?H M>YP1QM 9'1'(A >2D0P0I4;07GOE>=!6-W^Y]"C,#59\-C[FVFCINPN9WRP7 M^92L?5@NPWQ]UCI>?N3CAPV6=^&IJTC99.-B=AJ2C@R4(<@&:0MH5))K)UEH MGI;M(E+^=?%E\X$OY_39\QR6F59_<:&9.UI\.4^UR0B?X_F?;Q>SV<^+Y>_T M2Q/R0LC]" X,T_R\C-X'G2&%.O!2.V9DZ[+'1J3_$:+N?=![?VC+TR.@ Y?@ M#F>;LR?,)HYXX-D[L%(0%R7GZE8+*%P%I6*Q5K7&\<.4C O+44"Q:*ZA@W'V M&9?312;>E^L!T48;'+].5^OI_,-=(4X0+?-"&@CU"0H5,4.P NM FR0%VD2< M/PD0MQ Y;L:H7XRVTFNW9O)-.-L<0!.;6+ V"X@A>E"!D[LOI(:L>MU,T;NZH8T@>HK']\>?/\3?'#S6#_W[HTUH'';FP$D+)CN1$?(04,_D] M&%@0#!EO_:3L$:?U8.FB?F&WEX:./*U?S/.@T?M+^ICYAVF<770JW?WZF%=? M=_OD=@^W'L!)HW"]%M;\/IW-"*'WEKTJU[X*; J31F9K IK+5RD MS9EU!*>+8]R$HDSK5I?=J1LW6AD.4W>MW$#ZZL#1HW-A\0FO<@NOZB]4]=7) M=#)'IHVWH%@(Q(HCV3F27;$DJZA"$+)U&(P:6 F)2<%UB,W=K'T('#?G-AS,AM-2!Q#,_18^X<66 MQL0##RR3J\%KQP+7X+4PD$R(VKG,DVJ=8=N3Q-'G?PP#E=TA>;3>.H#E\_K( MX>)S31FGC_/%;/'A[.WTP\>KH6I66&F<\F R>1N*6X3ZBB)P3?Q M-TCJ%G;'PV$QG&XZ@-IE1>VFRZ".(OTX_7PU*S=(93/Y+BQG6U-###SC"M"Z MD(U,Q&AK:[>%G-$GR#P9Q%KII -XO5^&7 ?>+/%Z[#R3]<4V ]$PLON\D&2R M%4 N;"DZ2RF;SRJ^3\7H4V&>#$Q':J ##&V1UJNK27<&LQ?9U@> :\V7KV97 MV0("38PD/>%%ZZN17>@:%V?C!PB'*:@#T)VD?YY.:=DMO/T=Z[F/^>0+Q>@? M\&\K+*>S5]."$V((#=H(V40$%8E-E^J[U,YXRUQ &TKS,OK#Z>W6>3L0/?<* MZ9](E0?#EE:-B^&MY2_+Q6HUT2BR*9B92W(6)/ A)'D0FMQ6]0A+UTUG* M#4W=NG9M -A4)1W8QBW\G*1T^NETT[!\\FFQ7%_42,*A5 B5!G:$, ' MQ2%9XM)J985JW5VYG:*1WY4<$7?[JJ-9-]LQ]_?W6'CQM;ZX5J]K+BIO)LRA MM#P;<"413TA^=2Q9@TY>11="H9BK^37^M^D:>9[_T$!KKIH.SMJ;YOAUN"?)0&TJM7=2MDX-;G>.)YC .Z5!\4$X0J9@:RMB,%E]+SUU) GKZM"@N1#)MM;BZ64LN!\5"(YS5EH74^TE_,S.%P.5N(CH-A+HMTT@%Y2 MOYFK4GF:C5QC+@6T8-TG+QR$5TUD1$<>>O.%14+:]V6^S E?1B2I_-8CM!# MQ]'12XHQXAKS'%='=3G>_Y1V'8W?H+!1I%3?+WH .HJ9% //$$6=29&S!-)N M'8+EA0LVH@FM]]O#E!QK3VK.X'5Y1M";KG\.:3-Q\/RZG-:/*G$-7"E5'] ) M4%N"H7 MG*ZS5W/KTJA'B1G7L6V @;OFHXW8._!.;K.PJ7HM@AF6(P>?HP1E MD(%CP0*B+X8<+6*G=0!TGXIQ$=-(O7>+YHZ3=7=HN2C]8I+.S)09,&U+/3/K M<1ED?40Y&RWHZ^:C0!^B8US$'*O;K5 Y0- =@.4M?EG,ODSG'VXS<]F3YJTJ MF#FDX$DZPI#A=3F1'6:2_#G4PK1.2FXEJ"?X'*+OQ5#"[P!)#YGCZ\N2K)0W M%CUX61B0MT[G>+099/*9!99-:>[+;25HW!!JF*.KG08ZA=.OX>OTT^FGGQ;+ MY>+WNFW"9_J7]=G$V1BY"YE P&JBPM(F9&@@YJ"TY5;JYI'Y/O3UYR<="(L= M -=$1R/BCP+A!_DZ28D4-0WSGS&L*4*YS'B^FGZ:UBR'#3Y:!@&CJ#VZY$9$ M1(B>*R:83<',3IHF58II>-Y;)1SND'(R1U"'DA#!,-$,4(" M=XE3F& %1.0)1/&A:).]2*VO!?8BL,E#$C=6/'=&A*-8*-<=[#3MJZ01G'0, MK!,\IJ(I-AKD_8B[A(SL]@^&E >?ASA*"QTX;G>9V(39P=5(J" 130)12M1+ MH&@H2N(I.6V=]JT#R8?H&'DJ^?'J_09@]I9UAWBYB*M5MAAM,%"$+[4> <$+ M3& *1VLSDLQ:]Z8_3$E?F-E?P]^ S 'B'MD[O_ 33CXL<3,NYU>BY",MHB_R M)IKLK2NF@.6\IO0DAR#0 3(=@S#5&S4[^.+?6*8O6!RBQ<4P(NW I&R;]Z9X MEIR(!L\RK_DZBD E\X#>%2X*EU[W-G5QN-3<9"<\BGQ4&SS1K3O=,#B7FK?;\#B'CKH %#W1_YE'V)*3$(2*H*2 M,D P60!S7NF@?33-GT?ZO@8L[J/@;PY8W$?:'<#EW6E>8@NIP5.\04Q8HX4*(6#KM]T?)*0[X!RBY.W0.4#B'<#FKD&^O@GRDC,O MB@.WF6#+ X=H+-EH5D04(JID6L=:_$(+6'IA.PCM.@<;=X&M;AF?'5?M*^!RH MYOLYGR%DWAV:+E]M>H_+3Z_+59IKXH1-DBD%V0D*,(S/$"/&CAB4M,3N[RUPQ096$Y#YPR8DY7Z=%: Z) MU^P&*D1UF"G[QL)]^5,#'HM-)-^!FWY!_L73#Q-R-+V2J,$P).HIR@"*-A)$ MQ;5'D4S[&9.W*1AWF%!; #60<0<(>35=7V#_':[7L\T!?O)I<4K_K6W!=+@O M-F)[0QOBC.!?9+;U94N# 93S@@PJ+^!LO1D4RM/1WKSV=@\"QYTD- R^AM-0 M#_!;K%;755:7;YZ>K)^%Y?*,OOF_PNP4)\5[.KP- \;J6S7:U<>>E85,^ZDH M*P-3K#7L=B%L)[C9[PQNS372<17NN_4B_>/C8D:*6KWXY^ET?;;Y3B3_,I-D MJT7?+'-AW ^OPSUPH5:5N"WX;-7_?55&^;K<7'KS<$&E9K5>O?M(&V!#W*7C M=55RF15:H4P!F5PD!RS9&ELB1,=U, 9ESJWGO!Q'<;OW;5\0SA9GB.]P^66: M<+/D3W#*;7=RKOBYO,2T^S*?_141M1F9L*#W/0I*7HH0E/]9:3L>$-08< M]Q&R<&C1N)1":XLZ"",C][$_'98??T9W+%ATX#UL*T4A-TA$JQAHY705K@=7 M<@'K8T[!9Q5*ZWKV[^#%W=' LD?MV#Z:ZQ>$%S>%0@B3@N4@O<@7X>#_U][5 M/<=M(_GW^U]P!X @"+QS865=E)96M9&N?5/B4N1F1#F=&&]U?O\!\2C,< M#H<$!?CBEY0M.P7]8Y=@D$"!G7< MS80%,;F$.3!D->[:"2!QH8%URXTQ!;DR?^G>L8L /ML[=HFVDWB^X[/#PC=Q M7U5Z\]*%\ZI5,A7!0SQW9R^U8$S:8%$F!....,P]+3?\&] 3W9>-IWA M38=2 B:XJG?NVO=R#;%3!0:"^Y$I_MXEMX4!1&>9@82I#(;>%%\QD,H[SJF$ M],/12<"T3FBM:43UL%JC\W?/^W^SR>17$N_%KO3M3%0OGF#D5A!;H!Q8[FOQ M+H@%+KW'0$$&"ZJ(IC+TO9$IY(@;^8TPJT/?&!OCR'T&UW7E%KRMFT=1;?S$ M=B.@OM?9;2^ $N9B$2B=% 6UP&J(L*$9EX?W#%H;"DY_(7+](SKR=7 8$G": MI\30B' I_%4>S=PBE1D"3&<4((,L*HC.319Z0M,8LYMNCT[%[$("EH#=A8EX M]L>EQ&5;F%,_#;+P;QMG#' C!1"88\$51QD//9@WL BI/!F<2BP:TT(26"!G M'4^GW_EL_EB6\W*QU=Y:(^C>/T>E:>ZQ\..9'3A 0L0 LB3SMUHR('6B+IF[@$X,BM5O\.C*1<6*)##^J:3)BX$5!*JR ->_G_O'#6 MD'VLF\V/_+]#]U J2*4R0$"= Z*% !+E& C#$64%Y$*%OOCZMA+&O?WQEUAB MXRWK>UEW9Y%Z+[Z53F/^I^MN]WM,< X+R@$RT$_&QQ+(PBK 3$:1-L;(+/0S M*!.)$O<:S'>WDB:VE83[TZ^46CXN5\VDVVY_1_VK4TSY9-:GR,-[TB\@'JH/ M?:@\@7K/UZWO^_&]MN#^64-@I$]4"\V!$%@ 5>38Q3*<6Q2Z-^\U!Z-3U_/J M]-O+BU979CNJ%FE,BPP*D.>V $3Z2T%,N#R;%1HQ:JC"P9M^NAB* M?' ]F1T<5O&"@9* A1W(L#GT4M9@F!L.+.4N\RR<)!Q9"@P5BF9*02/())[Z M@)'(Q]CA@#X,PT9K/0'3>;'@KLWBUZHQZY#PTRH/\WK[V4GEU]SFV+/01% F M_=4;9 #A6@)6%,[+0XVHUR*H\SB].88'J.T;/"N$=5\ML9* M_VNYEFXK%:(84D%]VZ^/+S '7 HG'Z,9PA9F+J&:SO(Z.(M\F#"EO87"(RTK M.Q5:; 4SA890.'$XU( HB !7T@*,,,;:<)4'OSG2F[G()?LI;2T@*DG<,.D9 MR^YK0@7DA40% 8(JMZHT0^?VR\3"MBX@N%+FQ=^+/7?XO<^1%58!IQ0')I0'2 M9A1P44"4<2.I#&V^4\CQ723 RWOZ,959#-(8"D<3_FXYR9'@B@)4):[I!"+ M'#">6T %E(9AGG$:?,[#$1=QS3"^91S5:T;!--C0OJU$^;(0S2+H#.BV1?W. MV+HQAZJ?OU2AX)IBSK1_Z-JZ( @Y[>5" 4LR*PW.68%#=XF/XSANP)"<&;\A M_ GXUAM5GA!J_6,OVF+1E'*Y\"';77V[0O4>"BB4?P=':^DT+(L,,)(+0'.- M<%8(05GH3'\@JVG,O'X+:SHTY#> -@4+[M#P1R=F^5"MG85Z7I5*G%H]]E5[ MX62GFGN#9 $U5T H[=]"H!F0@@L@"VR,441B,=5SGX%%26-B=XP5D(!I)+Y" M3B-P;S((&=0*Y)G, $$%!DSQ CB%(Y?.2(.RT,GB,$[3&!*>F'T' O9R\^5K M\ZW,PZHZ_0:1RB[\:]O--+,2DD*#G$B[OK7!"L2!H1H;(1 K2' K'L1I&D/( MDXI3@@$[PHJGSRFW4MY;DZF,9 QHC)U$3 F7L, ,")&Y3#E'!2M"]YGTX2NN M>_VN\L-!4$8WSI;"C>%^$ 6"+KBQ&!!*+!"4(B @8TY3QD(>>LKDP/K:9!XQ M.<,;"=/(^MJ'2D_:$KS6GM.5F;_XX_ NX&YZH1I_+^ Z4*_O[C/[(;T[ZW); M,,^52]4U4\XF.+? Q7D6%+3()",DU\%O$G2P$V8 J2.]N>#XSE3&EDY*DE.B MG;TCMV*$MJ'CH[3>P)9[P=KC5KL M_+*3Y[/SV^LG )9E]7#C_-HZS+SG"BI38.W"5=\<4U@$.$,$6.Z<,LJ%1L%/ MD_ISE\(LR?!&-A$Z"=]Y<;' 6E8GV?8^D LM*OU3.5NZ@.*#:"HG^'S[Z^%; MW] OA=H4@T@:ZFK,YENWFV_MC-?9$N=^D(-R9N321Y(#66C?J\0RCK-,Y1*' M7O,G>!GKZ7;Z]BG(U9/3Y3I1=M'I8UV]#!M70.Q54&1*V%P#E$$)B'&NG1/A ME,$+(PTR"K/0370#68W<+AS"A@X=X%N EL N_$K,>T)Y7D J@<4H<^F/RH!4 MT !!%+-(,R14Z'>V7C$0UX[>!/(N,[M(_PD8SS],^?#5WS1_^B[3 M&[N>\7:S7,P7;E-Q*W.SK^Q#E%7?U8M;;ZPH$(: DB(')-,"L#S3@&8YM]HE MRIJ%GH,6AO/(7>M3N+T(D$8>3]I7XO6:WP5)+TI&F=.KSD &N8NR,7'A+^0< M6).S+*.YXH.CIY5@KP\* MCV?\O1A1>X^4DH0P[*=H<.\,"L"9[TVU%BMIB44B= (XGNLX$4%L8WYCM--U MP1NE'BG]/K="$4-=3,\*Z\2#V,7TV #-*,189-C8T.V8%[(8YQ0YMN5.B>-P M,_4CN\+4V ]2!#_%J%+EK%P#NTL8+(%Y[L3 _NX+T<@G#,8_AF8PYP3EE@4? M(=>+L\A7-:=(L": ) %_>"C5.FRQQJB,NS5"N'?J"&HGA/0!C,*",ISG66BO MU\I(6N7)$(B?,:K+U9^@#6V<\'T!$42%=S\P9V- 2"[^F([ZI:E-K+6#Z9+T8MFW)1CFEJN? #DQWH72#7U.=X MBE-46#^M%Q)GCIP5@*$B QR[;=.J3-@L^+"[B<[QVK7ZX4\U6SH%^OXSWV^V M7&Q&1AZQL1X1R7V'F2@DT!85+HXT! B+W-)B4D)I-#$P^/2?$(RGM8D.LJ^C M&05O#FC"SO%3Y;YA5IE.[7LGRY5',>L>H\HLQK3Z]:,E@K:RM4#CDB+/.SMYUNB.4:L,SW)E*? M6.=FU$ JN, MEDICEG/:QYK,V1%KMSVW:MMO)^='#,0QUC"8'IL(",5'+F=]NZK4Y T MRKG8Y\W886$U+FC.@93TK_T]LYC-=*:>0[2A]A#-!#6' *(H=\\P"1JD&VOJ'NH0H$-<]X._X M1)QJS31V$$J3D3>+W9LA/YOZH1'?OI9*S%;>46"W3Q*) 91$^.E&"$C%"<@Q M5TKB3%+8Z[;'F]JT.Z\6*)L"B/UED" M]?@3F^4ON\G],D>":>JB*N.KS51!()2Q0/,LE];%R1J'OJ]\CJ>X1SW!PXM) MH$C M,[4!M<]0&7U<#6?N_C;:#\T3M(LI]PR@(EO-3D@(@8YG;I 6G(O3V\T:' M3*VT/0K79G&O*(>HD-:M(:X 4<0M88,(X%);E2%A9?!Q7%W\?!^'3)?8RJ'? M"X9& AMOFRS;9?U\[])7;;FAP/%. <&YTY(0$IA<0Z5SD6$<^K)Z)T.QWUZ) M8UO#\(B_>[Y*ZXW2:_)7_Q:-OBL?5_,GMH,GSN^-K;4"3W1M4TKO3:G]"Q=N MBX.9#[3I[>]G^Z9W4\TW9KZ_I/WN^?@.MV=OS:/[S%6E;V>BNA:/9E,Y"[M4 M)V%QI#^[-8VMFT=1*;.^+KPI(X25_-17HK:"36DQAV[JC)H'^Y[9V+K4=5WU M,H'6XE/'_]P'V?Q[1K:?\N( Z]SO_5J2QY7;W5=WAFX1IRD&8/'OU;?2$[US M6\$[]\O?@[!Y3#5*H'T6BZU!]=)(Q CX%7]F\;76@?$ZH!DE=!V&5KLV$L'J MUGUVT3Q6^N-,/ 1!ZC7%* 7C03BU:B(1E/R*?U_-=1,.I@.246*MP=[O6!>) M /6W^M][_L)ZP!.DHX12@X#KUDUD '=[:OEH],=Z];C*;V(V>KEUT>T#'8T* M70^MI+#PYN]G]=SNSN,CUJ72E* [,.?C;IM2A5@?>U)]0(G@:.U(^%3 M0.1GMP,L?A(+\U&4S6]BM@P 30O-7A@E<*!V6AV1P7J]LI___OMB94KOOU8/ MMVJ8'ME7YT'U([J?3/-\ M8X^^=60,@^R^UP=&+-D-U>UGQE>96PE&*Y!=@L_+Q=JEELA.]K,??+N^-.SW M@-'5YC9ZT?#JU'O=2PE_Z7. 2:*3OJ#\. 'X<0)P$3;7=75MZA"@O*84[\2L M2]?U&<$3VE>,(_E85BN=>?\:;(,Y(AS-J0V-#/JH*;;+>WA8;(0:76UZ32I: M)^-0M-I5$1F?+4.5F#W/RWF8)IV31*-U-8Z,O4^J)S)Z7Q:_WS;JIKF;-Q_F MB_)1K(^6PK5[]_I M);'H:A>HK;("+]X#S*@*SU--5H/Y% LSRHHG0WPNE[\ MT^QV:A.J'[G/!Z*U1 ;8+,^J+3+"'QW1NC);24,? MEN:NWKP!X.2L;-VH56@]UME>\IUHA]V!$.ZCQ 1A_ZVL9YL90G^K'\W[]="Z M7\2_I\"^\V/Q#LY#6D ??29H!D[B/Y9B5MI2;;B_$W^^,Y6QY6)TL\2@#\8[ MJ@]I#GWUFI9).#EA)F-AMV!?C]08$,HK+-)M.!A8R MQ.L@&Z^!($ 2EF:LU\)@X#SZD&PO$).J=9W744*G K69N[SPL_EC638[OQ+& M*5_PF5X@)U7ZNER'J78!W3Y-U0'TFG*0[I\.9@-T_MR*Y]_F+V;;A&[\Z4-_ MQ+IVRAG?Z[,C$NW ]0(47J[(0^EC'PC]:=3JC?+WSDT\U,WSZ-:1=HKQ8#K4 M=]U3^-B%Y-GLD+VRQP"X7DTDIPG'Z[[JA**^3"^1H;LU=0"<]E1B]I2R$H)Y3PHU?Q+7>:'_V)/_H3+\-&_^NN7N7C8Y?' M:TK1VJBZ5D>KL+$!F,UV;(59&H?DXFWKK>JN^\@>>TR8$3[!&KTF7M*)UJ36 MM2):!(T=U&ZX#5-T.Z86;]L>E\>G=G[QOOYB9D8MC-[8T.BCBW:*\3:287AU MZB5VGN)8T;N@_L;:4CFZ'ZLP:^T\]7@N;T6I P'51C):8^UPO#HT$SM1]IFBX]!S%'H+YQI-$X[6Z#HTRSZ@G(?16G+WP$"%!;*,= MKT\U )8=RDK!E>Y8#>Y03U*.UV$ZQJ^>4U3LSHH_EN7BV<_(6JO2I3>/JUF@ M/Y76,6."VKP; ^K;;D$#XJ,D^%=,>'>B&> M5.UH@!HC(]_B?KSDF^)7&-#[?J,7WBE5GRY47G*+_&;QU303K^_V;_2".J7" MU87*B[VJA5S.1/-+.5\$/.H^3;47G"F5L\XJ*#: QYYE;"7D!,E>W0HI%;.Z M51.]\K]U_N$!/$>[%Y(IE;)Z*BN!-T9V@?LO]3ST"TNO:?<",94"5J=ZHD<[ M!Y'WV.772K 77"D5H+K4$ONJLP^HO$2! &NCUPNOE I&'4I)H<0?9#SF2T*] M $JIRM.FANA!2#VZ57)+HQ<>*=5@#H1/H\U[-!R7]JOBE,HD";:IUM7/+G#9 M,/:3F:NF7!W#!.I3/4^^%X@I%4#ZJRSZOJ1+SY>8$8B?]M*%.GX^1[T7LBG5 M0GHK+-6!&I^J>>G4>M>(U3#5%T\=ON9\Y'2-CL\$&;715XP ./G5D( /O MKYXD.Z86MB/WS@]G&C]QHY5@Q,N=Y[!X5?WJ4$;LFN6.M=&WV@Y(1<.F4]NM MJ"1TS^UJ-FOQ)6%N@)XFG !6'9=!SRKDQS"!6&OHQV"!'X,%+LNM%\WLSC2/ M\QM[UVAG7V$B_ ZRT=;093'"><5$CQ0\5R&&D;ZF%.TF[Z4Q7(OXJ4!R5RY& MA]>O2$6[DCL0E%<*B#TX=#DS",H<^:A&U]\61G^VZ[64XG5%) M_,+B%)AUD(UVO_8RV,XK)@D'N.(KQ'M]+>2BW:T=X@C;%)&0,[QK'JM%6%_X M@F2T6[7#7>&Q0M+RA($ .TTUVH7:47XP.=BV"4.XETO;*<:[0SO$&Y[01Q)8 M_;1L5HP% &E'*MZMV"'H'&H@"5B^&+5LRD5IYE] M1]_\PO]'BKGYW__Z#U!+ P04 " "9A:=8=^:WJ0H( !7)@ & '!E M;BTS,S$R-'AE>&AI8FET,S$Q+FAT;>U:;5,;.1+^?K]"1VJS4&4;OP'!)E1Y MP;EU50Y8X]SN?;J21QJL8F8T*VEL?+_^GI;&QF"XF.SFXE"7#\0S:K6ZU8^> M;FET,G%I?BN*>*QJ!^VZR(Z/HSY8;UQW&K%!ZVVX/]J[* KQ$,?Z^:)?+^3JJPZD31^ MI]VL'1WDKCM3PDTZC7K]AQTO>GH2Z\QA/(/^X6=0LZ;,R3M7Y8FZR3K>I9W0 M==$EEFK,4Y7,.S^.5"HMNY S-M0ISWZL6)[9JI5&Q4'0JG]+ MV 3S_..L-!EZ$I7)A0N-9OV'KK="R$@;[I3..D4FI"&IG=/^W42-E6.M1JWQ MT)?5*>'F!K/B=-XYQ'@K3D6(@C1?W:NC%WIUUA^.!A\&9[W1X/*"77Y@5\/! MQ=G@JO>1]7_KGWT:#?[1QVM(](?/>KW];EY]&EY_ZEV,V.B2#3]][+-&BU<; M[5V^QWH7YZQQ(,HGS,#HYSZ[ANO#P6C0O\8TG/WJ$O)_ 5KVY5-$;_M2[Z%]7+W_[V/\G]::69KW>W 0]Q_FW60$[IP,X M*7C*^HF5%CHJ+)+&J7C.W(2[MV\.WG79AAYT*N:R-AU6LL5H1"8S'6J MC7??S,M&;>'#-V"9!]/2J-<.:!H&;,*GDADY57(&QG<39=DO!3=83\F<#66N MC6,Z8Q^T2=^^:1S6NXUZ]1>F8W8ELR(=&UYA@RRJ(43'W>\_0LVMB]!/W"(N MB$ Z9[>9GB52W,A*")0)X1$:)F0:>1LC<)4QGLU9D3E32'B 3.Z3.D+&68HG MHWC"8A[AE6$Z179Q.LBM"60RPG+D9DXB*;^5&'=%I\4[ 6,P9.(K HQ! I$R MJ @EJ$[\XS(9A,539@MZ,]]_YDTLE1"#J3*)B@5J.J8*3>!@S:7D3>0].8P M30NX.44WP<;SU6EX)0AL?3\(E"Q6&6),<+F/:07P@SB:S4J[RF(PB$^1^!TE MA8!.X&8E@!5@3A'KY @[(9:0G"3WD"S18!\-#=0+18HK)%$D$ .-<#BA[/> MGHC;"8L3/;,+D!IYHZPS' -Q>AGLAI65%:S9A3%KUKX2N+6W#FZC![%Y^^9= MLW'4M26@RJJ "$+'L<*CC]J <2,]/A!O-4XDQ9%)@'*<*#LA<1)+08Y$D/0L ME(T2;0OT(]HT.@E R8V.I,!KRW:!"R$!M!#\_ETTX=F-9#TPTK!(I"T3(E5U M![MRS_?W51T]A4=%E6D64$J#,.*N%? &,)%!+QLMW@N/*T/&&)+SJ7%+@1A\]GM\\"J4.*->&$W[T(9<"R! MCW*DD%-U8: 3#55UO,?I&3F]5#9?,^@^52LG,U*C HK#% MZD0)?Q9@B[%50G&CR $54K_/!QEI*BRE8[](K<_=GBVUE3#(@9VI4XZR4D5% MPHGDX98WXCZMHTB*X4J#Z/W)4.Y87) 6GK*Y,(6W[A#?"EZHW,4' D0#9:9$Y+AD10A@?T M8FFIW+/XZ\!OM$7X#33\/AT&>CA MBH[@31N*S;$NW/,6;)(=^%):4B4=?W[OP\:+&MVO0!EF O9XM-$ KP!Q8HL0 M5S)F".8Z*&@#7I9OON5)Y+V )RF9ZR@J#(5^)7,^H375UN$]'8E"EXV@Z/=P MGL-VG^D2 \-@L$?2I>'8.$E_=D#'"EFQM&LO6#7A=EEF$/=YS$OADX*?CY*P MYRQ1MS(I#Q(>R5?^\!3],9QOU8[LX)7LR/S!HEBLD,H]11%CKJ+TGJT(9R^H M.]8*V*5I'$6LT\8N4[U_ 95IJIR3\K_D@[%&,4'M0L$^KV076 ;]6J)W_$^E M]&(!RM\+!?/]8BNRR)\W[/U_I_6U4GPO07&&8E$!:+2WI?URI"204:;IY8YG M)ODMY=U0K/G,Z\M,?^:Y.!IZ$=[*S4DX:'B"U;A 1RN7I/8L-LOB%%T,?3;" MTO#)WR+SVR(%/#!)WIDRF3QYB/::$OOV;85ZR-^Q 6E4$'7I>0ZX\2?4)< J M(?VI;*J3J:0(;OC8^'<^#\X<5<(]AZ\]Q<=?,,'.[X1+"\:@ M$FFJ,"3AN96=Q8\N\'E'95Z?[]0MIWNLG=-IAZ([I42. K#\IN[9(327 M%RS:]5KKP-^Q<(BC$XN!R^L7-=^T[\1ZV_&[VG']^>9ZK;%LV_>Z@WYX8'.> MO=]I[2PZE*NUT\SO6./A70=:P&M.Z/Q_CZ1Z"%0;2]C_??AE>XFC#;PM0TIK M LXR?QC'%K9_-U/QQ>Y_-QZ>3;A"7LXJ[&RB9,SZ=S(J:.?/+E=*XBML[I7P M]Z(>S\&^7Y0O9,Q'MZ!R;?U7L$XXX)W*M7M1][#RB[Y^WX6/@:W"K7?YS%6J M\F^XV+7O+Y3]!U!+ P04 " "9A:=8?03OF@H( "')@ & '!E;BTS M,S$R-'AE>&AI8FET,S$R+FAT;>U:;5/KMA+^?G^%;L[T%&:2X+P1"!QF4@AM M9DZ!AIQI^ZDCV^M8@VVYDIR0_OJ[*SDO$.@)M.>>E"D?@F6MI%WMHV=7LDYC MDR9GIS'P\.P_I_^MU=B%#(H4,L,"!=Q R HML@G[.01]QVJU4NIFW-4;81(X6_1S>N#*IP=VD%-?AO.STU!,F0@_5$0W:'NMH\-N MZ#6CMG?4\CM^YZASV/6[W7:G$W5^:U2P*8J[-MK,$_A02456BX'&[[6;]6XG M-R>_3NAFEK$4Y',>]^.10J:7<&,C63*LV^KFF>ZID&)R EJ\0>@3JB>+9#6]:GA*L) MSHJ1>>\0QULS*D O@/KB5G5?:-7Y8#0>7@[/^^/A]16[OF0WH^'5^?"F_Y%= M#J_Z^(A/UYW;/#+^0_]J^\'K'\^KK+^+>M?7-^,!Q=LO4^4 MMQ/8\IK++OJC[_I7@]O:]2\?![]2:ZII>MY6Z#G.O\X*J)P-J^Q'/ID(8+\6 MD%59 ,J(:,Y,S,W[=YVCDRW5/\EY&")IU1*(3*^U7 X"O9*97JUQ]-5,;-07 M-GP%BGDP+0VOWJ%I&+*83X$IF J8(=V;6&CV4\$5+J9DSD:02V68S-BE5.G[ M=XU#[Z3AU7YB,F(WD!6IKWB5#;.@CAXZ?@,>:NZM3XWO0E0&ATQL.H!CD$ @%(9_%,NP.;-T MR&:Q"&*F"_I9M9^!@K(3,B 5.L$\@5*.F3 Q&JAS"*R"U&^.JLD0S9QBLY#Y M\_5I>",(;/US$ @L$AGZF."R\FD5X8?B6*W6ZD46(8/8^(C/05*$V"?B9LV! M5<2<(-;)T>V$6$)RDJP@6:)!/QH:41\*ZKA*$D6" HA#B6"QPVFK3\!US*)$ MSO0"I HF0AO%<2!.+YW>J&5U#6MZHOSMJ-KHGN@14 MF1000<@H$EBT7ALRKL#B _TM_ 3(CPP0E'XB=$SB))8B.1)!4CD4.DBD+K = MT::2B0-*KF0 (;[6; ]Q$0("S3E_!V82*&7C1;MN^+:D!$.268_!C=*4)!_?0[5;>X0 M8#%9WA7$'M:/&S0/%Z!Q"X)NL]'M\\"J4N ->*&W;T(1T ?$1SF2BZFR4-@! M,M54:,M_* 69[8>RYA5SKK.O@H1;P)5!=065:LG,5"F015$7+1,1VH, 7?A: MA((K008(%_IM/,BHIT)3.+:+5-O8;=E2:D"%#+(S-33+*K$* MZ]C")0GKN0T^^4""R,/8'L+7\^YNP=C?(1BWVILPWIJX-M"\/>5M#6I<"%,1 M$E:YEADG@N<:<4X))@&8JW !)H2WX+Y(A)E3I']J6%I:%G<64FY5/!!=2U!M M'+DO#0VVB0Y\*0V424>?W_LP?Y&CVQ4(;B90'XLV&N -("[<(<25C.F1)Y+^!)"N8R" I%KE^+G$_TFDIM\#V=AV)?.L".?G?G.6SOF281 M8A@9[)%TJ3ANG,">'="Q0E8L]=IW6L5<+],,XCZ+>0AM4+#S41+VG"7B#I+R M(.&1?/4O3]%?P_E.[<@Z;V1'9@\6P\4*J:XHBAAS':4KMB*PAEI%^-=$[_J=4>K$ X?=" MH/IVL1598,\;]O_=:7VI$-]/,#G#9%$@T&AO2_OE0 BHPS3RQW/#/@=Q5V7 MK-G(:]-,>^:Y.!IZ$=[*S8D[:'B"U7B(#34L2>U9;);)*391],T(EX8-_AHC MORY2A =.DC6F#"9/'J*]I<"^>UNA/L;O2"%I5-'K8'D.<6-/J$N 55WX$]E4 M)E.@&)CQ27G0KDIJA#1/Y!RP=A9+QX?\ 7P1;G]+@E#? ,'?/)5M"@1;N-*= M23VCS1-?XW?M&^0%>M>R-_N1SYTQW:J[Y/"EI_CX%1-L[$ZXU,!'*@%50T42 MGFOH+1Y., ;G"9_W1&;[LXU.RNGVI3$R[9%WIQ3(,0$L/ZA;=G#5Y>V*UG'= M:W7H@H5!/YIP,7!Y]Z)N[UX,,(F?__D>0Y1[5Q"=O?]<_:2Q1M86OI4%H1:"JS M1W%LH?D_9B)>:?RK['M\-601W+X*H7BK];K^>QX+B-CEDL2O7=+\Z);2,>U0J+EB>\51/N(R +L]GD,U>ORE]W M$>S 7D#['U!+ P04 " "9A:=8U_>JG.,$ #4%0 & '!E;BTS,S$R M-'AE>&AI8FET,S(Q+FAT;>U8;6_;-A#^OE]Q<] V!2Q'\FLLN09#A8,4*' M/PU^=APX$&&>L%1#*!G1C$*N>+J$3Y2I+^ XY:JQR-:2+U<:FFZS#9^$_,(O M2$'77,=L6,D9[!7O@SV[R6 AZ'HXH/P".'U7XWVW%9*^UZ,1\]H]VB4MM]GK M+[SN_B+JX:??O!JRXO*"1^EUS-[5$IXZ*V;V]]O-1J^3Z>"24[WR/==]5;-+ MAX-(I!KWD\A?_"W$W!&FV95V2,R7J6]5JA6L%3D4L9#^CFM_@:$X$4EXO/;? MS'G"%)RP2S@3"4G?U!5)E:.8Y%&Q4/'?&6)">/;ULH2,LDH%K^F^"BP* MRD(AB>8B]?.4,FE6U8:3JQ5?< VM9L.[JE5(A>8/*[ M:]6[1ZO:\'1R.EH1]/SN9'AT?CT?QH>@*GYV>S\]')'.93 M>%"3'P6ZMP_GC5ECW(#99&SA>ZV.6__Q@8]F,#J8GLXG!R_+X)69^VX7IH