XML 56 R8.htm IDEA: XBRL DOCUMENT
v3.25.0.1

CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS - USD ($) $ in Thousands | 12 Months Ended
--- | ---
Dec. 31, 2024 | Dec. 31, 2023 | Dec. 31, 2022
Cash flows from operating activities: |  |  |
Net income | $ 50,140 | $ 39,970 | $ 46,908
Adjustments to reconcile net income to net cash provided by operating activities: |  |  |
Depreciation and amortization | 11,293 | 9,346 | 7,381
Stock-based compensation | 17,048 | 14,081 | 13,331
Provision for (recovery from) credit losses and sales returns | 59 | (699) | (36)
Other non-cash items | (424) | 117 | 793
Changes in operating assets and liabilities: |  |  |
Accounts receivable | (2,555) | (679) | (10,065)
Inventory | (760) | (6,302) | 2,035
Prepaid expenses and other assets | (67) | (1,862) | 1,627
Accounts payable | 2,224 | (2,999) | 103
Accrued and other liabilities | 6,609 | (20,801) | (1,338)
Deferred revenue | 6,925 | 14,342 | 5,361
Net cash provided by operating activities | 90,492 | 44,514 | 66,100
Cash flows from investing activities: |  |  |
Proceeds from sales of marketable securities | 25,531 | 45,420 | 6,252
Proceeds from maturities of marketable securities | 81,146 | 64,504 | 71,045
Purchases of marketable securities | (142,759) | (85,420) | (55,411)
Capital expenditures | (12,268) | (10,896) | (10,799)
Net cash provided by (used in) investing activities | (48,350) | 13,608 | 11,087
Cash flows from financing activities: |  |  |
Proceeds from issuance of common stock under employee equity incentive plans | 3,624 | 4,943 | 7,038
Repurchases of common stock | (30,084) | (15,975) | (79,257)
Payments for dividends | (17,797) | (17,817) | (15,922)
Net cash used in financing activities | (44,257) | (28,849) | (88,141)
Net increase (decrease) in cash and cash equivalents | (2,115) | 29,273 | (10,954)
Cash and cash equivalents - beginning of year | 97,244 | 67,971 | 78,925
Cash and cash equivalents - end of year | 95,129 | 97,244 | 67,971
Supplemental Disclosures: |  |  |
Cash paid for income taxes, net of refunds | 6,283 | 2,409 | 1,747
Cash paid for interest | 0 | 0 | 0
Non-cash investing and financing activities: |  |  |
Transfers between inventory and property and equipment | 2,277 | 2,473 | 733
Capital expenditures included in accounts payable | $ 672 | $ 3,298 | $ 230

X
- References No definition available. + Details
Name: | us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Future cash outflow to pay for purchases of fixed assets that have occurred. + References Reference 1: 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 Reference 2: 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 Reference 3: 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 + Details
Name: | us-gaap_CapitalExpendituresIncurredButNotYetPaid
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition 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. + References Reference 1: 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 Reference 2: 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 Reference 3: 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 + Details
Name: | us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition 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. + References Reference 1: 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 Reference 2: 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/2147477401/830-230-45-1 + Details
Name: | us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition 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. + References Reference 1: 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 Reference 2: http://www.xbrl.org/2003/role/exampleRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 55 -Paragraph 48 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48 Reference 3: http://www.xbrl.org/2003/role/exampleRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 55 -Paragraph 49 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Topic 270 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Subparagraph (i) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1 Reference 5: http://www.xbrl.org/2003/role/disclosureRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 32 -Subparagraph (ee) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32 Reference 6: 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 + Details
Name: | us-gaap_DepreciationDepletionAndAmortization
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Amount, after refund, of cash paid to foreign, federal, state, and local jurisdictions as income tax. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 230 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2A -Publisher FASB -URI https://asc.fasb.org/1943274/2147482913/230-10-50-2A Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 740 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 23 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482685/740-10-50-23 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Topic 740 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 22 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482685/740-10-50-22 Reference 4: 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 + Details
Name: | us-gaap_IncomeTaxesPaidNet
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition 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. + References Reference 1: 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 + Details
Name: | us-gaap_IncreaseDecreaseInAccountsPayable
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition 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. + References Reference 1: 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 + Details
Name: | us-gaap_IncreaseDecreaseInAccountsReceivable
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition Amount of increase (decrease) in accrued expenses, and obligations classified as other. + References Reference 1: 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 + Details
Name: | us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 912 -SubTopic 310 -Name Accounting Standards Codification -Section 45 -Paragraph 11 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147478345/912-310-45-11 Reference 2: 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 + Details
Name: | us-gaap_IncreaseDecreaseInContractWithCustomerLiability
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition 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. + References Reference 1: 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 + Details
Name: | us-gaap_IncreaseDecreaseInInventories
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- References No definition available. + Details
Name: | us-gaap_IncreaseDecreaseInOperatingCapitalAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount of increase (decrease) in prepaid expenses, and assets classified as other. + References Reference 1: 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 + Details
Name: | us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 230 -SubTopic 10 -Name Accounting Standards Codification -Section 45 -Paragraph 17 -Subparagraph (d) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482740/230-10-45-17 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 230 -SubTopic 10 -Name Accounting Standards Codification -Section 45 -Paragraph 25 -Subparagraph (e) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482740/230-10-45-25 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Topic 230 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482913/230-10-50-2 + Details
Name: | us-gaap_InterestPaidNet
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition 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. + References Reference 1: 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 + Details
Name: | us-gaap_NetCashProvidedByUsedInFinancingActivities
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- References No definition available. + Details
Name: | us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition 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. + References Reference 1: 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 + Details
Name: | us-gaap_NetCashProvidedByUsedInInvestingActivities
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- References No definition available. + Details
Name: | us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition 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. + References Reference 1: 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 Reference 2: 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 Reference 3: 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 + Details
Name: | us-gaap_NetCashProvidedByUsedInOperatingActivities
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | na
Period Type: | duration

X
- References No definition available. + Details
Name: | us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount, after deduction of tax, noncontrolling interests, dividends on preferred stock and participating securities; of income (loss) available to common shareholders. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 805 -SubTopic 60 -Name Accounting Standards Codification -Section 65 -Paragraph 1 -Subparagraph (g) -Publisher FASB -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1 Reference 2: 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 Reference 3: 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 Reference 4: 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 Reference 5: 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 Reference 6: http://www.xbrl.org/2003/role/disclosureRef -Topic 220 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 5 -Subparagraph (SAB Topic 6.B) -Publisher FASB -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-5 Reference 7: 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 Reference 8: 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 Reference 9: http://www.xbrl.org/2003/role/disclosureRef -Topic 260 -SubTopic 10 -Name Accounting Standards Codification -Section 45 -Paragraph 11 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482689/260-10-45-11 Reference 10: http://www.xbrl.org/2003/role/disclosureRef -Topic 260 -SubTopic 10 -Name Accounting Standards Codification -Section 45 -Paragraph 60B -Subparagraph (c) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B + Details
Name: | us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- References No definition available. + Details
Name: | us-gaap_NoncashInvestingAndFinancingItemsAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount of income (expense) included in net income that results in no cash inflow (outflow), classified as other. + References Reference 1: 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 + Details
Name: | us-gaap_OtherNoncashIncomeExpense
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition The cash outflow to reacquire common stock during the period. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -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 + Details
Name: | us-gaap_PaymentsForRepurchaseOfCommonStock
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition Cash outflow in the form of capital distributions and dividends to common shareholders, preferred shareholders and noncontrolling interests. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -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 + Details
Name: | us-gaap_PaymentsOfDividends
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition Amount of cash outflow for purchase of marketable security. + References Reference 1: 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 + Details
Name: | us-gaap_PaymentsToAcquireMarketableSecurities
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition 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. + References Reference 1: 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 + Details
Name: | us-gaap_PaymentsToAcquirePropertyPlantAndEquipment
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition Amount of cash inflow from issuance of shares under share-based payment arrangement. Includes, but is not limited to, option exercised. + References Reference 1: 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 Reference 2: 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 + Details
Name: | us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition 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). + References Reference 1: 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 Reference 2: 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 Reference 3: 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 + Details
Name: | us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Amount of cash inflow from sale of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale). + References Reference 1: 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 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -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 Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 230 -SubTopic 10 -Section 45 -Paragraph 12 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482740/230-10-45-12 Reference 4: 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 + Details
Name: | us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Amount of increase (decrease) of physical assets used in the normal conduct of business and not intended for resale, from reclassification, impairment, donation, or changes classified as other. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 360 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482099/360-10-50-2 + Details
Name: | us-gaap_PropertyPlantAndEquipmentTransfersAndChanges
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Amount of expense (reversal of expense) for expected credit loss on accounts receivable. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 326 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 13 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479319/326-20-50-13 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 220 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 2 -Subparagraph (SX 210.5-03(5)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2 + Details
Name: | us-gaap_ProvisionForDoubtfulAccounts
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Amount of noncash expense for share-based payment arrangement. + References Reference 1: 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 + Details
Name: | us-gaap_ShareBasedCompensation
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- References No definition available. + Details
Name: | us-gaap_SupplementalCashFlowInformationAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration