2020 Form 10-K Financial Statement

#000143774921003413 Filed on February 19, 2021

View on sec.gov

Income Statement

Concept 2020 2019 Q4 2019
Revenue $434.4M $111.9M $458.7M
YoY Change -5.3% -0.8% 2.95%
Cost Of Revenue $216.6M $55.30M $223.4M
YoY Change -3.07% 3.17% 7.98%
Gross Profit $217.8M $56.60M $235.3M
YoY Change -7.42% -4.39% -1.42%
Gross Profit Margin 50.14% 50.58% 51.29%
Selling, General & Admin $121.1M $28.90M $122.7M
YoY Change -1.38% -7.96% 1.4%
% of Gross Profit 55.57% 51.06% 52.17%
Research & Development $36.90M $8.200M $32.70M
YoY Change 12.84% 7.89% 13.94%
% of Gross Profit 16.94% 14.49% 13.9%
Depreciation & Amortization $32.59M $8.200M $30.86M
YoY Change 5.61% 12.33% 15.36%
% of Gross Profit 14.96% 14.49% 13.12%
Operating Expenses $158.0M $37.00M $155.4M
YoY Change 1.65% -5.13% 3.77%
Operating Profit $59.84M $19.60M $79.86M
YoY Change -25.07% -2.97% -10.17%
Interest Expense
YoY Change
% of Operating Profit
Other Income/Expense, Net $3.109M -$200.0K $1.337M
YoY Change 132.54% -114.29% -51.51%
Pretax Income $62.95M $19.30M $81.19M
YoY Change -22.47% -10.23% -11.41%
Income Tax $12.08M $4.100M $17.54M
% Of Pretax Income 19.19% 21.24% 21.6%
Net Earnings $50.87M $15.20M $63.66M
YoY Change -20.09% -21.24% -16.89%
Net Earnings / Revenue 11.71% 13.58% 13.88%
Basic Earnings Per Share $1.90 $2.37
Diluted Earnings Per Share $1.89 $563.0K $2.35
COMMON SHARES
Basic Shares Outstanding 26.74M 26.76M 26.87M
Diluted Shares Outstanding 26.90M 27.05M

Balance Sheet

Concept 2020 2019 Q4 2019
SHORT-TERM ASSETS
Cash & Short-Term Investments $161.7M $160.7M $160.7M
YoY Change 0.62% 21.93% 21.93%
Cash & Equivalents $127.6M $125.2M $125.2M
Short-Term Investments $34.10M $35.40M $35.40M
Other Short-Term Assets $11.00M $8.200M $8.200M
YoY Change 34.15% -4.65% -4.65%
Inventory $10.90M $10.08M $10.10M
Prepaid Expenses
Receivables $57.90M $57.45M $57.50M
Other Receivables $500.0K $0.00 $0.00
Total Short-Term Assets $242.0M $236.4M $236.4M
YoY Change 2.37% 9.78% 9.75%
LONG-TERM ASSETS
Property, Plant & Equipment $294.9M $263.7M $275.1M
YoY Change 7.2% 15.66% 20.66%
Goodwill $128.8M
YoY Change 0.0%
Intangibles
YoY Change
Long-Term Investments $59.40M $13.00M $13.00M
YoY Change 356.92% -44.92% -44.92%
Other Assets $4.800M $3.030M $3.000M
YoY Change 60.0% -11.94% -11.76%
Total Long-Term Assets $502.2M $437.2M $437.3M
YoY Change 14.84% 8.33% 8.35%
TOTAL ASSETS
Total Short-Term Assets $242.0M $236.4M $236.4M
Total Long-Term Assets $502.2M $437.2M $437.3M
Total Assets $744.2M $673.7M $673.7M
YoY Change 10.46% 8.83% 8.84%
SHORT-TERM LIABILITIES
YoY Change
Accounts Payable $18.20M $16.80M $16.80M
YoY Change 8.33% -3.49% -3.45%
Accrued Expenses $31.50M $29.50M $29.50M
YoY Change 6.78% -15.23% -15.23%
Deferred Revenue
YoY Change
Short-Term Debt $0.00 $0.00 $0.00
YoY Change
Long-Term Debt Due $600.0K
YoY Change
Total Short-Term Liabilities $50.30M $47.58M $47.60M
YoY Change 5.67% -9.77% -9.68%
LONG-TERM LIABILITIES
Long-Term Debt $1.900M $0.00 $0.00
YoY Change
Other Long-Term Liabilities $13.80M $5.448M $14.00M
YoY Change -1.43% 18.64% 204.35%
Total Long-Term Liabilities $15.70M $5.448M $14.00M
YoY Change 12.14% 18.64% 204.35%
TOTAL LIABILITIES
Total Short-Term Liabilities $50.30M $47.58M $47.60M
Total Long-Term Liabilities $15.70M $5.448M $14.00M
Total Liabilities $99.80M $87.88M $87.90M
YoY Change 13.54% 13.41% 13.42%
SHAREHOLDERS EQUITY
Retained Earnings $324.7M
YoY Change 11.41%
Common Stock $268.1M
YoY Change 3.7%
Preferred Stock
YoY Change
Treasury Stock (at cost)
YoY Change
Treasury Stock Shares
Shareholders Equity $644.4M $585.8M $585.8M
YoY Change
Total Liabilities & Shareholders Equity $744.2M $673.7M $673.7M
YoY Change 10.46% 8.83% 8.84%

Cashflow Statement

Concept 2020 2019 Q4 2019
OPERATING ACTIVITIES
Net Income $50.87M $15.20M $63.66M
YoY Change -20.09% -21.24% -16.89%
Depreciation, Depletion And Amortization $32.59M $8.200M $30.86M
YoY Change 5.61% 12.33% 15.36%
Cash From Operating Activities $107.0M $32.30M $116.1M
YoY Change -7.83% -14.78% -5.59%
INVESTING ACTIVITIES
Capital Expenditures $47.01M -$16.00M $62.23M
YoY Change -24.46% -36.51% -28.56%
Acquisitions $0.00 $0.00
YoY Change -100.0%
Other Investing Activities -$48.50M -$15.00M $17.90M
YoY Change -370.95% -173.53% -24.79%
Cash From Investing Activities -$95.47M -$31.10M -$44.30M
YoY Change 115.5% 547.92% -29.99%
FINANCING ACTIVITIES
Cash Dividend Paid
YoY Change
Common Stock Issuance & Retirement, Net $14.69M $33.52M
YoY Change -56.19% 174.11%
Debt Paid & Issued, Net $0.00 $0.00
YoY Change -100.0%
Cash From Financing Activities -$10.73M 1.900M -$31.62M
YoY Change -66.08% -117.92% 202.9%
NET CHANGE
Cash From Operating Activities $107.0M 32.30M $116.1M
Cash From Investing Activities -$95.47M -31.10M -$44.30M
Cash From Financing Activities -$10.73M 1.900M -$31.62M
Net Change In Cash $2.378M 3.100M $40.18M
YoY Change -94.08% -86.22% -16.88%
FREE CASH FLOW
Cash From Operating Activities $107.0M $32.30M $116.1M
Capital Expenditures $47.01M -$16.00M $62.23M
Free Cash Flow $59.96M $48.30M $53.82M
YoY Change 11.4% -23.45% 50.24%

Facts In Submission

Frame Concept Type Concept / XBRL Key Value Unit
CY2021Q1 dei Entity Common Stock Shares Outstanding
EntityCommonStockSharesOutstanding
27604879
CY2020Q4 us-gaap Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
1781000 USD
CY2019Q4 us-gaap Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
952000 USD
CY2020Q4 us-gaap Preferred Stock Par Or Stated Value Per Share
PreferredStockParOrStatedValuePerShare
0.001
CY2019Q4 us-gaap Preferred Stock Par Or Stated Value Per Share
PreferredStockParOrStatedValuePerShare
0.001
CY2020Q4 us-gaap Preferred Stock Shares Authorized
PreferredStockSharesAuthorized
10000000
CY2019Q4 us-gaap Preferred Stock Shares Authorized
PreferredStockSharesAuthorized
10000000
CY2020Q4 us-gaap Preferred Stock Shares Issued
PreferredStockSharesIssued
0
CY2020Q4 us-gaap Preferred Stock Shares Issued
PreferredStockSharesIssued
0
CY2019Q4 us-gaap Preferred Stock Shares Issued
PreferredStockSharesIssued
0
CY2019Q4 us-gaap Preferred Stock Shares Issued
PreferredStockSharesIssued
0
CY2020Q4 us-gaap Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
0.001
CY2019Q4 us-gaap Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
0.001
CY2020Q4 us-gaap Common Stock Shares Authorized
CommonStockSharesAuthorized
150000000
CY2019Q4 us-gaap Common Stock Shares Authorized
CommonStockSharesAuthorized
150000000
CY2020Q4 us-gaap Common Stock Shares Issued
CommonStockSharesIssued
26776796
CY2020Q4 us-gaap Common Stock Shares Outstanding
CommonStockSharesOutstanding
26776796
CY2019Q4 us-gaap Common Stock Shares Issued
CommonStockSharesIssued
26786459
CY2019Q4 us-gaap Common Stock Shares Outstanding
CommonStockSharesOutstanding
26786459
CY2020Q4 us-gaap Finance Lease Weighted Average Remaining Lease Term1
FinanceLeaseWeightedAverageRemainingLeaseTerm1
P2Y6M
CY2020Q4 us-gaap Finance Lease Weighted Average Discount Rate Percent
FinanceLeaseWeightedAverageDiscountRatePercent
0.005 pure
CY2019Q4 us-gaap Finance Lease Weighted Average Discount Rate Percent
FinanceLeaseWeightedAverageDiscountRatePercent
0 pure
CY2019Q4 us-gaap Inventory Net
InventoryNet
10075000 USD
CY2019 us-gaap Lease Cost
LeaseCost
4999000 USD
CY2020Q4 prlb Deferred Tax Liability Cares Act
DeferredTaxLiabilityCaresAct
2900000 USD
CY2020 prlb Operating Loss Carryforwards Expiration Period
OperatingLossCarryforwardsExpirationPeriod
P10Y
CY2020Q4 us-gaap Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
127603000 USD
CY2019Q4 us-gaap Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
125225000 USD
CY2020Q4 us-gaap Marketable Securities Current
MarketableSecuritiesCurrent
34088000 USD
CY2019Q4 us-gaap Marketable Securities Current
MarketableSecuritiesCurrent
35437000 USD
CY2020Q4 us-gaap Accounts Receivable Net Current
AccountsReceivableNetCurrent
57877000 USD
CY2019Q4 us-gaap Accounts Receivable Net Current
AccountsReceivableNetCurrent
57450000 USD
CY2020Q4 us-gaap Inventory Net
InventoryNet
10862000 USD
CY2020Q4 us-gaap Prepaid Expense And Other Assets Current
PrepaidExpenseAndOtherAssetsCurrent
11032000 USD
CY2019Q4 us-gaap Prepaid Expense And Other Assets Current
PrepaidExpenseAndOtherAssetsCurrent
8232000 USD
CY2020Q4 us-gaap Income Taxes Receivable
IncomeTaxesReceivable
540000 USD
CY2019Q4 us-gaap Income Taxes Receivable
IncomeTaxesReceivable
0 USD
CY2020Q4 us-gaap Assets Current
AssetsCurrent
242002000 USD
CY2019Q4 us-gaap Assets Current
AssetsCurrent
236419000 USD
CY2020Q4 us-gaap Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
282666000 USD
CY2019Q4 us-gaap Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
263712000 USD
CY2020Q4 us-gaap Goodwill
Goodwill
128752000 USD
CY2019Q4 us-gaap Goodwill
Goodwill
128752000 USD
CY2020Q4 us-gaap Other Intangible Assets Net
OtherIntangibleAssetsNet
14350000 USD
CY2019Q4 us-gaap Other Intangible Assets Net
OtherIntangibleAssetsNet
17369000 USD
CY2020Q4 us-gaap Marketable Securities Noncurrent
MarketableSecuritiesNoncurrent
59357000 USD
CY2019Q4 us-gaap Marketable Securities Noncurrent
MarketableSecuritiesNoncurrent
12960000 USD
CY2020Q4 us-gaap Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
9855000 USD
CY2019Q4 us-gaap Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
11425000 USD
CY2020Q4 us-gaap Finance Lease Right Of Use Asset
FinanceLeaseRightOfUseAsset
2396000 USD
CY2019Q4 us-gaap Finance Lease Right Of Use Asset
FinanceLeaseRightOfUseAsset
0 USD
CY2020Q4 us-gaap Other Assets Noncurrent
OtherAssetsNoncurrent
4826000 USD
CY2019Q4 us-gaap Other Assets Noncurrent
OtherAssetsNoncurrent
3030000 USD
CY2020Q4 us-gaap Assets
Assets
744204000 USD
CY2019Q4 us-gaap Assets
Assets
673667000 USD
CY2020Q4 us-gaap Accounts Payable Current
AccountsPayableCurrent
18248000 USD
CY2019Q4 us-gaap Accounts Payable Current
AccountsPayableCurrent
16804000 USD
CY2020Q4 us-gaap Employee Related Liabilities Current
EmployeeRelatedLiabilitiesCurrent
11989000 USD
CY2019Q4 us-gaap Employee Related Liabilities Current
EmployeeRelatedLiabilitiesCurrent
15058000 USD
CY2020Q4 us-gaap Accrued Liabilities And Other Liabilities
AccruedLiabilitiesAndOtherLiabilities
16193000 USD
CY2019Q4 us-gaap Accrued Liabilities And Other Liabilities
AccruedLiabilitiesAndOtherLiabilities
11057000 USD
CY2020Q4 us-gaap Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
3272000 USD
CY2019Q4 us-gaap Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
3340000 USD
CY2020Q4 us-gaap Finance Lease Liability Current
FinanceLeaseLiabilityCurrent
552000 USD
CY2019Q4 us-gaap Finance Lease Liability Current
FinanceLeaseLiabilityCurrent
0 USD
CY2020Q4 us-gaap Accrued Income Taxes Current
AccruedIncomeTaxesCurrent
0 USD
CY2019Q4 us-gaap Accrued Income Taxes Current
AccruedIncomeTaxesCurrent
1322000 USD
CY2020Q4 us-gaap Liabilities Current
LiabilitiesCurrent
50254000 USD
CY2019Q4 us-gaap Liabilities Current
LiabilitiesCurrent
47581000 USD
CY2020Q4 us-gaap Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
7586000 USD
CY2019Q4 us-gaap Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
8565000 USD
CY2020Q4 us-gaap Finance Lease Liability Noncurrent
FinanceLeaseLiabilityNoncurrent
1919000 USD
CY2019Q4 us-gaap Finance Lease Liability Noncurrent
FinanceLeaseLiabilityNoncurrent
0 USD
CY2020Q4 us-gaap Deferred Income Tax Liabilities Net
DeferredIncomeTaxLiabilitiesNet
33854000 USD
CY2019Q4 us-gaap Deferred Income Tax Liabilities Net
DeferredIncomeTaxLiabilitiesNet
26283000 USD
CY2020Q4 us-gaap Other Liabilities Noncurrent
OtherLiabilitiesNoncurrent
6235000 USD
CY2019Q4 us-gaap Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
-7018000 USD
CY2019Q4 us-gaap Other Liabilities Noncurrent
OtherLiabilitiesNoncurrent
5448000 USD
CY2020Q4 us-gaap Liabilities
Liabilities
99848000 USD
CY2019Q4 us-gaap Liabilities
Liabilities
87877000 USD
CY2020Q4 us-gaap Preferred Stock Value
PreferredStockValue
0 USD
CY2019Q4 us-gaap Preferred Stock Value
PreferredStockValue
0 USD
CY2020Q4 us-gaap Common Stock Value
CommonStockValue
27000 USD
CY2019Q4 us-gaap Common Stock Value
CommonStockValue
27000 USD
CY2020Q4 us-gaap Additional Paid In Capital Common Stock
AdditionalPaidInCapitalCommonStock
284848000 USD
CY2019Q4 us-gaap Additional Paid In Capital Common Stock
AdditionalPaidInCapitalCommonStock
268059000 USD
CY2020Q4 us-gaap Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
362901000 USD
CY2019Q4 us-gaap Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
324722000 USD
CY2020Q4 us-gaap Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
-3420000 USD
CY2020Q4 us-gaap Stockholders Equity
StockholdersEquity
644356000 USD
CY2019Q4 us-gaap Stockholders Equity
StockholdersEquity
585790000 USD
CY2020Q4 us-gaap Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
744204000 USD
CY2019Q4 us-gaap Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
673667000 USD
CY2020 us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
434395000 USD
CY2019 us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
458728000 USD
CY2018 us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
445596000 USD
CY2020 us-gaap Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
216568000 USD
CY2019 us-gaap Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
223438000 USD
CY2018 us-gaap Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
206917000 USD
CY2020 us-gaap Gross Profit
GrossProfit
217827000 USD
CY2019 us-gaap Gross Profit
GrossProfit
235290000 USD
CY2018 us-gaap Gross Profit
GrossProfit
238679000 USD
CY2020 us-gaap Selling And Marketing Expense
SellingAndMarketingExpense
69309000 USD
CY2019 us-gaap Selling And Marketing Expense
SellingAndMarketingExpense
72976000 USD
CY2018 us-gaap Selling And Marketing Expense
SellingAndMarketingExpense
68533000 USD
CY2020 us-gaap Research And Development Expense
ResearchAndDevelopmentExpense
36940000 USD
CY2019 us-gaap Research And Development Expense
ResearchAndDevelopmentExpense
32692000 USD
CY2018 us-gaap Research And Development Expense
ResearchAndDevelopmentExpense
28735000 USD
CY2020 us-gaap General And Administrative Expense
GeneralAndAdministrativeExpense
51742000 USD
CY2019 us-gaap General And Administrative Expense
GeneralAndAdministrativeExpense
49766000 USD
CY2018 us-gaap General And Administrative Expense
GeneralAndAdministrativeExpense
52513000 USD
CY2020 us-gaap Operating Expenses
OperatingExpenses
157991000 USD
CY2019 us-gaap Operating Expenses
OperatingExpenses
155434000 USD
CY2018 us-gaap Operating Expenses
OperatingExpenses
149781000 USD
CY2020 us-gaap Operating Income Loss
OperatingIncomeLoss
59836000 USD
CY2019 us-gaap Operating Income Loss
OperatingIncomeLoss
79856000 USD
CY2018 us-gaap Operating Income Loss
OperatingIncomeLoss
88898000 USD
CY2020 us-gaap Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
3109000 USD
CY2019 us-gaap Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
1337000 USD
CY2018 us-gaap Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
2757000 USD
CY2020 us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
62945000 USD
CY2019 us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
81193000 USD
CY2018 us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
91655000 USD
CY2020 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
12078000 USD
CY2019 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
17538000 USD
CY2018 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
15067000 USD
CY2020 us-gaap Net Income Loss
NetIncomeLoss
50867000 USD
CY2019 us-gaap Net Income Loss
NetIncomeLoss
63655000 USD
CY2018 us-gaap Net Income Loss
NetIncomeLoss
76588000 USD
CY2020 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
1.90
CY2019 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
2.37
CY2018 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
2.84
CY2020 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
1.89
CY2019 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
2.35
CY2018 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
2.81
CY2020 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
26737425
CY2019 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
26866985
CY2018 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
26982614
CY2020 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
26896357
CY2019 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
27049423
CY2018 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
27278816
CY2020 us-gaap Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Net Of Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
3598000 USD
CY2019 us-gaap Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Net Of Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
1474000 USD
CY2018 us-gaap Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Net Of Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
-3258000 USD
CY2020 us-gaap Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
54465000 USD
CY2019 us-gaap Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
65129000 USD
CY2018 us-gaap Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
73330000 USD
CY2017Q4 us-gaap Stockholders Equity
StockholdersEquity
461215000 USD
CY2018 us-gaap Stock Issued During Period Value Stock Options Exercised
StockIssuedDuringPeriodValueStockOptionsExercised
6791000 USD
CY2018 us-gaap Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
10928000 USD
CY2018 us-gaap Stock Repurchased And Retired During Period Value
StockRepurchasedAndRetiredDuringPeriodValue
12229000 USD
CY2018 us-gaap Net Income Loss
NetIncomeLoss
76588000 USD
CY2018 us-gaap Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Net Of Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
-3258000 USD
CY2018 us-gaap Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
73330000 USD
CY2018Q4 us-gaap Stockholders Equity
StockholdersEquity
541497000 USD
CY2019 us-gaap Stock Issued During Period Value Stock Options Exercised
StockIssuedDuringPeriodValueStockOptionsExercised
1904000 USD
CY2019 us-gaap Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
10781000 USD
CY2019 us-gaap Stock Repurchased And Retired During Period Value
StockRepurchasedAndRetiredDuringPeriodValue
33521000 USD
CY2019 us-gaap Net Income Loss
NetIncomeLoss
63655000 USD
CY2019 us-gaap Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Net Of Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
1474000 USD
CY2019 us-gaap Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
65129000 USD
CY2019Q4 us-gaap Stockholders Equity
StockholdersEquity
585790000 USD
CY2020 us-gaap Stock Issued During Period Value Stock Options Exercised
StockIssuedDuringPeriodValueStockOptionsExercised
4114000 USD
CY2020 us-gaap Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
14673000 USD
CY2020 us-gaap Stock Repurchased And Retired During Period Value
StockRepurchasedAndRetiredDuringPeriodValue
14686000 USD
CY2020 us-gaap Net Income Loss
NetIncomeLoss
50867000 USD
CY2020 us-gaap Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Net Of Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
3598000 USD
CY2020 us-gaap Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
54465000 USD
CY2020Q4 us-gaap Stockholders Equity
StockholdersEquity
644356000 USD
CY2020 us-gaap Net Income Loss
NetIncomeLoss
50867000 USD
CY2019 us-gaap Net Income Loss
NetIncomeLoss
63655000 USD
CY2018 us-gaap Net Income Loss
NetIncomeLoss
76588000 USD
CY2020 us-gaap Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
32594000 USD
CY2019 us-gaap Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
30864000 USD
CY2018 us-gaap Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
26754000 USD
CY2020 us-gaap Share Based Compensation
ShareBasedCompensation
14673000 USD
CY2019 us-gaap Share Based Compensation
ShareBasedCompensation
10781000 USD
CY2018 us-gaap Share Based Compensation
ShareBasedCompensation
10928000 USD
CY2020 us-gaap Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
7577000 USD
CY2019 us-gaap Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
6106000 USD
CY2018 us-gaap Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
11936000 USD
CY2020 us-gaap Gain Loss On Sale Of Business
GainLossOnSaleOfBusiness
-0 USD
CY2019 us-gaap Gain Loss On Sale Of Business
GainLossOnSaleOfBusiness
-0 USD
CY2018 us-gaap Gain Loss On Sale Of Business
GainLossOnSaleOfBusiness
671000 USD
CY2020 us-gaap Accretion Amortization Of Discounts And Premiums Investments
AccretionAmortizationOfDiscountsAndPremiumsInvestments
-415000 USD
CY2019 us-gaap Accretion Amortization Of Discounts And Premiums Investments
AccretionAmortizationOfDiscountsAndPremiumsInvestments
-5000 USD
CY2020 us-gaap Other Noncash Income Expense
OtherNoncashIncomeExpense
336000 USD
CY2018 us-gaap Accretion Amortization Of Discounts And Premiums Investments
AccretionAmortizationOfDiscountsAndPremiumsInvestments
-374000 USD
CY2019 us-gaap Other Noncash Income Expense
OtherNoncashIncomeExpense
-391000 USD
CY2018 us-gaap Other Noncash Income Expense
OtherNoncashIncomeExpense
619000 USD
CY2020 us-gaap Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
91000 USD
CY2019 us-gaap Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
-1848000 USD
CY2018 us-gaap Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
6098000 USD
CY2020 us-gaap Increase Decrease In Inventories
IncreaseDecreaseInInventories
662000 USD
CY2019 us-gaap Increase Decrease In Inventories
IncreaseDecreaseInInventories
-60000 USD
CY2018 us-gaap Increase Decrease In Inventories
IncreaseDecreaseInInventories
189000 USD
CY2020 us-gaap Increase Decrease In Prepaid Deferred Expense And Other Assets
IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
1680000 USD
CY2019 us-gaap Increase Decrease In Prepaid Deferred Expense And Other Assets
IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
-545000 USD
CY2018 us-gaap Increase Decrease In Prepaid Deferred Expense And Other Assets
IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
2098000 USD
CY2020 us-gaap Increase Decrease In Accrued Income Taxes Payable
IncreaseDecreaseInAccruedIncomeTaxesPayable
-1960000 USD
CY2019 us-gaap Increase Decrease In Accrued Income Taxes Payable
IncreaseDecreaseInAccruedIncomeTaxesPayable
6555000 USD
CY2018 us-gaap Increase Decrease In Accrued Income Taxes Payable
IncreaseDecreaseInAccruedIncomeTaxesPayable
-6652000 USD
CY2020 us-gaap Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
1492000 USD
CY2019 us-gaap Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
-719000 USD
CY2018 us-gaap Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
1942000 USD
CY2020 us-gaap Increase Decrease In Other Operating Liabilities
IncreaseDecreaseInOtherOperatingLiabilities
4080000 USD
CY2019 us-gaap Increase Decrease In Other Operating Liabilities
IncreaseDecreaseInOtherOperatingLiabilities
-4039000 USD
CY2018 us-gaap Increase Decrease In Other Operating Liabilities
IncreaseDecreaseInOtherOperatingLiabilities
10734000 USD
CY2020 us-gaap Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
106969000 USD
CY2019 us-gaap Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
116052000 USD
CY2018 us-gaap Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
122929000 USD
CY2020 us-gaap Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
47010000 USD
CY2019 us-gaap Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
62230000 USD
CY2018 us-gaap Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
87104000 USD
CY2020 us-gaap Payments To Acquire Businesses Net Of Cash Acquired
PaymentsToAcquireBusinessesNetOfCashAcquired
-0 USD
CY2019 us-gaap Payments To Acquire Businesses Net Of Cash Acquired
PaymentsToAcquireBusinessesNetOfCashAcquired
-0 USD
CY2018 us-gaap Payments To Acquire Businesses Net Of Cash Acquired
PaymentsToAcquireBusinessesNetOfCashAcquired
90000 USD
CY2020 us-gaap Proceeds From Divestiture Of Businesses
ProceedsFromDivestitureOfBusinesses
0 USD
CY2019 us-gaap Proceeds From Divestiture Of Businesses
ProceedsFromDivestitureOfBusinesses
0 USD
CY2018 us-gaap Proceeds From Divestiture Of Businesses
ProceedsFromDivestitureOfBusinesses
284000 USD
CY2020 us-gaap Payments To Acquire Other Investments
PaymentsToAcquireOtherInvestments
3000000 USD
CY2019 us-gaap Payments To Acquire Other Investments
PaymentsToAcquireOtherInvestments
4000000 USD
CY2018 us-gaap Payments To Acquire Other Investments
PaymentsToAcquireOtherInvestments
126000 USD
CY2020 us-gaap Payments To Acquire Held To Maturity Securities
PaymentsToAcquireHeldToMaturitySecurities
113200000 USD
CY2019 us-gaap Payments To Acquire Held To Maturity Securities
PaymentsToAcquireHeldToMaturitySecurities
46403000 USD
CY2018 us-gaap Payments To Acquire Held To Maturity Securities
PaymentsToAcquireHeldToMaturitySecurities
41384000 USD
CY2020 us-gaap Proceeds From Sale And Maturity Of Marketable Securities
ProceedsFromSaleAndMaturityOfMarketableSecurities
67737000 USD
CY2019 us-gaap Proceeds From Sale And Maturity Of Marketable Securities
ProceedsFromSaleAndMaturityOfMarketableSecurities
68330000 USD
CY2018 us-gaap Proceeds From Sale And Maturity Of Marketable Securities
ProceedsFromSaleAndMaturityOfMarketableSecurities
65139000 USD
CY2020 us-gaap Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
-95473000 USD
CY2019 us-gaap Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
-44303000 USD
CY2018 us-gaap Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
-63281000 USD
CY2020 us-gaap Repayments Of Long Term Debt
RepaymentsOfLongTermDebt
-0 USD
CY2019 us-gaap Repayments Of Long Term Debt
RepaymentsOfLongTermDebt
-0 USD
CY2018 us-gaap Repayments Of Long Term Debt
RepaymentsOfLongTermDebt
5000000 USD
CY2020 us-gaap Finance Lease Principal Payments
FinanceLeasePrincipalPayments
154000 USD
CY2019 us-gaap Finance Lease Principal Payments
FinanceLeasePrincipalPayments
-0 USD
CY2018 us-gaap Finance Lease Principal Payments
FinanceLeasePrincipalPayments
-0 USD
CY2020 us-gaap Proceeds From Issuance Of Shares Under Incentive And Share Based Compensation Plans Including Stock Options
ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions
7557000 USD
CY2019 us-gaap Proceeds From Issuance Of Shares Under Incentive And Share Based Compensation Plans Including Stock Options
ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions
4391000 USD
CY2018 us-gaap Proceeds From Issuance Of Shares Under Incentive And Share Based Compensation Plans Including Stock Options
ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions
8935000 USD
CY2020 us-gaap Payments Related To Tax Withholding For Share Based Compensation
PaymentsRelatedToTaxWithholdingForShareBasedCompensation
3443000 USD
CY2019 us-gaap Payments Related To Tax Withholding For Share Based Compensation
PaymentsRelatedToTaxWithholdingForShareBasedCompensation
2487000 USD
CY2018 us-gaap Payments Related To Tax Withholding For Share Based Compensation
PaymentsRelatedToTaxWithholdingForShareBasedCompensation
2144000 USD
CY2020 us-gaap Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
14686000 USD
CY2019 us-gaap Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
33521000 USD
CY2018 us-gaap Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
12229000 USD
CY2020 us-gaap Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
-10726000 USD
CY2019 us-gaap Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
-31617000 USD
CY2018 us-gaap Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
-10438000 USD
CY2020 us-gaap Effect Of Exchange Rate On Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
1608000 USD
CY2019 us-gaap Effect Of Exchange Rate On Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
47000 USD
CY2018 us-gaap Effect Of Exchange Rate On Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
-871000 USD
CY2020 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
2378000 USD
CY2019 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
40179000 USD
CY2018 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
48339000 USD
CY2019Q4 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
125225000 USD
CY2018Q4 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
85046000 USD
CY2017Q4 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
36707000 USD
CY2020Q4 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
127603000 USD
CY2019Q4 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
125225000 USD
CY2018Q4 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
85046000 USD
CY2020 us-gaap Interest Paid Net
InterestPaidNet
23000 USD
CY2019 us-gaap Interest Paid Net
InterestPaidNet
14000 USD
CY2018 us-gaap Interest Paid Net
InterestPaidNet
39000 USD
CY2020 us-gaap Income Taxes Paid
IncomeTaxesPaid
5650000 USD
CY2019 us-gaap Income Taxes Paid
IncomeTaxesPaid
4002000 USD
CY2018 us-gaap Income Taxes Paid
IncomeTaxesPaid
9966000 USD
CY2020 us-gaap Use Of Estimates
UseOfEstimates
<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><i><b>Accounting estimates</b></i></p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America (U.S. GAAP) requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and related disclosures at the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from those estimates.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p>
CY2020Q4 us-gaap Capitalized Computer Software Net
CapitalizedComputerSoftwareNet
49400000 USD
CY2019Q4 us-gaap Capitalized Computer Software Net
CapitalizedComputerSoftwareNet
32700000 USD
CY2018Q4 us-gaap Capitalized Computer Software Net
CapitalizedComputerSoftwareNet
16700000 USD
CY2020 us-gaap Goodwill Impairment Loss
GoodwillImpairmentLoss
0 USD
CY2020 us-gaap Advertising Expense
AdvertisingExpense
11500000 USD
CY2019 us-gaap Advertising Expense
AdvertisingExpense
13000000.0 USD
CY2018 us-gaap Advertising Expense
AdvertisingExpense
11800000 USD
CY2020 us-gaap Research And Development Expense
ResearchAndDevelopmentExpense
36900000 USD
CY2019 us-gaap Research And Development Expense
ResearchAndDevelopmentExpense
32700000 USD
CY2018 us-gaap Research And Development Expense
ResearchAndDevelopmentExpense
28700000 USD
CY2020 us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
434395000 USD
CY2019 us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
458728000 USD
CY2018 us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
445596000 USD
CY2020 us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
434395000 USD
CY2019 us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
458728000 USD
CY2018 us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
445596000 USD
CY2020 us-gaap Net Income Loss
NetIncomeLoss
50867000 USD
CY2019 us-gaap Net Income Loss
NetIncomeLoss
63655000 USD
CY2018 us-gaap Net Income Loss
NetIncomeLoss
76588000 USD
CY2020 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
26737425
CY2019 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
26866985
CY2018 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
26982614
CY2020 us-gaap Incremental Common Shares Attributable To Share Based Payment Arrangements
IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
158932
CY2019 us-gaap Incremental Common Shares Attributable To Share Based Payment Arrangements
IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
182438
CY2018 us-gaap Incremental Common Shares Attributable To Share Based Payment Arrangements
IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
296202
CY2020 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
26896357
CY2019 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
27049423
CY2018 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
27278816
CY2020 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
1.90
CY2019 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
2.37
CY2018 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
2.84
CY2020 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
1.89
CY2019 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
2.35
CY2018 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
2.81
CY2018Q4 us-gaap Goodwill
Goodwill
128752000 USD
CY2019 us-gaap Goodwill Acquired During Period
GoodwillAcquiredDuringPeriod
0 USD
CY2019Q4 us-gaap Goodwill
Goodwill
128752000 USD
CY2020 us-gaap Goodwill Acquired During Period
GoodwillAcquiredDuringPeriod
0 USD
CY2020Q4 us-gaap Goodwill
Goodwill
128752000 USD
CY2020Q4 us-gaap Finite Lived Intangible Assets Gross
FiniteLivedIntangibleAssetsGross
24499000 USD
CY2020Q4 us-gaap Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
10149000 USD
CY2020Q4 us-gaap Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
14350000 USD
CY2019Q4 us-gaap Finite Lived Intangible Assets Gross
FiniteLivedIntangibleAssetsGross
25829000 USD
CY2019Q4 us-gaap Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
8460000 USD
CY2019Q4 us-gaap Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
17369000 USD
CY2020 us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
3000000.0 USD
CY2019 us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
3500000 USD
CY2018 us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
3200000 USD
CY2020Q4 us-gaap Finite Lived Intangible Assets Amortization Expense Next Twelve Months
FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
3016000 USD
CY2020Q4 us-gaap Finite Lived Intangible Assets Amortization Expense Year Two
FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
3016000 USD
CY2020Q4 us-gaap Finite Lived Intangible Assets Amortization Expense Year Three
FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
2813000 USD
CY2020Q4 us-gaap Finite Lived Intangible Assets Amortization Expense Year Four
FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
1400000 USD
CY2020Q4 us-gaap Finite Lived Intangible Assets Amortization Expense Year Five
FiniteLivedIntangibleAssetsAmortizationExpenseYearFive
1369000 USD
CY2020Q4 us-gaap Finite Lived Intangible Assets Amortization Expense After Year Five
FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive
2736000 USD
CY2020Q4 us-gaap Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
14350000 USD
CY2019Q4 us-gaap Machinery And Equipment Gross
MachineryAndEquipmentGross
208954000 USD
CY2020Q4 us-gaap Held To Maturity Securities
HeldToMaturitySecurities
93445000 USD
CY2020Q4 us-gaap Held To Maturity Securities Accumulated Unrecognized Holding Gain
HeldToMaturitySecuritiesAccumulatedUnrecognizedHoldingGain
393000 USD
CY2020Q4 us-gaap Held To Maturity Securities Accumulated Unrecognized Holding Loss
HeldToMaturitySecuritiesAccumulatedUnrecognizedHoldingLoss
23000 USD
CY2020Q4 us-gaap Held To Maturity Securities Fair Value
HeldToMaturitySecuritiesFairValue
93815000 USD
CY2019Q4 us-gaap Held To Maturity Securities
HeldToMaturitySecurities
48397000 USD
CY2019Q4 us-gaap Held To Maturity Securities Accumulated Unrecognized Holding Gain
HeldToMaturitySecuritiesAccumulatedUnrecognizedHoldingGain
112000 USD
CY2019Q4 us-gaap Held To Maturity Securities Accumulated Unrecognized Holding Loss
HeldToMaturitySecuritiesAccumulatedUnrecognizedHoldingLoss
22000 USD
CY2019Q4 us-gaap Held To Maturity Securities Fair Value
HeldToMaturitySecuritiesFairValue
48487000 USD
CY2020Q4 us-gaap Held To Maturity Securities Debt Maturities Within One Year Net Carrying Amount
HeldToMaturitySecuritiesDebtMaturitiesWithinOneYearNetCarryingAmount
34088000 USD
CY2020Q4 us-gaap Held To Maturity Securities Debt Maturities After One Through Five Years Net Carrying Amount
HeldToMaturitySecuritiesDebtMaturitiesAfterOneThroughFiveYearsNetCarryingAmount
59357000 USD
CY2020Q4 us-gaap Held To Maturity Securities
HeldToMaturitySecurities
93445000 USD
CY2020Q4 us-gaap Land
Land
14028000 USD
CY2019Q4 us-gaap Land
Land
14098000 USD
CY2020Q4 us-gaap Buildings And Improvements Gross
BuildingsAndImprovementsGross
77285000 USD
CY2019Q4 us-gaap Buildings And Improvements Gross
BuildingsAndImprovementsGross
75843000 USD
CY2020Q4 us-gaap Machinery And Equipment Gross
MachineryAndEquipmentGross
221301000 USD
CY2020Q4 prlb Computer Hardware And Software Gross
ComputerHardwareAndSoftwareGross
79207000 USD
CY2019Q4 prlb Computer Hardware And Software Gross
ComputerHardwareAndSoftwareGross
24953000 USD
CY2020Q4 us-gaap Leasehold Improvements Gross
LeaseholdImprovementsGross
7821000 USD
CY2020Q4 us-gaap Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
282666000 USD
CY2019Q4 us-gaap Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
263712000 USD
CY2020 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period Gross
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
60065
CY2020 us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Grants In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
105.79
CY2019Q4 us-gaap Leasehold Improvements Gross
LeaseholdImprovementsGross
7341000 USD
CY2020Q4 us-gaap Construction In Progress Gross
ConstructionInProgressGross
33780000 USD
CY2019Q4 us-gaap Construction In Progress Gross
ConstructionInProgressGross
54313000 USD
CY2020Q4 us-gaap Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
433422000 USD
CY2019Q4 us-gaap Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
385502000 USD
CY2020Q4 us-gaap Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
150756000 USD
CY2019Q4 us-gaap Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
121790000 USD
CY2020 us-gaap Depreciation
Depreciation
29600000 USD
CY2019 us-gaap Depreciation
Depreciation
27400000 USD
CY2018 us-gaap Depreciation
Depreciation
23500000 USD
CY2020Q4 us-gaap Inventory Gross
InventoryGross
11122000 USD
CY2019Q4 us-gaap Inventory Gross
InventoryGross
10319000 USD
CY2020Q4 us-gaap Inventory Valuation Reserves
InventoryValuationReserves
260000 USD
CY2019Q4 us-gaap Inventory Valuation Reserves
InventoryValuationReserves
244000 USD
CY2020Q4 us-gaap Inventory Net
InventoryNet
10862000 USD
CY2019Q4 us-gaap Inventory Net
InventoryNet
10075000 USD
CY2020Q4 us-gaap Line Of Credit
LineOfCredit
0 USD
CY2020 us-gaap Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
14673000 USD
CY2019 us-gaap Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
10781000 USD
CY2018 us-gaap Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
10928000 USD
CY2020 us-gaap Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
14673000 USD
CY2019 us-gaap Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
10781000 USD
CY2018 us-gaap Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
10928000 USD
CY2017Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
399055
CY2017Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
51.13
CY2018 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period Gross
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
36600
CY2018 us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Grants In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
110.59
CY2018 us-gaap Stock Issued During Period Shares Stock Options Exercised
StockIssuedDuringPeriodSharesStockOptionsExercised
155765
CY2018 us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Exercises In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
38.92
CY2018 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Forfeitures In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
27274
CY2018 us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Forfeitures In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
74.35
CY2018Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
252616
CY2018Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
64.71
CY2019 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period Gross
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
53708
CY2019 us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Grants In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
105.81
CY2019 us-gaap Stock Issued During Period Shares Stock Options Exercised
StockIssuedDuringPeriodSharesStockOptionsExercised
16079
CY2019 us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Exercises In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
48.67
CY2019 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Forfeitures In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
13979
CY2019 us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Forfeitures In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
89.50
CY2019Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
276266
CY2019Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
72.38
CY2020 us-gaap Stock Issued During Period Shares Stock Options Exercised
StockIssuedDuringPeriodSharesStockOptionsExercised
68958
CY2020 us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Exercises In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
57.00
CY2020 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Forfeitures In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
37842
CY2020 us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Forfeitures In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
67.92
CY2020Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
229531
CY2020Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
86.46
CY2020Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
94318
CY2020Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
69.36
CY2020 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Exercises In Period Total Intrinsic Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
5400000 USD
CY2019 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Exercises In Period Total Intrinsic Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
900000 USD
CY2018 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Exercises In Period Total Intrinsic Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
13000000.0 USD
CY2020 us-gaap Sharebased Compensation Arrangement By Sharebased Payment Award Options Outstanding Weighted Average Remaining Contractual Term2
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
P6Y9M18D
CY2020Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Intrinsic Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
15400000 USD
CY2020 us-gaap Sharebased Compensation Arrangement By Sharebased Payment Award Options Exercisable Weighted Average Remaining Contractual Term1
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
P5Y
CY2020Q4 us-gaap Sharebased Compensation Arrangement By Sharebased Payment Award Options Exercisable Intrinsic Value1
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
7900000 USD
CY2020 us-gaap Sharebased Compensation Arrangement By Sharebased Payment Award Options Vested In Period Fair Value1
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1
1800000 USD
CY2019 us-gaap Sharebased Compensation Arrangement By Sharebased Payment Award Options Vested In Period Fair Value1
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1
1500000 USD
CY2018 us-gaap Sharebased Compensation Arrangement By Sharebased Payment Award Options Vested In Period Fair Value1
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1
1500000 USD
CY2020Q4 us-gaap Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
9855000 USD
CY2019Q4 us-gaap Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
11425000 USD
CY2020Q4 us-gaap Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
3272000 USD
CY2019Q4 us-gaap Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
3340000 USD
CY2020Q4 us-gaap Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
7586000 USD
CY2019Q4 us-gaap Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
8565000 USD
CY2020Q4 us-gaap Operating Lease Liability
OperatingLeaseLiability
10858000 USD
CY2019Q4 us-gaap Operating Lease Liability
OperatingLeaseLiability
11905000 USD
CY2020Q4 us-gaap Finance Lease Right Of Use Asset
FinanceLeaseRightOfUseAsset
2396000 USD
CY2019Q4 us-gaap Finance Lease Right Of Use Asset
FinanceLeaseRightOfUseAsset
0 USD
CY2020Q4 us-gaap Finance Lease Liability Current
FinanceLeaseLiabilityCurrent
552000 USD
CY2019Q4 us-gaap Finance Lease Liability Current
FinanceLeaseLiabilityCurrent
0 USD
CY2020Q4 us-gaap Finance Lease Liability Noncurrent
FinanceLeaseLiabilityNoncurrent
1919000 USD
CY2019Q4 us-gaap Finance Lease Liability Noncurrent
FinanceLeaseLiabilityNoncurrent
0 USD
CY2020Q4 us-gaap Finance Lease Liability
FinanceLeaseLiability
2471000 USD
CY2019Q4 us-gaap Finance Lease Liability
FinanceLeaseLiability
0 USD
CY2020 us-gaap Operating Lease Cost
OperatingLeaseCost
4191000 USD
CY2019 us-gaap Operating Lease Cost
OperatingLeaseCost
3960000 USD
CY2020 us-gaap Finance Lease Right Of Use Asset Amortization
FinanceLeaseRightOfUseAssetAmortization
143000 USD
CY2019 us-gaap Finance Lease Right Of Use Asset Amortization
FinanceLeaseRightOfUseAssetAmortization
0 USD
CY2020 us-gaap Finance Lease Interest Expense
FinanceLeaseInterestExpense
2000 USD
CY2019 us-gaap Finance Lease Interest Expense
FinanceLeaseInterestExpense
0 USD
CY2020 us-gaap Variable Lease Cost
VariableLeaseCost
989000 USD
CY2019 us-gaap Variable Lease Cost
VariableLeaseCost
1039000 USD
CY2020 us-gaap Lease Cost
LeaseCost
5325000 USD
CY2020Q4 us-gaap Lessee Operating Lease Liability Payments Due Next Twelve Months
LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
3915000 USD
CY2020Q4 us-gaap Finance Lease Liability Payments Due Next Twelve Months
FinanceLeaseLiabilityPaymentsDueNextTwelveMonths
561000 USD
CY2020Q4 us-gaap Lessee Operating Lease Liability Payments Due Year Two
LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
3246000 USD
CY2020Q4 us-gaap Finance Lease Liability Payments Due Year Two
FinanceLeaseLiabilityPaymentsDueYearTwo
561000 USD
CY2020Q4 us-gaap Lessee Operating Lease Liability Payments Due Year Three
LesseeOperatingLeaseLiabilityPaymentsDueYearThree
1460000 USD
CY2020Q4 us-gaap Finance Lease Liability Payments Due Year Three
FinanceLeaseLiabilityPaymentsDueYearThree
1371000 USD
CY2020Q4 us-gaap Lessee Operating Lease Liability Payments Due Year Four
LesseeOperatingLeaseLiabilityPaymentsDueYearFour
540000 USD
CY2020Q4 us-gaap Finance Lease Liability Payments Due Year Four
FinanceLeaseLiabilityPaymentsDueYearFour
0 USD
CY2020Q4 us-gaap Lessee Operating Lease Liability Payments Due Year Five
LesseeOperatingLeaseLiabilityPaymentsDueYearFive
494000 USD
CY2020Q4 us-gaap Finance Lease Liability Payments Due Year Five
FinanceLeaseLiabilityPaymentsDueYearFive
0 USD
CY2020Q4 us-gaap Lessee Operating Lease Liability Payments Due After Year Five
LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive
1751000 USD
CY2020Q4 us-gaap Finance Lease Liability Payments Due After Year Five
FinanceLeaseLiabilityPaymentsDueAfterYearFive
0 USD
CY2020Q4 us-gaap Lessee Operating Lease Liability Payments Due
LesseeOperatingLeaseLiabilityPaymentsDue
11406000 USD
CY2020Q4 us-gaap Finance Lease Liability Payments Due
FinanceLeaseLiabilityPaymentsDue
2493000 USD
CY2020Q4 us-gaap Lessee Operating Lease Liability Undiscounted Excess Amount
LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
548000 USD
CY2020Q4 us-gaap Finance Lease Liability Undiscounted Excess Amount
FinanceLeaseLiabilityUndiscountedExcessAmount
22000 USD
CY2020Q4 us-gaap Operating Lease Liability
OperatingLeaseLiability
10858000 USD
CY2020Q4 us-gaap Finance Lease Liability
FinanceLeaseLiability
2471000 USD
CY2020Q4 us-gaap Operating Lease Weighted Average Remaining Lease Term1
OperatingLeaseWeightedAverageRemainingLeaseTerm1
P4Y4M24D
CY2019Q4 us-gaap Operating Lease Weighted Average Remaining Lease Term1
OperatingLeaseWeightedAverageRemainingLeaseTerm1
P4Y9M18D
CY2020Q4 us-gaap Operating Lease Weighted Average Discount Rate Percent
OperatingLeaseWeightedAverageDiscountRatePercent
0.026 pure
CY2019Q4 us-gaap Operating Lease Weighted Average Discount Rate Percent
OperatingLeaseWeightedAverageDiscountRatePercent
0.026 pure
CY2020 us-gaap Operating Lease Payments
OperatingLeasePayments
4426000 USD
CY2019 us-gaap Operating Lease Payments
OperatingLeasePayments
5020000 USD
CY2020 us-gaap Finance Lease Interest Payment On Liability
FinanceLeaseInterestPaymentOnLiability
2000 USD
CY2019 us-gaap Finance Lease Interest Payment On Liability
FinanceLeaseInterestPaymentOnLiability
0 USD
CY2020 us-gaap Finance Lease Principal Payments
FinanceLeasePrincipalPayments
154000 USD
CY2019 us-gaap Finance Lease Principal Payments
FinanceLeasePrincipalPayments
0 USD
CY2020 us-gaap Right Of Use Asset Obtained In Exchange For Operating Lease Liability
RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
1506000 USD
CY2019 us-gaap Right Of Use Asset Obtained In Exchange For Operating Lease Liability
RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
1921000 USD
CY2020 us-gaap Right Of Use Asset Obtained In Exchange For Finance Lease Liability
RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability
2523000 USD
CY2019 us-gaap Right Of Use Asset Obtained In Exchange For Finance Lease Liability
RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability
0 USD
CY2020 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
12100000 USD
CY2019 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
17500000 USD
CY2018 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
15100000 USD
CY2020 us-gaap Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
0.192 pure
CY2019 us-gaap Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
0.216 pure
CY2018 us-gaap Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
0.164 pure
CY2020 prlb Effective Income Tax Rate Continuing Operations Increase Decrease During The Period
EffectiveIncomeTaxRateContinuingOperationsIncreaseDecreaseDuringThePeriod
0.024 pure
CY2017Q4 us-gaap Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate
EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
0.35 pure
CY2020 us-gaap Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate
EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
0.21 pure
CY2020 prlb Increase Decrease In Income Taxes Payable Cares Act
IncreaseDecreaseInIncomeTaxesPayableCaresAct
-2900000 USD
CY2020 us-gaap Income Loss From Continuing Operations Before Income Taxes Domestic
IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
58551000 USD
CY2019 us-gaap Income Loss From Continuing Operations Before Income Taxes Domestic
IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
74841000 USD
CY2018 us-gaap Income Loss From Continuing Operations Before Income Taxes Domestic
IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
81893000 USD
CY2020 us-gaap Income Loss From Continuing Operations Before Income Taxes Foreign
IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
4394000 USD
CY2019 us-gaap Income Loss From Continuing Operations Before Income Taxes Foreign
IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
6352000 USD
CY2018 us-gaap Income Loss From Continuing Operations Before Income Taxes Foreign
IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
9762000 USD
CY2020 us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
62945000 USD
CY2019 us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
81193000 USD
CY2018 us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
91655000 USD
CY2020 us-gaap Current Federal Tax Expense Benefit
CurrentFederalTaxExpenseBenefit
2128000 USD
CY2019 us-gaap Current Federal Tax Expense Benefit
CurrentFederalTaxExpenseBenefit
6991000 USD
CY2018 us-gaap Current Federal Tax Expense Benefit
CurrentFederalTaxExpenseBenefit
-782000 USD
CY2020 us-gaap Current State And Local Tax Expense Benefit
CurrentStateAndLocalTaxExpenseBenefit
1136000 USD
CY2019 us-gaap Current State And Local Tax Expense Benefit
CurrentStateAndLocalTaxExpenseBenefit
2882000 USD
CY2018 us-gaap Current State And Local Tax Expense Benefit
CurrentStateAndLocalTaxExpenseBenefit
2078000 USD
CY2020 us-gaap Current Foreign Tax Expense Benefit
CurrentForeignTaxExpenseBenefit
1241000 USD
CY2019 us-gaap Current Foreign Tax Expense Benefit
CurrentForeignTaxExpenseBenefit
1544000 USD
CY2018 us-gaap Current Foreign Tax Expense Benefit
CurrentForeignTaxExpenseBenefit
1810000 USD
CY2020 us-gaap Deferred Federal Income Tax Expense Benefit
DeferredFederalIncomeTaxExpenseBenefit
6904000 USD
CY2019 us-gaap Deferred Federal Income Tax Expense Benefit
DeferredFederalIncomeTaxExpenseBenefit
5121000 USD
CY2018 us-gaap Deferred Federal Income Tax Expense Benefit
DeferredFederalIncomeTaxExpenseBenefit
11325000 USD
CY2020 us-gaap Deferred State And Local Income Tax Expense Benefit
DeferredStateAndLocalIncomeTaxExpenseBenefit
-431000 USD
CY2019 us-gaap Deferred State And Local Income Tax Expense Benefit
DeferredStateAndLocalIncomeTaxExpenseBenefit
269000 USD
CY2018 us-gaap Deferred State And Local Income Tax Expense Benefit
DeferredStateAndLocalIncomeTaxExpenseBenefit
538000 USD
CY2020 us-gaap Deferred Foreign Income Tax Expense Benefit
DeferredForeignIncomeTaxExpenseBenefit
210000 USD
CY2019 us-gaap Deferred Foreign Income Tax Expense Benefit
DeferredForeignIncomeTaxExpenseBenefit
-809000 USD
CY2018 us-gaap Deferred Foreign Income Tax Expense Benefit
DeferredForeignIncomeTaxExpenseBenefit
-430000 USD
CY2020 us-gaap Income Tax Reconciliation Change In Deferred Tax Assets Valuation Allowance
IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
890000 USD
CY2019 us-gaap Income Tax Reconciliation Change In Deferred Tax Assets Valuation Allowance
IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
1540000 USD
CY2018 us-gaap Income Tax Reconciliation Change In Deferred Tax Assets Valuation Allowance
IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
528000 USD
CY2020 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
12078000 USD
CY2019 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
17538000 USD
CY2018 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
15067000 USD
CY2020 us-gaap Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate
EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
0.210 pure
CY2019 us-gaap Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate
EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
0.210 pure
CY2018 us-gaap Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate
EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
0.210 pure
CY2020 us-gaap Effective Income Tax Rate Reconciliation State And Local Income Taxes
EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
0.021 pure
CY2019 us-gaap Effective Income Tax Rate Reconciliation State And Local Income Taxes
EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
0.021 pure
CY2018 us-gaap Effective Income Tax Rate Reconciliation State And Local Income Taxes
EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
0.020 pure
CY2020 prlb Effective Income Tax Rate Reconciliation Qualified Subsidiary Election
EffectiveIncomeTaxRateReconciliationQualifiedSubsidiaryElection
-0.013 pure
CY2019 prlb Effective Income Tax Rate Reconciliation Qualified Subsidiary Election
EffectiveIncomeTaxRateReconciliationQualifiedSubsidiaryElection
-0.005 pure
CY2018 prlb Effective Income Tax Rate Reconciliation Qualified Subsidiary Election
EffectiveIncomeTaxRateReconciliationQualifiedSubsidiaryElection
-0.028 pure
CY2020 us-gaap Effective Income Tax Rate Reconciliation Change In Deferred Tax Assets Valuation Allowance
EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
0.020 pure
CY2019 us-gaap Effective Income Tax Rate Reconciliation Change In Deferred Tax Assets Valuation Allowance
EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
0.014 pure
CY2020 us-gaap Effective Income Tax Rate Reconciliation Tax Contingencies
EffectiveIncomeTaxRateReconciliationTaxContingencies
0.014 pure
CY2018 us-gaap Effective Income Tax Rate Reconciliation Change In Deferred Tax Assets Valuation Allowance
EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
0.007 pure
CY2020 us-gaap Effective Income Tax Rate Reconciliation Tax Credits Research
EffectiveIncomeTaxRateReconciliationTaxCreditsResearch
0.037 pure
CY2019 us-gaap Effective Income Tax Rate Reconciliation Tax Credits Research
EffectiveIncomeTaxRateReconciliationTaxCreditsResearch
0.028 pure
CY2018 us-gaap Effective Income Tax Rate Reconciliation Tax Credits Research
EffectiveIncomeTaxRateReconciliationTaxCreditsResearch
0.025 pure
CY2020 us-gaap Effective Income Tax Rate Reconciliation Foreign Income Tax Rate Differential
EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
-0.008 pure
CY2019 us-gaap Effective Income Tax Rate Reconciliation Foreign Income Tax Rate Differential
EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
-0.003 pure
CY2018 us-gaap Effective Income Tax Rate Reconciliation Foreign Income Tax Rate Differential
EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
-0.001 pure
CY2019 us-gaap Effective Income Tax Rate Reconciliation Tax Contingencies
EffectiveIncomeTaxRateReconciliationTaxContingencies
0.011 pure
CY2018 us-gaap Effective Income Tax Rate Reconciliation Tax Contingencies
EffectiveIncomeTaxRateReconciliationTaxContingencies
-0.001 pure
CY2020 prlb Effective Income Tax Rate Reconciliation Provision To Return Difference Percent
EffectiveIncomeTaxRateReconciliationProvisionToReturnDifferencePercent
-0.014 pure
CY2019 prlb Effective Income Tax Rate Reconciliation Provision To Return Difference Percent
EffectiveIncomeTaxRateReconciliationProvisionToReturnDifferencePercent
0 pure
CY2018 prlb Effective Income Tax Rate Reconciliation Provision To Return Difference Percent
EffectiveIncomeTaxRateReconciliationProvisionToReturnDifferencePercent
0 pure
CY2020 us-gaap Effective Income Tax Rate Reconciliation Other Adjustments
EffectiveIncomeTaxRateReconciliationOtherAdjustments
-0.001 pure
CY2019 us-gaap Effective Income Tax Rate Reconciliation Other Adjustments
EffectiveIncomeTaxRateReconciliationOtherAdjustments
-0.004 pure
CY2018 us-gaap Effective Income Tax Rate Reconciliation Other Adjustments
EffectiveIncomeTaxRateReconciliationOtherAdjustments
-0.005 pure
CY2020 prlb Effective Income Tax Rate Reconciliation Transition Tax Percent
EffectiveIncomeTaxRateReconciliationTransitionTaxPercent
0 pure
CY2019 prlb Effective Income Tax Rate Reconciliation Transition Tax Percent
EffectiveIncomeTaxRateReconciliationTransitionTaxPercent
0 pure
CY2018 prlb Effective Income Tax Rate Reconciliation Transition Tax Percent
EffectiveIncomeTaxRateReconciliationTransitionTaxPercent
-0.008 pure
CY2020 prlb Effective Income Tax Rate Reconciliation Revaluation Of Deferred Tax Liability
EffectiveIncomeTaxRateReconciliationRevaluationOfDeferredTaxLiability
0 pure
CY2019 prlb Effective Income Tax Rate Reconciliation Revaluation Of Deferred Tax Liability
EffectiveIncomeTaxRateReconciliationRevaluationOfDeferredTaxLiability
0 pure
CY2018 prlb Effective Income Tax Rate Reconciliation Revaluation Of Deferred Tax Liability
EffectiveIncomeTaxRateReconciliationRevaluationOfDeferredTaxLiability
-0.005 pure
CY2020 us-gaap Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
0.192 pure
CY2019 us-gaap Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
0.216 pure
CY2018 us-gaap Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
0.164 pure
CY2020Q4 us-gaap Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Accrued Liabilities
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities
2155000 USD
CY2019Q4 us-gaap Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Accrued Liabilities
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities
1362000 USD
CY2020Q4 prlb Deferred Tax Assets Right Of Use Leases
DeferredTaxAssetsRightOfUseLeases
3598000 USD
CY2019Q4 prlb Deferred Tax Assets Right Of Use Leases
DeferredTaxAssetsRightOfUseLeases
3337000 USD
CY2020Q4 us-gaap Deferred Tax Assets Tax Deferred Expense Compensation And Benefits Share Based Compensation Cost
DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
3356000 USD
CY2019Q4 us-gaap Deferred Tax Assets Tax Deferred Expense Compensation And Benefits Share Based Compensation Cost
DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
3325000 USD
CY2020Q4 us-gaap Deferred Tax Assets Goodwill And Intangible Assets
DeferredTaxAssetsGoodwillAndIntangibleAssets
1693000 USD
CY2019Q4 us-gaap Deferred Tax Assets Goodwill And Intangible Assets
DeferredTaxAssetsGoodwillAndIntangibleAssets
1171000 USD
CY2020Q4 us-gaap Deferred Tax Assets Inventory
DeferredTaxAssetsInventory
172000 USD
CY2019Q4 us-gaap Deferred Tax Assets Inventory
DeferredTaxAssetsInventory
169000 USD
CY2020Q4 us-gaap Deferred Tax Assets Other
DeferredTaxAssetsOther
1790000 USD
CY2019Q4 us-gaap Deferred Tax Assets Other
DeferredTaxAssetsOther
1765000 USD
CY2020Q4 us-gaap Deferred Tax Assets Operating Loss Carryforwards
DeferredTaxAssetsOperatingLossCarryforwards
6647000 USD
CY2019Q4 us-gaap Deferred Tax Assets Operating Loss Carryforwards
DeferredTaxAssetsOperatingLossCarryforwards
6513000 USD
CY2020Q4 us-gaap Deferred Tax Assets Valuation Allowance
DeferredTaxAssetsValuationAllowance
9138000 USD
CY2019Q4 us-gaap Deferred Tax Assets Valuation Allowance
DeferredTaxAssetsValuationAllowance
8248000 USD
CY2020Q4 us-gaap Deferred Tax Assets Net
DeferredTaxAssetsNet
10273000 USD
CY2019Q4 us-gaap Deferred Tax Assets Net
DeferredTaxAssetsNet
9394000 USD
CY2020Q4 us-gaap Deferred Tax Liabilities Property Plant And Equipment
DeferredTaxLiabilitiesPropertyPlantAndEquipment
32671000 USD
CY2019Q4 us-gaap Deferred Tax Liabilities Property Plant And Equipment
DeferredTaxLiabilitiesPropertyPlantAndEquipment
26750000 USD
CY2020Q4 us-gaap Deferred Tax Liabilities Goodwill And Intangible Assets Goodwill
DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill
7858000 USD
CY2019Q4 us-gaap Deferred Tax Liabilities Goodwill And Intangible Assets Goodwill
DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill
5590000 USD
CY2020Q4 us-gaap Deferred Tax Liabilities Leasing Arrangements
DeferredTaxLiabilitiesLeasingArrangements
3598000 USD
CY2019Q4 us-gaap Deferred Tax Liabilities Leasing Arrangements
DeferredTaxLiabilitiesLeasingArrangements
3337000 USD
CY2020Q4 us-gaap Deferred Income Tax Liabilities
DeferredIncomeTaxLiabilities
44127000 USD
CY2019Q4 us-gaap Deferred Income Tax Liabilities
DeferredIncomeTaxLiabilities
35677000 USD
CY2020Q4 us-gaap Deferred Tax Liabilities
DeferredTaxLiabilities
33854000 USD
CY2019Q4 us-gaap Deferred Tax Liabilities
DeferredTaxLiabilities
26283000 USD
CY2020Q4 us-gaap Deferred Tax Liability Not Recognized Amount Of Unrecognized Deferred Tax Liability Undistributed Earnings Of Foreign Subsidiaries
DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries
0 USD
CY2020Q4 us-gaap Undistributed Earnings Of Foreign Subsidiaries
UndistributedEarningsOfForeignSubsidiaries
15800000 USD
CY2020Q4 us-gaap Operating Loss Carryforwards
OperatingLossCarryforwards
6600000 USD
CY2020 prlb Operating Loss Carryforwards Percentage Of Taxable Income
OperatingLossCarryforwardsPercentageOfTaxableIncome
0.60 pure
CY2020Q4 us-gaap Deferred Tax Assets Valuation Allowance
DeferredTaxAssetsValuationAllowance
9100000 USD
CY2019Q4 us-gaap Deferred Tax Assets Valuation Allowance
DeferredTaxAssetsValuationAllowance
8200000 USD
CY2020Q4 us-gaap Unrecognized Tax Benefits
UnrecognizedTaxBenefits
4800000 USD
CY2019Q4 us-gaap Unrecognized Tax Benefits
UnrecognizedTaxBenefits
4600000 USD
CY2019Q4 us-gaap Unrecognized Tax Benefits
UnrecognizedTaxBenefits
4598000 USD
CY2018Q4 us-gaap Unrecognized Tax Benefits
UnrecognizedTaxBenefits
4096000 USD
CY2020 us-gaap Unrecognized Tax Benefits Increases Resulting From Current Period Tax Positions
UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
324000 USD
CY2019 us-gaap Unrecognized Tax Benefits Increases Resulting From Current Period Tax Positions
UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
592000 USD
CY2020 us-gaap Unrecognized Tax Benefits Increases Resulting From Prior Period Tax Positions
UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions
475000 USD
CY2019 us-gaap Unrecognized Tax Benefits Increases Resulting From Prior Period Tax Positions
UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions
0 USD
CY2020 us-gaap Unrecognized Tax Benefits Reductions Resulting From Lapse Of Applicable Statute Of Limitations
UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations
567000 USD
CY2019 us-gaap Unrecognized Tax Benefits Reductions Resulting From Lapse Of Applicable Statute Of Limitations
UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations
90000 USD
CY2020Q4 us-gaap Unrecognized Tax Benefits
UnrecognizedTaxBenefits
4830000 USD
CY2019Q4 us-gaap Unrecognized Tax Benefits
UnrecognizedTaxBenefits
4598000 USD
CY2020 us-gaap Operating Income Loss
OperatingIncomeLoss
59836000 USD
CY2019 us-gaap Operating Income Loss
OperatingIncomeLoss
79856000 USD
CY2018 us-gaap Operating Income Loss
OperatingIncomeLoss
88898000 USD
CY2020Q4 us-gaap Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
282666000 USD
CY2019Q4 us-gaap Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
263712000 USD
CY2018Q4 us-gaap Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
228001000 USD
CY2020 us-gaap Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
47010000 USD
CY2019 us-gaap Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
62230000 USD
CY2018 us-gaap Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
87104000 USD
CY2020 us-gaap Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
32594000 USD
CY2019 us-gaap Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
30864000 USD
CY2018 us-gaap Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
26754000 USD

Files In Submission

Name View Source Status
0001437749-21-003413-index-headers.html Edgar Link pending
0001437749-21-003413-index.html Edgar Link pending
0001437749-21-003413.txt Edgar Link pending
0001437749-21-003413-xbrl.zip Edgar Link pending
ex_215172.htm Edgar Link pending
ex_215173.htm Edgar Link pending
ex_215174.htm Edgar Link pending
ex_215175.htm Edgar Link pending
ex_215176.htm Edgar Link pending
ex_215177.htm Edgar Link pending
FilingSummary.xml Edgar Link unprocessable
Financial_Report.xlsx Edgar Link pending
image02.jpg Edgar Link pending
MetaLinks.json Edgar Link pending
performancegraph.jpg Edgar Link pending
prlb-20201231.xsd Edgar Link pending
prlb-20201231_cal.xml Edgar Link unprocessable
prlb-20201231_def.xml Edgar Link unprocessable
prlb-20201231_lab.xml Edgar Link unprocessable
prlb-20201231_pre.xml Edgar Link unprocessable
prlb20201119_10k.htm Edgar Link pending
prlb20201119_10k_htm.xml Edgar Link completed
R1.htm Edgar Link pending
R10.htm Edgar Link pending
R11.htm Edgar Link pending
R12.htm Edgar Link pending
R13.htm Edgar Link pending
R14.htm Edgar Link pending
R15.htm Edgar Link pending
R16.htm Edgar Link pending
R17.htm Edgar Link pending
R18.htm Edgar Link pending
R19.htm Edgar Link pending
R2.htm Edgar Link pending
R20.htm Edgar Link pending
R21.htm Edgar Link pending
R22.htm Edgar Link pending
R23.htm Edgar Link pending
R24.htm Edgar Link pending
R25.htm Edgar Link pending
R26.htm Edgar Link pending
R27.htm Edgar Link pending
R28.htm Edgar Link pending
R29.htm Edgar Link pending
R3.htm Edgar Link pending
R30.htm Edgar Link pending
R31.htm Edgar Link pending
R32.htm Edgar Link pending
R33.htm Edgar Link pending
R34.htm Edgar Link pending
R35.htm Edgar Link pending
R36.htm Edgar Link pending
R37.htm Edgar Link pending
R38.htm Edgar Link pending
R39.htm Edgar Link pending
R4.htm Edgar Link pending
R40.htm Edgar Link pending
R41.htm Edgar Link pending
R42.htm Edgar Link pending
R43.htm Edgar Link pending
R44.htm Edgar Link pending
R45.htm Edgar Link pending
R46.htm Edgar Link pending
R47.htm Edgar Link pending
R48.htm Edgar Link pending
R49.htm Edgar Link pending
R5.htm Edgar Link pending
R50.htm Edgar Link pending
R51.htm Edgar Link pending
R52.htm Edgar Link pending
R53.htm Edgar Link pending
R54.htm Edgar Link pending
R55.htm Edgar Link pending
R56.htm Edgar Link pending
R57.htm Edgar Link pending
R58.htm Edgar Link pending
R59.htm Edgar Link pending
R6.htm Edgar Link pending
R60.htm Edgar Link pending
R61.htm Edgar Link pending
R62.htm Edgar Link pending
R63.htm Edgar Link pending
R64.htm Edgar Link pending
R65.htm Edgar Link pending
R66.htm Edgar Link pending
R67.htm Edgar Link pending
R68.htm Edgar Link pending
R69.htm Edgar Link pending
R7.htm Edgar Link pending
R70.htm Edgar Link pending
R71.htm Edgar Link pending
R72.htm Edgar Link pending
R73.htm Edgar Link pending
R74.htm Edgar Link pending
R75.htm Edgar Link pending
R76.htm Edgar Link pending
R77.htm Edgar Link pending
R78.htm Edgar Link pending
R8.htm Edgar Link pending
R9.htm Edgar Link pending
report.css Edgar Link pending
Show.js Edgar Link pending