0001628280-24-020115.txt : 20240503 0001628280-24-020115.hdr.sgml : 20240503 20240503060855 ACCESSION NUMBER: 0001628280-24-020115 CONFORMED SUBMISSION TYPE: 8-K PUBLIC DOCUMENT COUNT: 16 CONFORMED PERIOD OF REPORT: 20240503 ITEM INFORMATION: Results of Operations and Financial Condition ITEM INFORMATION: Financial Statements and Exhibits FILED AS OF DATE: 20240503 DATE AS OF CHANGE: 20240503 FILER: COMPANY DATA: COMPANY CONFORMED NAME: Proto Labs Inc CENTRAL INDEX KEY: 0001443669 STANDARD INDUSTRIAL CLASSIFICATION: FABRICATED STRUCTURAL METAL PRODUCTS [3440] ORGANIZATION NAME: 04 Manufacturing IRS NUMBER: 000000000 FISCAL YEAR END: 1231 FILING VALUES: FORM TYPE: 8-K SEC ACT: 1934 Act SEC FILE NUMBER: 001-35435 FILM NUMBER: 24910679 BUSINESS ADDRESS: STREET 1: 5540 Pioneer Creek CITY: Maple Plain STATE: MN ZIP: 55359 BUSINESS PHONE: 763-479-7474 MAIL ADDRESS: STREET 1: 5540 Pioneer Creek CITY: Maple Plain STATE: MN ZIP: 55359 8-K 1 prlb-20240503.htm 8-K prlb-20240503
0001443669FALSE00014436692024-05-032024-05-03

UNITED STATES
SECURITIES AND EXCHANGE COMMISSION
Washington, D.C. 20549
FORM 8-K
CURRENT REPORT
PURSUANT TO SECTION 13 OR 15(d) OF
THE SECURITIES EXCHANGE ACT OF 1934
Date of Report (Date of earliest event reported): May 3, 2024
Proto Labs, Inc.
(Exact name of registrant as specified in its charter)
Minnesota001-3543541-1939628
(State or other jurisdiction
of incorporation)
(Commission File Number)(IRS Employer
Identification Number)
5540 Pioneer Creek Drive
Maple Plain, Minnesota
55359
(Address of principal executive offices)(Zip Code)
Registrant’s telephone number, including area code:
(763) 479-3680
Not Applicable
(Former name or former address, if changed since last report)
Check the appropriate box below if the Form 8-K filing is intended to simultaneously satisfy the filing obligation of the registrant under any of the following provisions:
Written communications pursuant to Rule 425 under the Securities Act (17 CFR 230.425)
Soliciting material pursuant to Rule 14a-12 under the Exchange Act (17 CFR 240.14a-12)
Pre-commencement communications pursuant to Rule 14d-2(b) under the Exchange Act (17 CFR 240.14d-2(b))
Pre-commencement communications pursuant to Rule 13e-4(c) under the Exchange Act (17 CFR 240.13e-4(c))
Securities registered pursuant to Section 12(b) of the Act:
Title of each classTrading Symbol(s)Name of each exchange on which registered
Common Stock, Par Value $0.001 Per SharePRLBNew York Stock Exchange
Indicate by check mark whether the registrant is an emerging growth company as defined in Rule 405 of the Securities Act of 1933 (§ 230.405 of this chapter) or Rule 12b-2 of the Securities Exchange Act of 1934 (§ 240.12b-2 of this chapter).
Emerging growth company
If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant to Section 13(a) of the Exchange Act.



Item 2.02.Results of Operations and Financial Condition.
On May 3, 2024, Proto Labs, Inc. issued a press release announcing its first quarter 2024 financial results. A copy of the press release is furnished as Exhibit 99.1 to this report and incorporated herein by reference.
Item 9.01.Financial Statements and Exhibits.
(d)Exhibits
99.1
104Cover Page Interactive Data File (embedded within the Inline XBRL document)



SIGNATURE
Pursuant to the requirements of the Securities Exchange Act of 1934, the registrant has duly caused this report to be signed on its behalf by the undersigned hereunto duly authorized.
Proto Labs, Inc.
Date:
May 3, 2024
By:/s/ Daniel Schumacher
Daniel Schumacher
Chief Financial Officer

EX-99.1 2 prlb-20240503xexx991.htm EX-99.1 Document

Exhibit 99.1
logoa.jpg
logo1a.jpg
Protolabs Reports Financial Results for the First Quarter of 2024
Total Revenue of $128 Million; Protolabs Network Revenue up 39% YoY to $24 Million
GAAP Earnings Per Share of $0.20, Non-GAAP Earnings Per Share of $0.40
MINNEAPOLIS May 3, 2024 – Proto Labs, Inc. ("Protolabs" or the "Company") (NYSE: PRLB), the world’s leading provider of digital manufacturing services, today announced financial results for the first quarter ended March 31, 2024.
First Quarter 2024 Financial Highlights:
Revenue was $127.9 million, a 1.6% increase compared to the first quarter of 2023.
Revenue generated from Protolabs Network was $23.9 million, a 38.9% increase compared to the first quarter of 2023.
Net income was $5.3 million, or $0.20 per diluted share, compared to $2.7 million, or $0.10 per diluted share, in the first quarter of 2023.
Non-GAAP net income was $10.4 million, or $0.40 per diluted share, compared to $7.9 million, or $0.30 per diluted share, in the first quarter of 2023. See “Non-GAAP Financial Measures” below.
EBITDA was $15.7 million, or 12.3% of revenue. See “Non-GAAP Financial Measures” below.
Adjusted EBITDA was $20.2 million, or 15.8% of revenue, compared to $17.8 million, or 14.1% of revenue, in the first quarter of 2023. See “Non-GAAP Financial Measures” below.

"We demonstrated strong financial and operational results in the first quarter,” said Rob Bodor, President and Chief Executive Officer. "We are encouraged by our progress to-date and remain focused on driving profitable growth for the full year 2024. As we continue to execute against our strategy, we remain confident in our ability to increase the number of customers using our hybrid model and drive higher revenue per customer through larger orders in all services. We look forward to comprehensively serving our customers, driving growth and profitability, and increasing value for shareholders."

Dan Schumacher, Chief Financial Officer, commented, "Our results were driven by increased order growth relative to the beginning of the year as well as strong performance in our higher-margin Factory business. We remain committed to returning capital to shareholders as we repurchased $16.0 million of common stock in the quarter, equivalent to 85% of free cash flow."

Additional First Quarter 2024 Highlights:
Customer contact information
Protolabs served 22,466 customer contacts during the quarter.
Revenue per customer contact increased 5.3% year-over-year to $5,693.
Gross margin was 44.9% of revenue, compared to 42.7% of revenue in the first quarter of 2023.
Non-GAAP gross margin was 45.6% of revenue, compared to 43.4% of revenue in the first quarter of 2023. See "Non-GAAP Financial Measures" below.
Cash flow from operations was $21.3 million in the first quarter of 2024.
Cash and investments balance was $112.9 million as of March 31, 2024.

Second Quarter 2024 Outlook

For the second quarter of 2024, the Company expects to generate revenue between $122 million and $130 million.




The Company expects second quarter 2024 diluted net income per share between $0.11 and $0.19, and non-GAAP diluted net income per share between $0.30 and $0.38. See "Non-GAAP Financial Measures" below.
Non-GAAP Financial Measures
The Company has included non-GAAP revenue growth by region and by service line that excludes the impact of changes in foreign currency exchange rates (collectively, “non-GAAP revenue growth”). Management believes these metrics, when viewed in conjunction with the comparable GAAP metrics, are useful in evaluating the underlying business trends and ongoing operating performance of the Company.
The Company has included earnings before interest, taxes, depreciation and amortization (“EBITDA”) and EBITDA, adjusted for stock-based compensation expense, unrealized (gain) loss on foreign currency and costs related to the Japan closure activities (collectively, “Adjusted EBITDA”), in this press release to provide investors with additional information regarding the Company’s financial results. The Company has also included earnings before interest, taxes, depreciation and amortization margin (“EBITDA margin”) and EBITDA margin, adjusted for stock-based compensation expense, unrealized (gain) loss on foreign currency and costs related to the Japan closure activities (collectively, “Adjusted EBITDA margin”), in this press release to provide investors with additional information regarding the Company’s financial results.
The Company has included non-GAAP gross margin, adjusted for stock-based compensation expense and amortization expense in this press release to provide investors with additional information regarding the Company’s financial results.
The Company has included non-GAAP operating margin, adjusted for stock-based compensation expense, amortization expense and costs related to the closure of Japan (collectively, “non-GAAP operating margin”), in this press release to provide investors with additional information regarding the Company’s financial results.
The Company has included non-GAAP net income, adjusted for stock-based compensation expense, amortization expense, unrealized (gain) loss on foreign currency and costs related to the closure of Japan (collectively, “non-GAAP net income”), in this press release to provide investors with additional information regarding the Company’s financial results.
The Company has provided below reconciliations of GAAP to non-GAAP net income, non-GAAP gross margin, non-GAAP operating margin, non-GAAP revenue growth by region and by service, and Adjusted EBITDA and Adjusted EBITDA margin, the most directly comparable measures calculated and presented in accordance with GAAP. These non-GAAP measures are used by the Company’s management and board of directors to understand and evaluate operating performance and trends and provide useful measures for period-to-period comparisons of the Company’s business. Accordingly, the Company believes that these non-GAAP measures provide useful information to investors and others in understanding and evaluating operating results in the same manner as our management and board of directors.
Conference Call
The Company has scheduled a conference call to discuss its first quarter 2024 financial results and second quarter 2024 outlook today, May 3, 2024 at 8:30 a.m. EDT. To access the call in the U.S. please dial 877-709-8150 or outside the U.S. dial 201-689-8354 at least five minutes prior to the 8:30 a.m. EDT start time. No participant code is required. A simultaneous webcast of the call and accompanying presentation will be available via the investor relations section of the Protolabs website and the following link: https://edge.media-server.com/mmc/p/44qaaegi/. A replay will be available for 14 days following the call on the investor relations section of the Protolabs website.
About Protolabs
Protolabs is the fastest and most comprehensive digital manufacturing service in the world. Our digital factories produce low-volume parts in days while Protolabs Network unlocks advanced capabilities and volume pricing through its highly vetted manufacturing partners. The result? One manufacturing source—from prototyping to production—for product developers, engineers, and supply chain teams across the globe. See what's next at protolabs.com.
Forward-Looking Statements
Statements contained in this press release regarding matters that are not historical or current facts are “forward-looking statements” within the meaning of The Private Securities Litigation Reform Act of 1995. These statements involve known and unknown risks, uncertainties and other factors which may cause the results of Protolabs to be materially different than



those expressed or implied in such statements. Certain of these risk factors and others are described in the “Risk Factors” section within reports filed with the SEC. Other unknown or unpredictable factors also could have material adverse effects on Protolabs’ future results. The forward-looking statements included in this press release are made only as of the date hereof. Protolabs cannot guarantee future results, levels of activity, performance or achievements. Accordingly, you should not place undue reliance on these forward-looking statements. Finally, Protolabs expressly disclaims any intent or obligation to update any forward-looking statements to reflect subsequent events or circumstances.
Source: Proto Labs, Inc.
Investor Relations Contacts
Protolabs
Ryan Johnsrud, 612-225-4873
Manager – Investor Relations and FP&A
ryan.johnsrud@protolabs.com

Gateway Group, Inc.
949-574-3860
PRLB@gateway-grp.com
Media Contact
Protolabs
Brent Renneke, 763-479-7704
Marketing Communications Manager
brent.renneke@protolabs.com



Proto Labs, Inc.
Condensed Consolidated Balance Sheets
(In thousands)
March 31,
2024
December 31,
2023
(Unaudited)
Assets
Current assets
Cash and cash equivalents$92,804 $83,790 
Short-term marketable securities16,875 19,013 
Accounts receivable, net77,849 72,848 
Inventory12,823 13,657 
Income taxes receivable644 2,228 
Prepaid expenses and other current assets9,425 9,124 
Total current assets210,420 200,660 
Property and equipment, net247,798 253,655 
Goodwill273,991 273,991 
Other intangible assets, net24,407 25,584 
Long-term marketable securities3,257 8,019 
Operating lease assets4,185 4,628 
Finance lease assets893 960 
Other long-term assets4,852 4,856 
Total assets$769,803 $772,353 
Liabilities and shareholders' equity  
Current liabilities  
Accounts payable$15,256 $15,636 
Accrued compensation16,239 15,292 
Accrued liabilities and other21,216 16,872 
Current operating lease liabilities1,549 1,585 
Current finance lease liabilities299 296 
Income taxes payable3,877 — 
Total current liabilities58,436 49,681 
Long-term operating lease liabilities2,588 3,008 
Long-term finance lease liabilities519 595 
Long-term deferred tax liabilities16,482 18,742 
Other long-term liabilities4,468 5,032 
Shareholders' equity687,310 695,295 
Total liabilities and shareholders' equity$769,803 $772,353 



Proto Labs, Inc.
Condensed Consolidated Statements of Operations
(In thousands, except share and per share amounts)
(Unaudited)
Three Months Ended
March 31,
20242023
Revenue
Injection Molding$52,663 $51,948 
CNC Machining49,932 48,104 
3D Printing21,582 21,325 
Sheet Metal3,553 4,248 
Other Revenue160 234 
Total Revenue127,890 125,859 
Cost of revenue70,423 72,083 
Gross profit57,467 53,776 
Operating expenses
Marketing and sales23,160 22,451 
Research and development11,167 10,677 
General and administrative16,313 16,833 
Closure of Japan business— 66 
Total operating expenses50,640 50,027 
Income from operations6,827 3,749 
Other income, net899 1,290 
Income before income taxes7,726 5,039 
Provision for income taxes2,458 2,380 
Net income$5,268 $2,659 
Net income per share:
Basic$0.21 $0.10 
Diluted$0.20 $0.10 
Shares used to compute net income per share:
Basic25,624,94926,580,279
Diluted25,784,98726,605,787



Proto Labs, Inc.
Condensed Consolidated Statements of Cash Flows
(In thousands)
(Unaudited)
Three Months Ended
March 31,
20242023
Operating activities
Net income$5,268 $2,659 
Adjustments to reconcile net income to net cash provided by operating activities:
Depreciation and amortization9,103 9,388 
Stock-based compensation expense4,276 3,695 
Deferred taxes(2,247)(3,096)
Interest on finance lease obligations10 287 
Gain on disposal of property and equipment(22)— 
Other63 (46)
Changes in operating assets and liabilities4,887 9,691 
Net cash provided by operating activities21,338 22,578 
Investing activities
Purchases of property, equipment and other capital assets(2,587)(3,441)
Proceeds from sales of property, equipment and other capital assets22 194 
Proceeds from call redemptions and maturities of marketable securities6,984 7,630 
Net cash provided by investing activities4,419 4,383 
Financing activities
Purchases of shares withheld for tax obligations(533)(401)
Repurchases of common stock(16,013)(21,119)
Principal repayments of finance lease obligations(73)(82)
Net cash used in financing activities(16,619)(21,602)
Effect of exchange rate changes on cash and cash equivalents(124)134 
Net increase in cash and cash equivalents9,014 5,493 
Cash and cash equivalents, beginning of period83,790 56,558 
Cash and cash equivalents, end of period$92,804 $62,051 



Proto Labs, Inc.
Reconciliation of GAAP to Non-GAAP Net Income per Share
(In thousands, except share and per share amounts)
(Unaudited)
Three Months Ended
March 31,
20242023
Non-GAAP net income, adjusted for stock-based compensation expense, amortization expense, unrealized (gain) loss on foreign currency and costs related to Japan closure activities
GAAP net income$5,268 $2,659 
Add back:
Stock-based compensation expense4,276 3,695 
Amortization expense987 1,526 
Unrealized (gain) loss on foreign currency237 (71)
Costs related to Japan closure activities— 66 
Total adjustments 1
5,500 5,216 
Income tax benefits on adjustments 2
(354)(2)
Non-GAAP net income$10,414 $7,873 
Non-GAAP net income per share:
Basic$0.41 $0.30 
Diluted$0.40 $0.30 
Shares used to compute non-GAAP net income per share:
Basic25,624,94926,580,279
Diluted25,784,98726,605,787
1Stock-based compensation expense, amortization expense, unrealized (gain) loss on foreign currency and costs related to Japan closure activities were included in the following GAAP consolidated statement of operations categories:
Three Months Ended
March 31,
20242023
Cost of revenue$801 $808 
Marketing and sales833 692 
Research and development692 572 
General and administrative2,937 3,149 
Closure of Japan business— 66 
Total operating expenses4,462 4,479 
Other income (loss), net237 (71)
Total adjustments$5,500 $5,216 
2For the three months ended March 31, 2024 and 2023, income tax effects were calculated using the effective tax rate for the relevant jurisdictions. The Company's non-GAAP tax rates differ from its GAAP tax rates due primarily to the mix of activity incurred in domestic and foreign tax jurisdictions and removing effective tax rate benefits from stock-based compensation activity in the quarter.



Proto Labs, Inc.
Reconciliation of GAAP to Non-GAAP Gross Margin
(In thousands)
(Unaudited)
Three Months Ended
March 31,
20242023
Revenue$127,890 $125,859 
Gross profit57,467 53,776 
GAAP gross margin44.9 %42.7 %
Add back:  
Stock-based compensation expense459 466 
Amortization expense342 342 
Total adjustments801 808 
Non-GAAP gross profit$58,268 $54,584 
Non-GAAP gross margin45.6 %43.4 %



Proto Labs, Inc.
Reconciliation of GAAP to Non-GAAP Operating Margin
(In thousands)
(Unaudited)
Three Months Ended
March 31,
20242023
Revenue$127,890 $125,859 
Income from operations6,827 3,749 
GAAP operating margin5.3 %3.0 %
Add back:
Stock-based compensation expense4,276 3,695 
Amortization expense987 1,526 
Costs related to Japan closure activities— 66 
Total adjustments5,263 5,287 
Non-GAAP income from operations$12,090 $9,036 
Non-GAAP operating margin9.5 %7.2 %



Proto Labs, Inc.
Reconciliation of GAAP Net Income to EBITDA and Adjusted EBITDA
(In thousands)
(Unaudited)
Three Months Ended
March 31,
20242023
Revenue$127,890 $125,859 
GAAP net income5,268 2,659 
GAAP net income margin4.1 %2.1 %
Add back:
Amortization expense$987 $1,526 
Depreciation expense8,116 7,862 
Interest income, net(1,112)(350)
Provision for income taxes2,458 2,380 
EBITDA15,717 14,077 
EBITDA Margin12.3 %11.2 %
Add back:
Stock-based compensation expense4,276 3,695 
Unrealized (gain) loss on foreign currency237 (71)
Costs related to Japan closure activities— 66 
Total adjustments4,513 3,690 
Adjusted EBITDA$20,230 $17,767 
Adjusted EBITDA Margin15.8 %14.1 %



Proto Labs, Inc.
Comparison of GAAP to Non-GAAP Revenue Growth by Region
(In thousands)
(Unaudited)
Three Months Ended
March 31, 2024
Three Months Ended March 31, 2023
%
Change2
% Change
Organic3
GAAP
Foreign
Currency1
Non-GAAPGAAP
Revenues
United States$101,481 $— $101,481 $97,746 3.8 %3.8 %
Europe26,409 (907)25,502 28,113 (6.1 %)(9.3 %)
Total revenue$127,890 $(907)$126,983 $125,859 1.6 %0.9 %

1Revenue for the three months ended March 31, 2024 has been recalculated using 2023 foreign currency exchange rates in effect during comparable periods to provide information useful in evaluating the underlying business trends excluding the impact of changes in foreign currency exchange rates.
2This column presents the percentage change from GAAP revenue for the three months ended March 31, 2023 to GAAP revenue for the three months ended March 31, 2024.
3This column presents the percentage change from GAAP revenue for the three months ended March 31, 2023 to non-GAAP revenue for the three months ended March 31, 2024 (as recalculated using the foreign currency exchange rates in effect during the three months ended March 31, 2023) in order to provide a constant-currency comparison.



Proto Labs, Inc.
Comparison of GAAP to Non-GAAP Revenue Growth by Service Line
(In thousands)
(Unaudited)
Three Months Ended
March 31, 2024
Three Months Ended March 31, 2023
%
Change2
% Change
Organic3
GAAP
Foreign
Currency1
Non-GAAPGAAP
Revenues
Injection Molding$52,663 $(408)$52,255 $51,948 1.4 %0.6 %
CNC Machining49,932 (308)49,624 48,104 3.8 3.2 
3D Printing21,582 (187)21,395 21,325 1.2 0.3 
Sheet Metal3,553 (4)3,549 4,248 (16.4)(16.5)
Other Revenue160 — 160 234 (31.6)(31.6)
Total Revenue$127,890 $(907)$126,983 $125,859 1.6 %0.9 %

1Revenue for the three months ended March 31, 2024 has been recalculated using 2023 foreign currency exchange rates in effect during comparable periods to provide information useful in evaluating the underlying business trends excluding the impact of changes in foreign currency exchange rates.
2This column presents the percentage change from GAAP revenue for the three months ended March 31, 2023 to GAAP revenue for the three months ended March 31, 2024.
3This column presents the percentage change from GAAP revenue for the three months ended March 31, 2023 to non-GAAP revenue for the three months ended March 31, 2024 (as recalculated using the foreign currency exchange rates in effect during the three months ended March 31, 2023) in order to provide a constant-currency comparison.



Proto Labs, Inc.
Customer Contact Information
(Unaudited)
Three Months Ended
March 31,
20242023
Customer contacts22,46623,287
Revenue per customer contact$5,693 $5,405 
Proto Labs, Inc.
Reconciliation of GAAP to Non-GAAP Guidance
(In thousands, except per share and per share amounts)
(Unaudited)

Q2 2024 Outlook
LowHigh
GAAP diluted net income per share$0.11 0.19 
Add back:
Stock-based compensation expense0.15 0.15 
Amortization expense0.03 0.03 
Unrealized (gain) loss on foreign currency0.00 0.00 
Total adjustments0.18 0.18 
Non-GAAP diluted net income per share$0.30 $0.38 

EX-101.SCH 3 prlb-20240503.xsd XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT 0000001 - Document - Cover link:presentationLink link:calculationLink link:definitionLink EX-101.LAB 4 prlb-20240503_lab.xml XBRL TAXONOMY EXTENSION LABEL LINKBASE DOCUMENT Security Exchange Name Security Exchange Name Title of 12(b) Security Title of 12(b) Security Written Communications Written Communications Local Phone Number Local Phone Number Trading Symbol Trading Symbol Entity Incorporation, State or Country Code Entity Incorporation, State or Country Code Entity Address, State or Province Entity Address, State or Province Pre-commencement Issuer Tender Offer Pre-commencement Issuer Tender Offer Document Period End Date Document Period End Date Cover [Abstract] Entity Emerging Growth Company Entity Emerging Growth Company Pre-commencement Tender Offer Pre-commencement Tender Offer Soliciting Material Soliciting Material City Area Code City Area Code Entity Address, Postal Zip Code Entity Address, Postal Zip Code Document Type Document Type Amendment Flag Amendment Flag Entity Central Index Key Entity Central Index Key Entity File Number Entity File Number Entity Address, City or Town Entity Address, City or Town Entity Tax Identification Number Entity Tax Identification Number Entity Address, Address Line One Entity Address, Address Line One Entity Registrant Name Entity Registrant Name EX-101.PRE 5 prlb-20240503_pre.xml XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE DOCUMENT GRAPHIC 6 logo1a.jpg begin 644 logo1a.jpg M_]C_X 02D9)1@ ! 0$ 7P!? #_VP!# ," @," @,# P,$ P,$!0@%!00$ M!0H'!P8(# H,# L*"PL-#A(0#0X1#@L+$!80$1,4%145# \7&!84&!(4%13_ MP +" U '4! 1$ _\0 ' 04! 0$ P ! @0%!@<)_\0 M-! @$# P,"! 0%!0$ 0(# 01!1(A!A,Q(D$446%Q!R,R@192D:&Q M)#-"4W+!_]H " $! _ /JG2I4J5*FS4'. 3G%>?WG56L6>H7UN;FW*8C^$ MD-K@2AG 9P0Y!"Y /(YK;BUR]MDUNWN&@FN=/C[BSQH0KY3< 5R<'Z9^M9VA M]8Z@ZQ?&V\ETMT8UMY(;8Q9=D+N,,Q]*@>?>KEKUU$Y@3L37'SCN[FV>+?$T@@10Q/YPC!#9^HXH\G7UM#"[_ =TSQ*[3QJH M)A"R&,YYY]0/C/BNIC8ERN+>UCC:*4LLV&+%SC!W,223CBCSV=C#';22JB): M?[+.V G&W_!Q^]5HM!TR,B);>,$[&V@D$[&RI\^Q-13I[24/9%O&#C<(RQ.! MO#YQG^8 UGZ[T-::Q+^H01'<9$[08L6?>Q#9R"3GSD<^!731C((QG'THM+-( M$$XIZ8D5R6M6C6_4$U[/ICZM;2VO9B5$#&-N=PP? ;C)^E<_J72FI*NJWEC9 M"&=X(8%MC+E)8MI#1Y^A(P?F*T+?3);(WEM=:*VIS7$J2I8S MPL/S'(4@D8_3^KZ5>U"QUG4[?4;6=;UKB7@;2GP^S>N"OR;&?[Y]J+-8:_'W MXXY+AE7>D4NY>X5,R8Y_\;J>2QZA!FBCDG8@F..?8;APN,Y_IS5'4NK[#3=-TV^>2!K6SC8K\1,Z[68,1C .1XJQ;=1Z?-JO M'G'[T"RZFTZ]B$\,Z&WV,YE+ *H5MIS^]$DU;2F6"9[JU*R#=$[.IWV<@$>?-*W_ XAMKUIA/OA*XV,A9@>WV^#G&,>W]ZU).E5 MN]*TRQN9!(ED0&PF!*H0IC'MP1^]9!_#A38=B34)9IBH#SLN#*XD#!FQ]%"_ M84:+H-H(-L-ZL$Q@DA,B0C@N^[*Y\<\] ;H..+2S;VTRPW#2F22Y[?,BEB2AY\>UD MC#9XR>2*L/T'";6WABN3&\$.Q66(8+]P.&8>#R.0?8T.YZ'GO)[.2;45"P2) M*T,4 C4LK[_2 > >,YS3'H0=E8A>#\D,(BL7 )F$BY&?5R,'Z4_\!)+%.TUT M&GGCF1V6(*NZ21')4ZVR+[,NQC@GVY K!AZUN)(X7N+,(VV*81VTA.Z-T9@""/(V^!\ZA:_B!= M7<* V]M;32'TRW$NV!5V[L$_S>PHIZLO$N[WOJCPQ72+%';/EMG:+G.1R"0< M&I0=<7LXBBCM[.:>9TV/'.3$H8,0&..&&,'[TW4&O:C/H6B7VFYMYY[@/)$, M$.H5F9/'OM//FL^'K>ZFU:YOH'$FF301K90R^EVMHY8!(91),P1RDQB(CXY\9YQY%=S&VY?!' X'M1:5*E09HDD MQO16VY(R,XJE/I%M=7-I*Z$&V;=&JG"_IQR/?'MFB#2;+LM#\) 8=P?MF)=N M[YXQY^M2>VA61F[2;QM]6T9]P/;V_P#M-;V%M"F8K>*+G?A$ Y^? HHAC 0; M%PI](QPOV_J:&;.W,+1]F/M[=I7:,8^5-%8VVP1?#Q=L#:%[8P!\L8\4A86T M:A%MXE4:IZETU9:G.LDPD &,QQR%4<[LY91P3GWK66,8P<$"O_ !V0$! end GRAPHIC 7 logoa.jpg begin 644 logoa.jpg M_]C_X 02D9)1@ ! 0$ 8 !@ #_VP!# (! 0(! 0(" @(" @(" P4# P,# M P8$! ,%!P8'!P<&!P<("0L)" @*" <'"@T*"@L,# P,!PD.#PT,#@L,# S_ MVP!# 0(" @,# P8# P8," <(# P,# P,# P,# P,# P,# P,# P,# P,# P, M# P,# P,# P,# P,# P,# P,# P,# S_P 1" Y -X# 2( A$! Q$!_\0 M'0 @$% 0$ !P@& ,$!0D" ?_$ $80 $# P,"! 0"!0D$ M"P $" P0%!A$ !R$($@D3,4$4(E%A,G$5%B.!D3-"4F)RH;3!\!<9-$,8 M)"4F.453@J.RT?_$ !L! (# 0$! # @0% 08'_\0 ,Q$ M 00! @0$!0(& P 0(#!!$ !2$2,4%1!A-A<10B0I&Q%M$5(R0R@?"A MP>'_V@ , P$ A$#$0 _ ._"4A)^FOCB@I*N1Z:B.\.]=L['6XJJW-58E-BY M*$>:\X4QS,4%,2$^Q\P<) M_P#=C0EV!\*VJWG447#NM5)#2WU> M;,WQ'(/Q4=L(2/H/]Q&-1"G-5..VZTMMU#J0M"D*"@H$>H/T^^KV>X_;7,:E M;@[U^'-7TPJS&?J%L>8 AMY:I5-D<\EEX#+2CZX(21[C3B=-77Q9/4,\Q :D M_H2X'>/T=,4 MY7OY2O18_@?MK.G>'WV4>>R?,;[IZ>XS9TSQ5&D*^'D MNC M8I5W]#AWP,C(Y]M>24@@\$@<:B&_&X,C:S9ZX[CAL-2)-&@.S&FW<^6M2$D@ M*P0<'\]*=8W7YO9N1:J:S0=JH=5IA*QYL5+RDK*3A24X4>?35*'I;\A!=;H M;;D#\YH:CKL:$X&7;XB+H"]O\8[O6$+P%=I^;UP0?WZ]V]\=.2W&40E26RE/S*7VD+('X003I8TJ7Y MWD%(NKOI7?V]<;^H(9C_ !7$:NJZWVKOC,]P4..?RU2"$@^@TE=3Z_-U=CZG M"?W/VU;@4&8YY(E0O,2I.03C*EJ!5@$XXSC15WVZD[XI%$MN=M?9CM[0*S&5 M+=F(:66&FSV^6!VG/<>&N7_,M:-MO DU^"G,FGH2^9#(PDG*>[CA23^2AH MVV-U17/:FQ]9O+=:VVK0-.>\IB$A"_,D\ )P%*]5J( _(ZG(T.6P1QT>+D 0 M3BXGB>%(!*>( ;= M>=?3D@]JDN)"B"#GM0<:+?1[UI0^IN63C>(XC[P938*N1(J_;OA]) &E(0OA*E(0 M5 ''Y:47;[K\WMW6ME-7MW:^#5Z>5=GGL!Y2>X#D9"O49'\=3A::_)07$4 - MMR!^<5J6MQX3@:=LDBZ )/\ QCO+< XRG\LZ^I<2D>@__-+?TC]X5)I=T[1R8T"=)0R]4(J7&VXB%>JU%2E#"?N M=,S9=Q&YJ*B:J%+@%:EH\J2CL<':HIR1[9QD?8Z1*@N1Z"Z/L0?QEV!JC4S= ML$>X(_.)OXSRBFQK)(.,5&2<_?R?\M$_IUH=F=+_ $DT6\6J0W%7+H\:;/?C ML!6]Y24)0A"N5>V<>VM?5%2SX=:;BFBHJKU/2\\BRA'\?DK6!80D M@GIZX"[UZGMQ.J*ON4*S*?,IT%[*2U#.'^P\9>>]&QSSC^.F&MV^:-TF]/5& M8OJNT^GNTV*EAP^8IQ4ASN)[6Q^-:N?IZ_;2P;I^)'1K&IPM/9:WV&P5%E%0 M7&^52O3+3(^=U1_I*_>-1ZP^@B^NH&HO7MN_<3UOTH-*?>?J+Z?BPSC*OQ$( MC-X^N /7&0->:\-> 9$(G4==DGB5T_8?[[8LZ\Z72WIP+SAYGZ1A_P!@NM>G M=9^\%=M-FV6OU5CT=4KNJ*0MZ:?.2V,M\H",$G')R/4:7*F6#2MKO%,@4.B0 MT0*7$K3"F([9RACO9"U \X).0,X'TT:>@KJRZ?+KW_K^T^RB4UN?0:/^EJM M<,5 YTA]M3LA$6TH M"#L>NW/*VMQ'T,Q7)M*=+@W'3?EZXY?66>WI5OSC_P CDG'W[/72P='_ %>V MKTR]+EOQKE15?-GRIC[#D>,%H<"%H!'<2 .5#WTT'61ESI7OP)!*OT')XQDX M[#[:%'ACV72KHZ3Z2NI4JGU!R'4)26E2HZ'BT,I/RE0./;TUEPELC3%><.(< M8VNNF;&I-/KUIL1U<)\L[U?7!GT/4.J[H;T;H[HJILFE4.NPIC<4.)[?,+B_ M,Q]^U('.,<^NHUT#]2E"Z8=F[FJEP0ZU)@3KA3'0Y#92\&7/(3^+*D]N1^>G MZN^*U3K,JB&6D-)3"=PE"< ?LSZ ?3&DX\+&R*;?^S.X=*JL9$N'+JGDN(

%1D)*P".#@X!^VM!&HMR([[CJ:1\@KK0VV.93^DO1)49AE=N?.;JA9WS7=. M'Z6ZM^NH[J0:/-I5KT5LM)?D#M+Q0TIM*#[*42LDXS@)&=9'1&TF\_$$W4J\ M\>;*@*F!@K3@I EED$?DA/;_ U?Z!;LF]-G47=>S=#_ &DJUHI5TJZ%.ORY*W78DQ-J7GYSB9C;9< 0XH/%2?8=CA(4/4@ M\YU>DVMUZ.SU; ;]1SKWS-C)2AN/)=OY727/0_MC)>(/0(U?Z1KT,A*5_ P/ MBD=WLMLA0P?8GT_(ZP/#4J[U9Z0;;#ZBOX9V1&02>[Y$.D ?PT'>MGKTM3=S M9]^S+$?FUZL7*I$=7EQ%A+;60HCD94HX">W'HHGVTR'1[M;(V8Z=;;H,YL,S MXT?S92 ?PNN$K4/W9_NUAR&7&-+2R_LHKL \ZJKST\.0U)UE3T?=(11(Y$WR MQ;MC$#_>TW^#Z>2__AXVMWXQ-4>9VBM:"TYY3,^L%2\C@%#"RG(]\'G'VUIM MCD*_WM-^GM4 6'R,C'_(C#1+\4;9FH[J=/8ETEEZ1.MZ7\?Y30!66BVIMPI' MN4I458'KC5Y+R$ZI'6H[<*?QF:EE2M'E)0-^-1]Q8PU[26_$M;:^W:;%92W' MC4Z.A QV_LT\_Q]=*';$9%C^+W*C01Y;56B+<>2#@'OC]YR!]T#]YU,]C_$ MRV^8VC"2Y(%)*2!?4D[5WQLJ=&EJA MLQ-U!0-#Z0!N#VS(HW_C$3!G.(+O^":T[R1QKGY?>[%%V7\5*JW#<$A<6F1( MA0ZXE'F$%<1I*?E'.,Z86E^)=M)5:A'BL5Z4IZ6ZEIH&&L!2E*P!G\SI.LPG MW4,N-I) 0G<#;+/A_4HK!?;=<"27%4":S9^(%NJG:CI>N>4V[V3JFRFEQL*[ M5%3^4'M_K!'>H?EI1]V]DY6R/2#M/>\)(;K%!J*)TI83VJ_ZRH.(Y]A\B,Y] M,GZZ(GB3SW]^-_=OMIZ:\IOXI],J8M"?,\E3BNP+*AU;T]346(VEQ=%9LCN. M57TZYDZVE^?+?\MKB2VD!*@H !5WRPW;G7=&W"Z3ZU6XB_,BU6VWI;2A_16Q MW8_OTI/1OU)5GI[Z6:6JFV/5;P8J=3E]ZH#I'PJFTH^502VH\_7TU+.C3=LW MIT!WC193@7/MB#-B]J>B_JNN6_: M3:]=LT&Q?B M66ANO=\2WJE2ZG:E8F*2VPB8 IIY9'">\ 8/Y@<^^F6CN)4,X*4GZC&=25)\UM:3_2(0E"SD\#NUT7@HRTDJ)],< M^_WU@:Q!:82VXVDH*KM)-UGJ_#NI/R%NM.J"PFJ6!0.V)-XS;0_4"RBCC-3D MCGC)\D_ZQ[ZDFWE6M7K)Z)J?MM0[F@P*PS3H4*:R^U^WC^2IOO*63@J!"3@C MC[C3,[C;54'=FWW:5<5,AU6 ]D%M]O/:3QE)]4G'N.=)#O\ ^%C6K)J:J_M9 M59#CL8^:W!=D%J8P/HR]D=PX]%$'T^8^FM#3I,9^(W$<7Y:T$D*/+,C5M.E1 M9SDUML.-N)X5 3KEE MUW[&=5GBH]^ C2)@53:"PE++2NY>!W3'>Y1.1WX] $\Z M:78[Q-KLV=KOZN;JTF=*3$4&'IGDEJHQ<$ EQLCM<'W':3[9T2M^?%@M*T*6 MF+8<7]9:L\WWI>>08\2)W#)[@<+4KZI2 /OI'/)99 MR>U/RNG6 M,EVE0!,K2D_MJI, KXC]3FX9GHJ.58Y5&"8?=_32 MH#D8UY!(-<(-"^6?0_+3Q<9&_?.D@?C5JG)4A;4B)+;X4@A:'4*'J#R""#^\ M:U-E[=1"C)8#JL8[B$@9XQSC7.^D];EW]./0UMA^I MDJDU%%D;6TFOU>D*M^75'PAU)0TF5*2XTU"84VTOM6>]U2FU_(4IY*-Y=:^Z MU.N&_+H@JLL6)MY>U$H#U(=I[ZZC5(U03 \U7Q(="&W6OC04@-K"NTYQG&N\ M*P2 ?EP*$E076XY'&ZJ.UMM5:[8UPS*#2)59BJ2IB>[$09#&. 4N$=PP"??W MU:K]%M?=-N71ZHQ0Z^F*Z$/PY"&Y)CK*>Y(6V2KL7V\CN X]M+C2NMN[ZO9E MMOI;MR+4ZYO#4-O%J5'44,Q&G)B$.!)^Y>X=R%;E/LJ75:O51!GRD/K\AM_]N$J[,+<6A+#/:C*CSJ8+G/B- MCE^V0$=L)*>$4>?OC\65L#8^W,P2J!:MOTN0YE1>BP6VW#]^X#.IFE?;_5!' MR\A/2FJ@^]*EQDL-)#R%,,) M$-2G'];5 MBH4M,T.*"Y-4J_P $XEXI5^ ((*<#(]>1J,[K=1.XNPEY[A#X M*P)^X5-@65 >J[<"4S"F+J-3G,+!:4\HAII&%("5 ]RE]Q(*0F!"C14>62#: M " GGSQIJSTO;=7'5%3Y]E6S+J#F2Z\Y3VBM?//<0GD\_P!^IA;M"A6W3$1( M$.-!BL#L;99;"$( XP . /RTG%PXI8Y2>-%SHBZ@KKWD=W*I5W3+6JE1L.ZWK?9E MT%AQB//:;89<\PI<6O#F7"%!*B$XQDD:8MUU0I:B1VQ*(C*%<2$ 'O6$>]MF M["N"KKJ5PVU:\Z=+6EOXB=#96XZHCM2GN6.3@ >O'&K$/ISV[I\Q#[%CVJR M^RI*FUMTIE)2KU"DGM]1CV]])GXIEWR-_-\FMNZ72-P*LC;BWU7,T_:M%?J@ MAW*^?^Q_B T0$);#3KOS>O7#[JNY3>482#G7?->":XC7;_3G#"C%5EL7WH??& MPI.V$NFTVKQZL)+[5?>?C,2'W6I@6DQXW[8AA9:67"GY ML#C4+VH\0C<_^E3&+6EFP:K>TRTE0EV\Y'$..R^\P)OZ44_Y;KW?'4I;( M; "%8!)!5I9XSL3[>F/2TA(/ !OS]<;JU=KK.I<"4JA4.W6(=;2!)5$BM%N> MCYA\Y2,+&"1S]2-8 Z7MM$]W_<.T$X&,"DL ?_77/S8CK+W"VVZ?-MMOMOZ0 M\Z]0-NF[JER&[:=KJ)ZW)DMIN*KL?:$9L>0HK?)60'$8'U.]J]:NY%SW??E; MJ/ZA6/8NW-GTJX:FW5V)#TQJ1-I:I*F%/-.=J66G0DE00M2TD) !SIGF.@VE M1!]\2J%'6 E38->@QK[5LJC6/3?@J+2X5-B(& Q$CAI"<\_A2 "<:T]Y;#63 MN#.,NM6K0:E*W$V)W4M=^LT^DUBVH]L5EN MJO6U*H;LF+4)Z&5,)CJD%Q #H!2\5 K;[DJ0DG()&ZW7SN]:.\-X4BWZ%^GH M^UTJETJJM1[5>5'N*0['8=E._&&2E%/;P\ RDI>RI!RHYQKB5NI5QA1OOG3% M94GRE('#VQPK3VRLS9Z(XY2*)0K?;>4EMQ;$=J-YJR>T JX[B3@#/J3J54FH M1ZDSYC#[4A )05-N!8"@>1D>X/K]]<]>I#>_<'J#VRBW.NHV93;!8WAIEL1[ M>7#<-80859;9#RY/F]@>4\T5EGR\):Q\W=G706AT^)3XZDPV(T9AQQ;@2R$A M"BI1*E<>Y.OEY43C[ZF.JT9+ Q=OA[;-WS'I+-4L& MB2F*+2D4.*SEU#0@H)+<=:$K"7$())2' KM))&#J5S>F2Q*C1*W37[9IKL&Y M)T>IU-HI5B9)CI:2RZOG/<@,,@8Q_)IU/-5HO#!/_P!![:O_ &O.7Z;,I1NU MR<*K\?EW*)G;V_%);[_+0\4\*<2D*4."3KU=71)M=>=MTZDS[/IBX-)J4JKP MVVEO,&/*DK4N0XE3:TJ_:E:N].>U8)!&.-%;5:,,"]T^'ILW>=K4"B5&P:&[ M2[7:7%ID= =93%CK5W.1\H6DJ94HDEI94@Y.4G4DJ?2?MY6+E>J\FTJ([.?H M*K8<)8PT[3%)[3$4T"&U-=ORA)3P,@8!T1-5HO# [9W0)M%85)G0:79%+98J M@BIFEQQ]]V6(KX?C)6XXXI:@TZ I )PG P.-2JZNG"R;WN"I52K6Y3)]0JR MH"Y?)<6I2>."H^NIQJM%X8'>H7I'I>[MHW)$I*;?HU5N MZ;%FUB54: S6H]6,=ORVD2([Q 4$I" %)*5)[ 01K4=(G09:O2O =D,_#U:Y MI,Z9/=JB*>W3T,F3Y27&8\=K]FRP$LM@)Y)[&:.U]IZ!9MQU7*V\^6H\E/KDRZK1>&"*[N M@_:.^KPI5=J=A6])J5$8CQHB_(4AM+4?_AVUM)4&W$-?S$N)4$\8QC6;$Z,= ML8&\RMP6;/I#=W+DJFF<$KQ\2I'8J2&N[R@^4\%X(\PC/SIV+1GZ;:\=R'3&$>:R(T9Q7WYLI]B,#5RY.@O:6\+FI% M7JEDT>=.HD>-$CK>\U27&HV#'0\CO[) :(!1YX<*#Z$:+^JT88'[DZ"-HKOW M,DW?4[%HDN)<[7)2 F3Y86&_/ 2D>;V]Y QG&B395B4K;JVH5& >HL-JG4NG-!F-':![64 D]H)R<9)]3[ZV^JT89__9 end XML 9 R1.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Cover
May 03, 2024
Cover [Abstract]  
Document Type 8-K
Document Period End Date May 03, 2024
Entity Registrant Name Proto Labs, Inc.
Entity Incorporation, State or Country Code MN
Entity File Number 001-35435
Entity Tax Identification Number 41-1939628
Entity Address, Address Line One 5540 Pioneer Creek Drive
Entity Address, City or Town Maple Plain
Entity Address, State or Province MN
Entity Address, Postal Zip Code 55359
City Area Code (763)
Local Phone Number 479-3680
Written Communications false
Soliciting Material false
Pre-commencement Tender Offer false
Pre-commencement Issuer Tender Offer false
Title of 12(b) Security Common Stock, Par Value $0.001 Per Share
Trading Symbol PRLB
Security Exchange Name NYSE
Entity Emerging Growth Company false
Entity Central Index Key 0001443669
Amendment Flag false

EXCEL 10 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( !HQHU@'04UB@0 +$ 0 9&]C4')O<',O87!P+GAM M;$V./0L",1!$_\IQO;=!P4)B0-!2L+(/>QLOD&1#LD)^OCG!CVX>;QA&WPIG M*N*I#BV&5(_C(I(/ !47BK9.7:=N')=HI6-Y #OGDK7A.YNJQ<&4GPZ4A!0W_J=0U[R;UEA_6\#MI7E!+ P04 M " :,:-81]O^N>\ K @ $0 &1O8U!R;W!S+V-O&ULS9+/ M3L,P#(=?!>7>.FT90E&7"]-.("$Q"<0M2KPMHOFCQ*C=V].6K1."!^ 8^Y?/ MGR6W.@H=$CZG$#&1Q7PSN,YGH>.:'8FB ,CZB$[ED/ M=4"H.;\#AZ2,(@43L(@+D_"V@6XES]$SMW@)V30[9+JN_[LF_FW+A#!6]/CR_SNH7U MF937./[*5M IXII=)K\V#YO=ELF:U[<%7Q6\V55<\'NQJM\GUQ]^5V$7C-W; M?VQ\$90M_+H+^0502P,$% @ &C&C6)E&UL[5I;<]HX%'[OK]!X9_9M"\8V@;:T$W-I=MNTF83M M3A^%$5B-;'EDD81_OTV23;J;/ 0LZ?O.14?GZ#AY\^XN8NB&B)3R M> +]O6N[!3+ MUES@6QHO(];JM-O=5H1I;*$81V1@?5XL:$#05%%:;U\@M.4?,_@5RU2-9:,! M$U=!)KF(M/+Y;,7\VMX^9<_I.ATR@6XP&U@@?\YOI^1.6HCA5,+$P&IG/U9K MQ]'22(""R7V4!;I)]J/3%0@R#3LZG5C.=GSVQ.V?C,K:=#1M&N#C\7@XMLO2 MBW A(5M>5 TR M6'!VULS2 Y9>*?IUE!K9';O=05SP6.XYB1'^QL4$UFG2&98T1G*=D 4. #?$ MT4Q0?*]!MHK@PI+27)#6SRFU4!H(FLB!]4>"(<7K;YH] M5Z%82=J$^!!&&N*<<^9ST6S[!Z5&T?95O-RCEU@5 9<8WS2J-2S%UGB5P/&M MG#P=$Q+-E L&08:7)"82J3E^34@3_BNEVOZKR2.FJW"$2M"/F(9 M-AIRM1:!MG&IA&!:$L;1>$[2M!'\6:PUDSY@R.S-D77.UI$.$9)>-T(^8LZ+ MD!&_'H8X2IKMHG%8!/V>7L-)P>B"RV;]N'Z&U3-L+([W1]072N0/)J<_Z3(T M!Z.:60F]A%9JGZJ'-#ZH'C(*!?&Y'C[E>G@*-Y;&O%"N@GL!_]':-\*K^(+ M.7\N?<^E[[GT/:'2MSAD6R4)RU3393>* M$IY"&V[I4_5*E=?EK[DHN#Q;Y.FOH70^+,_Y/%_GM,T+,T.WF)&Y M"M-2D&_#^>G%>!KB.=D$N7V85VWGV-'1^^?!4;"C[SR6'<>(\J(A[J&&F,_# M0X=Y>U^89Y7&4#04;6RL)"Q&MV"XU_$L%.!D8"V@!X.O40+R4E5@,5O& RN0 MHGQ,C$7H<.>77%_CT9+CVZ9EM6ZO*7<9;2)2.<)IF!-GJ\K>9;'!51W/55OR ML+YJ/;053L_^6:W(GPP13A8+$DACE!>F2J+S&5.^YRM)Q%4XOT4SMA*7&+SC MYL=Q3E.X$G:V#P(RN;LYJ7IE,6>F\M\M# DL6XA9$N)-7>W5YYNTB42%(JP# 4A M%W+C[^^3:G>,U_HL@6V$5#)DU1?*0XG!/3-R0]A4)?.NVB8+A=OB5,V[&KXF M8$O#>FZ=+2?_VU[4/;07/4;SHYG@'K.' MYA,L0Z1^P7V*BH 1JV*^NJ]/^26<.[1[\8$@F_S6VZ3VW> ,?-2K6J5D*Q$_ M2P=\'Y(&8XQ;]#1?CQ1BK::QK<;:,0QY@%CS#*%F.-^'19H:,]6+K#F-"F]! MU4#E/]O4#6CV#30,9FV-J/D3@H\W/[O#;#"Q([A[8N_ 5!+ P04 M" :,:-8,BG/2$H$ !_$ & 'AL+W=O53^Z;2)1TCW_BW3T4,UI+]:)7C!GREF="CYV5,<6%Z^IDQ7*JSV3! M!-Q92)53 T.U='6A&$VKH#QS \_KNSGEPIF,JFNQFHQD:3(N6*R(+O.\&=C JZ9#-F_BQB!2.W5DEYSH3F4A#%%F/GTK^X"B(; M4#WQE;.UWCLG]E7F4K[8P5TZ=CQ+Q#*6&"M!X?#*IBS+K!)P_+<3=>K?M('[ MY^_JM]7+P\O,J693F7WCJ5F-G8%#4K:@96:>Y/H/MGNAGM5+9*:KOV2]?3:* M')*4VLA\%PP$.1?;(WW;3<1^@'\@(-@%!!7W]HZ ;XH4G)/""Z/MH M%P!JBJ"F""JY$*,@_US.M5&0IW_;@+8*4;N"+=X+7="$C1VH3LW4*W,FO_[B M][W?$+ZPY@LQ]-P5K@\/#!Z>?$8BHAHB.@XB9XC(E-R(ED/-6 M'ES)9J]*7U?^>C5:#Q6\$8:;#7EB2VXS"(R/-&\%PW5B)8TD]W2N3\B=2,X0 MM'Z-UC\&#=2D*J2BU@M.R,S Q!&IR%26PJ@-'--67ES\X1$A/*\)SX\AO.49 M(X]E/F_O1US#\_S3L!>%/81G4/,,CN%YIF_D+H5ZXPN>5-.&T.&*D7_J#\-A M/Q@@>,,:;W@,WF6:0I]#G>Q.R#T\1[Z(UBSBBKU>Y)$87I"!"4T58R_D6L%: M@<#Z7N.OWD_A3NT("N]9KD6K[^)R#[2 ,HDS6&\QO#W[]W\*KVX,:,57+I+6 MZ>S01+O";]8$'[7T']!BJ0W-R-^\.-BM'8J]7M@;8FS->N#CCEYE\1(^@PZC MX (?S_OA)PRE615\W,SO90*S$J^@?)$&[1")SH>G87_@843-8N#C+OY-<6.8 M@*G)\U+LS$.W4N%""YIIM N;1<#'C7HF,YYPP\62/$"!*TZS5AY0KS4I&/GAG ML)[:SRPR6U&%80?-.A#@QOVL:&K+;[;)Y[*U^#H$XJ?[*XRDL?P M^?W&2,W M;\F*BB4[^+'6(?3XU^P&(]K[^C_*Z6]RII9VCGX'!;.R_E%0T9K9#L&N:@L: MHP]PG]ZA3:$3%-CL'33!&_G,VJ%P*0^**HK"?A];@H+&]P/6QEO%DN7/ZZZ>S;"=I=67=A['-HN6/O.-%Q[I#)6,>=56R=M8SDK6W!2,EG>W&2)8D+38JT[=:=< M2PZFTVY#;VA2K"NCSY:4!H-?RA0GCTQNZ)9)L;=B6,N4D*=@7H+A8*2QQ'DJ M?$,78&F? KP(&K XU7=> M&18/QA<0&>7=J?$,:\M.B^4M/3L,/S[)WMB2VSG-@DZF8BUY!72LJ(_PZTR3 M .B<45XH!:N-9@.'R6,4?-@#E_(!6OBMNHK=5R3TXE,);2"PU4GTA$8QA D* MQ+^,%F)?A+W]K;"D$8_&?>S\;O2@?^^,X_>65Z(?]+Z:\V/1%WATUC3R]$&* M6BL>]O[+"8LUF_S(T5CQY+/!I!R\@5M*'KEUXG!I^6%9L^.]FZ:IKW#.RW^0 M\Y^M<\TUMTQ>DO:C_S=7^2V,D_'T7!S1JP,Z6PEY7>>9 ]IV03NA1 M.XJRY/K%.?7A'=O["_PJOE]?\HIUTNUF<$//\A=>BD[E\ZI[J,NXZBQ_AOMH MD\%G'!QR>(W?#$T%^@2O&+(=/EB>N$_NG_A.\SQ-LPRKZ'8;9;#%ZI9E M\!>/AG$##RP/9'I;K?%NXQ/R^AQ@/7UM0K"=XI.([12O-2#QNH%'GL>[C>4! M#ZP+V.Q _G@>F*FX3YI"5S%NV G&D3S'$)C%^(QF&5*=##[Q_F"G)$WS/(X M%F>0IA@"IQ%', ; 4/2='@//GL?)=-[*CG_5U/\!%!+ P04 " :,:-8 MEXJ[', 3 @ "P %]R96QS+RYR96QSG9*Y;L,P#$!_Q=">, ?0(8@S M9?$6!/D!5J(/V!(%BD6=OZ_:I7&0"QEY/3P2W!YI0.TXI+:+J1C]$%)I6M6X M 4BV)8]ISI%"KM0L'C6'TD!$VV-#L%HL/D N&6:WO606IW.D5XA-/E_G;@2=&A(E@6FD7) MTZ(=I7\=Q_:0T^FO8R*T>EOH^7%H5 J.W&,EC'%BM/XU@LD/['X 4$L#!!0 M ( !LQHUBJQ"(6,P$ "(" / >&PO=V]R:V)O;VLN>&ULC5'1;L(P M#/R5*A^P%K0A#5%>0-N0I@V-B??0NM0BB2O'A8VOG]NJ&M)>]I31=B;FJ19IZFL:C!VWA'#02=5,3>BD(^IK%AL&6L <2[=)IEL]1; M#&:Y&+6VG-X"$B@$*2C9$7N$2_R==S Y8\0#.I3OW/1W!R;Q&-#C%B/%*0:S;%4S.Y68R#/; @L4?>M>9_+2'V#-B#Q]6C>1FEJE@A1REW^CU MK7H\@RX/J!5Z0B? :ROPS-0V&(Z=C*9(;V+T/8SG4.*<_U,C5146L*:B]1!D MZ)'!=09#K+&))@G60VY6= ;N\N@#FW+()FKJIBF>HPYX4P[V1D\E5!B@?%.9 MJ+SV4VPYZ8Y>9WK_,'G4'EKG5LJ]AU>RY1AQ_)[E#U!+ P04 " ;,:-8 M)!Z;HJT #X 0 &@ 'AL+U]R96QS+W=O M[IFBG#S^0W1UW6E\./VR./ /,+Q=Z*E%9"E*%1KD3,)HMC;!4N++3):BJ#(9 MBBJ6<%H@XLD@;6E6?;!/3K3G>1,)KM\,<'AT_@%02P,$% @ M&S&C6&60>9(9 0 SP, !, !;0V]N=&5N=%]4>7!E&ULK9--3L,P M$(6O$F5;)2XL6*"F&V +77 !8T\:J_Z39UK2VS-.VDJ@$A6%3:QXWKS/GI>L MWH\1L.B=]=B4'5%\% )5!TYB'2)XKK0A.4G\FK8B2K636Q#WR^6#4,$3>*HH M>Y3KU3.T.EY&TWP39G 8ED\C<+,:DH9HS5*$M?%P>L?E.I$J+EST&!G M(BY84(JKA%SY'7#J>SM 2D9#L9&)7J5CE>BM0#I:P'K:XLH90]L:!3JHO>.6 M&F,"J;$#(&?KT70Q32:>,(S/N]G\P68*R,I-"A$YL01_QYTCR=U59"-(9*:O M>"&R]>S[04Y;@[Z1S>/]#&DWY(%B6.;/^'O&%_\;SO$1PNZ_/[&\UDX:?^:+ MX3]>?P%02P$"% ,4 " :,:-8!T%-8H$ "Q $ M@ $ 9&]C4')O<',O87!P+GAM;%!+ 0(4 Q0 ( !HQHUA'V_ZY[P M "L" 1 " :\ !D;V-0&UL4$L! A0#% @ &C&C6#(ISTA*! ?Q !@ M ("!#@@ 'AL+W=O7!E&UL4$L%!@ 0 ) D /@( .(3 $! end XML 11 Show.js IDEA: XBRL DOCUMENT // Edgar(tm) Renderer was created by staff of the U.S. Securities and Exchange Commission. Data and content created by government employees within the scope of their employment are not subject to domestic copyright protection. 17 U.S.C. 105. var Show={};Show.LastAR=null,Show.showAR=function(a,r,w){if(Show.LastAR)Show.hideAR();var e=a;while(e&&e.nodeName!='TABLE')e=e.nextSibling;if(!e||e.nodeName!='TABLE'){var ref=((window)?w.document:document).getElementById(r);if(ref){e=ref.cloneNode(!0); e.removeAttribute('id');a.parentNode.appendChild(e)}} if(e)e.style.display='block';Show.LastAR=e};Show.hideAR=function(){Show.LastAR.style.display='none'};Show.toggleNext=function(a){var e=a;while(e.nodeName!='DIV')e=e.nextSibling;if(!e.style){}else if(!e.style.display){}else{var d,p_;if(e.style.display=='none'){d='block';p='-'}else{d='none';p='+'} e.style.display=d;if(a.textContent){a.textContent=p+a.textContent.substring(1)}else{a.innerText=p+a.innerText.substring(1)}}} XML 12 report.css IDEA: XBRL DOCUMENT /* Updated 2009-11-04 */ /* v2.2.0.24 */ /* DefRef Styles */ ..report table.authRefData{ background-color: #def; border: 2px solid #2F4497; font-size: 1em; position: absolute; } ..report table.authRefData a { display: block; font-weight: bold; } ..report table.authRefData p { margin-top: 0px; } ..report table.authRefData .hide { background-color: #2F4497; padding: 1px 3px 0px 0px; text-align: right; } ..report table.authRefData .hide a:hover { background-color: #2F4497; } ..report table.authRefData .body { height: 150px; overflow: auto; width: 400px; } ..report table.authRefData table{ font-size: 1em; } /* Report Styles */ ..pl a, .pl a:visited { color: black; text-decoration: none; } /* table */ ..report { background-color: white; border: 2px solid #acf; clear: both; color: black; font: normal 8pt Helvetica, Arial, san-serif; margin-bottom: 2em; } ..report hr { border: 1px solid #acf; } /* Top labels */ ..report th { background-color: #acf; color: black; font-weight: bold; text-align: center; } ..report th.void { background-color: transparent; color: #000000; font: bold 10pt Helvetica, Arial, san-serif; text-align: left; } ..report .pl { text-align: left; vertical-align: top; white-space: normal; width: 200px; white-space: normal; /* word-wrap: break-word; */ } ..report td.pl a.a { cursor: pointer; display: block; width: 200px; overflow: hidden; } ..report td.pl div.a { width: 200px; } ..report td.pl a:hover { background-color: #ffc; } /* Header rows... */ ..report tr.rh { background-color: #acf; color: black; font-weight: bold; } /* Calendars... */ ..report .rc { background-color: #f0f0f0; } /* Even rows... */ ..report .re, .report .reu { background-color: #def; } ..report .reu td { border-bottom: 1px solid black; } /* Odd rows... */ ..report .ro, .report .rou { background-color: white; } ..report .rou td { border-bottom: 1px solid black; } ..report .rou table td, .report .reu table td { border-bottom: 0px solid black; } /* styles for footnote marker */ ..report .fn { white-space: nowrap; } /* styles for numeric types */ ..report .num, .report .nump { text-align: right; white-space: nowrap; } ..report .nump { padding-left: 2em; } ..report .nump { padding: 0px 0.4em 0px 2em; } /* styles for text types */ ..report .text { text-align: left; white-space: normal; } ..report .text .big { margin-bottom: 1em; width: 17em; } ..report .text .more { display: none; } ..report .text .note { font-style: italic; font-weight: bold; } ..report .text .small { width: 10em; } ..report sup { font-style: italic; } ..report .outerFootnotes { font-size: 1em; } XML 14 FilingSummary.xml IDEA: XBRL DOCUMENT 3.24.1.u1 html 1 22 1 false 0 0 false 0 false false R1.htm 0000001 - Document - Cover Sheet http://www.prlb.com/role/Cover Cover Cover 1 false false All Reports Book All Reports prlb-20240503.htm prlb-20240503.xsd prlb-20240503_lab.xml prlb-20240503_pre.xml http://xbrl.sec.gov/dei/2023 true false JSON 16 MetaLinks.json IDEA: XBRL DOCUMENT { "version": "2.2", "instance": { "prlb-20240503.htm": { "nsprefix": "prlb", "nsuri": "http://www.prlb.com/20240503", "dts": { "inline": { "local": [ "prlb-20240503.htm" ] }, "schema": { "local": [ "prlb-20240503.xsd" ], "remote": [ "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd", "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd", "http://www.xbrl.org/2003/xl-2003-12-31.xsd", "http://www.xbrl.org/2003/xlink-2003-12-31.xsd", "http://www.xbrl.org/2005/xbrldt-2005.xsd", "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd", "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd", "https://xbrl.sec.gov/dei/2023/dei-2023.xsd" ] }, "labelLink": { "local": [ "prlb-20240503_lab.xml" ] }, "presentationLink": { "local": [ "prlb-20240503_pre.xml" ] } }, "keyStandard": 22, "keyCustom": 0, "axisStandard": 0, "axisCustom": 0, "memberStandard": 0, "memberCustom": 0, "hidden": { "total": 2, "http://xbrl.sec.gov/dei/2023": 2 }, "contextCount": 1, "entityCount": 1, "segmentCount": 0, "elementCount": 23, "unitCount": 0, "baseTaxonomies": { "http://xbrl.sec.gov/dei/2023": 22 }, "report": { "R1": { "role": "http://www.prlb.com/role/Cover", "longName": "0000001 - Document - Cover", "shortName": "Cover", "isDefault": "true", "groupType": "document", "subGroupType": "", "menuCat": "Cover", "order": "1", "firstAnchor": { "contextRef": "c-1", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20240503.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "prlb-20240503.htm", "first": true, "unique": true } } }, "tag": { "dei_AmendmentFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "AmendmentFlag", "presentation": [ "http://www.prlb.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Amendment Flag", "label": "Amendment Flag", "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission." } } }, "auth_ref": [] }, "dei_CityAreaCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CityAreaCode", "presentation": [ "http://www.prlb.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "City Area Code", "label": "City Area Code", "documentation": "Area code of city" } } }, "auth_ref": [] }, "dei_CoverAbstract": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CoverAbstract", "lang": { "en-us": { "role": { "label": "Cover [Abstract]", "documentation": "Cover page." } } }, "auth_ref": [] }, "dei_DocumentPeriodEndDate": { "xbrltype": "dateItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentPeriodEndDate", "presentation": [ "http://www.prlb.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Document Period End Date", "label": "Document Period End Date", "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD." } } }, "auth_ref": [] }, "dei_DocumentType": { "xbrltype": "submissionTypeItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentType", "presentation": [ "http://www.prlb.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Document Type", "label": "Document Type", "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'." } } }, "auth_ref": [] }, "dei_EntityAddressAddressLine1": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressAddressLine1", "presentation": [ "http://www.prlb.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Address, Address Line One", "label": "Entity Address, Address Line One", "documentation": "Address Line 1 such as Attn, Building Name, Street Name" } } }, "auth_ref": [] }, "dei_EntityAddressCityOrTown": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressCityOrTown", "presentation": [ "http://www.prlb.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Address, City or Town", "label": "Entity Address, City or Town", "documentation": "Name of the City or Town" } } }, "auth_ref": [] }, "dei_EntityAddressPostalZipCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressPostalZipCode", "presentation": [ "http://www.prlb.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Address, Postal Zip Code", "label": "Entity Address, Postal Zip Code", "documentation": "Code for the postal or zip code" } } }, "auth_ref": [] }, "dei_EntityAddressStateOrProvince": { "xbrltype": "stateOrProvinceItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressStateOrProvince", "presentation": [ "http://www.prlb.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Address, State or Province", "label": "Entity Address, State or Province", "documentation": "Name of the state or province." } } }, "auth_ref": [] }, "dei_EntityCentralIndexKey": { "xbrltype": "centralIndexKeyItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCentralIndexKey", "presentation": [ "http://www.prlb.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Central Index Key", "label": "Entity Central Index Key", "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK." } } }, "auth_ref": [ "r1" ] }, "dei_EntityEmergingGrowthCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityEmergingGrowthCompany", "presentation": [ "http://www.prlb.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Emerging Growth Company", "label": "Entity Emerging Growth Company", "documentation": "Indicate if registrant meets the emerging growth company criteria." } } }, "auth_ref": [ "r1" ] }, "dei_EntityFileNumber": { "xbrltype": "fileNumberItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityFileNumber", "presentation": [ "http://www.prlb.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity File Number", "label": "Entity File Number", "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen." } } }, "auth_ref": [] }, "dei_EntityIncorporationStateCountryCode": { "xbrltype": "edgarStateCountryItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityIncorporationStateCountryCode", "presentation": [ "http://www.prlb.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Incorporation, State or Country Code", "label": "Entity Incorporation, State or Country Code", "documentation": "Two-character EDGAR code representing the state or country of incorporation." } } }, "auth_ref": [] }, "dei_EntityRegistrantName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityRegistrantName", "presentation": [ "http://www.prlb.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Registrant Name", "label": "Entity Registrant Name", "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC." } } }, "auth_ref": [ "r1" ] }, "dei_EntityTaxIdentificationNumber": { "xbrltype": "employerIdItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityTaxIdentificationNumber", "presentation": [ "http://www.prlb.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Tax Identification Number", "label": "Entity Tax Identification Number", "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS." } } }, "auth_ref": [ "r1" ] }, "dei_LocalPhoneNumber": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "LocalPhoneNumber", "presentation": [ "http://www.prlb.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Local Phone Number", "label": "Local Phone Number", "documentation": "Local phone number for entity." } } }, "auth_ref": [] }, "dei_PreCommencementIssuerTenderOffer": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "PreCommencementIssuerTenderOffer", "presentation": [ "http://www.prlb.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Pre-commencement Issuer Tender Offer", "label": "Pre-commencement Issuer Tender Offer", "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 13e-4(c) under the Exchange Act." } } }, "auth_ref": [ "r3" ] }, "dei_PreCommencementTenderOffer": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "PreCommencementTenderOffer", "presentation": [ "http://www.prlb.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Pre-commencement Tender Offer", "label": "Pre-commencement Tender Offer", "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 14d-2(b) under the Exchange Act." } } }, "auth_ref": [ "r4" ] }, "dei_Security12bTitle": { "xbrltype": "securityTitleItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "Security12bTitle", "presentation": [ "http://www.prlb.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Title of 12(b) Security", "label": "Title of 12(b) Security", "documentation": "Title of a 12(b) registered security." } } }, "auth_ref": [ "r0" ] }, "dei_SecurityExchangeName": { "xbrltype": "edgarExchangeCodeItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "SecurityExchangeName", "presentation": [ "http://www.prlb.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Security Exchange Name", "label": "Security Exchange Name", "documentation": "Name of the Exchange on which a security is registered." } } }, "auth_ref": [ "r2" ] }, "dei_SolicitingMaterial": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "SolicitingMaterial", "presentation": [ "http://www.prlb.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Soliciting Material", "label": "Soliciting Material", "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as soliciting material pursuant to Rule 14a-12 under the Exchange Act." } } }, "auth_ref": [ "r5" ] }, "dei_TradingSymbol": { "xbrltype": "tradingSymbolItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "TradingSymbol", "presentation": [ "http://www.prlb.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Trading Symbol", "label": "Trading Symbol", "documentation": "Trading symbol of an instrument as listed on an exchange." } } }, "auth_ref": [] }, "dei_WrittenCommunications": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "WrittenCommunications", "presentation": [ "http://www.prlb.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Written Communications", "label": "Written Communications", "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as written communications pursuant to Rule 425 under the Securities Act." } } }, "auth_ref": [ "r6" ] } } } }, "std_ref": { "r0": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b" }, "r1": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b-2" }, "r2": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "d1-1" }, "r3": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "13e", "Subsection": "4c" }, "r4": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "14d", "Subsection": "2b" }, "r5": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Section": "14a", "Number": "240", "Subsection": "12" }, "r6": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Securities Act", "Number": "230", "Section": "425" } } } ZIP 17 0001628280-24-020115-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001628280-24-020115-xbrl.zip M4$L#!!0 ( !LQHUA'.K007 X (=M 1 <')L8BTR,#(T,#4P,RYH M=&WM75ESVS@2?I]?@55V)TZ52?'20=G6E$>19U1);)>D;&;W90LD00MKBN2 MD"WMK]\&2.JR9%,>.SKBIU@$T$ W^O@:5TY_&0\#=$=80J/P[+VN:N\1"=W( MH^'-V?OS7JO3>?]+\Z?3ORG*'[]V/Z./D3L:DI"C%B.8$P_=4SY ?$#0MXC= MTCN,K@/,_8@-%25MUHKB":,W XX,S;#R:GDI:QA$JU=LXBAUHVXIEDT,Q=9U M2W&(A6W3=XVJKQW?-'#%="NX7E'L2L50+,NW%=LQ'<7V-:]"=+^*=>/8:]BZ MI?FN[VBZ95C$UAVS@CU;KQ*M:FBUFB?['7#@&?@.D\8XH.'M66G >=PHE^_O M[]5[4XW835FW;;LL2TM953KF"Q7'#@MD51I"-2+$4^8,AXG@'G.09QDXUA3- M4'1C1F0U#4/3S3E">?4'HYMKH)EE4>S@A.35QPE=Q0O4U9//_UTRBD/2#-F@:,(E=4JFGE:3C^>EE/23N1- MFJ<>O4,)GP3DK.31) [PI!%&(8$!T'%#5"0L_9-Z'@GEGU!^"0;$J)OV/^9= MXI^57 7X"/%04"*TT0ZANTD+1L=PT D],OY$)B5$O;.2KQAZJ:G!C%J66:W: MI^4%JAMT<@YV[ E;O@CP30FELCTKP7PT?#HFGN+C0*A6UJM1:EZFJIY2?X[[Z2\P''S1T3?M' M2=9KGB8Q!H5PF)BQ].^4R)14\Y1C)R Y12=B,#S%C8( QPEIY'^<]9L0I% MY8??[;IJ:ZN+-%67W\N2'LL+,[F8,2_)-L")$,!9"7SD(K/9\*$F\J*1$,8[ M&.%)C#T1?QL:TH%&WD%9'X42L(3H2 M??F@,6#I0QI,&N_[= AF>TGN43<:XO#]<0).%[PSHWY:,:'_(R!(Z$7^O$\Y MK0$=.3<9Y[HAI/SULM-O?T2]_GF_W5O4@;G![\IH>^W6UVZGWVGWT/GE1]3^ MH_7[^>5O;=2Z^O*ET^MUKB[7LC G_^H.R?\;3@:@13P*C]%'M:4"_JI8=A$N M9 >OST:]$!L75]TOJ'A4RP%J&N/3V 4>K*Y\>ABX=D82Q284%+3;ONRC;OOZ MJMO?-W6\_MKM?3V'X?>O$!A;'RP*Z2:ZZB*], GQ Q<-IR]:3' MP<^VHE'(V:05>8M.6"S&B(R4DYA%=X+.S/M:X'UI&$)>R?%:#\.]IT0\S6M^ MQ)FXH &!R@YXUDRJ%;&\H"MFQ3(K;U)]GE3[>-S)%F1.+(JZ6FI:N "*S MJT;]41D_X26R0"'#)63M2110;S%I+RQ?H+&MV"H= (H8BOB ,/3?$:.)1UTA M-[EB P&7SCN,#R^GAH"X9RXB6G6U8F^&=%X?,\E!/0[DGH^9 N(_$.]E M LZYYS&2)-D_GX&>G@>;6JE9J5@:N@85)^!>6XR06_21T3M2."W;<[&TX,\K MUH_NI]"Q+A+W&"SU.L T7);#\0;K" L=R4AVQ2#]O:-R4[$@DK6+(-ETO^(- M>169B.L()!W\F\9I0I$MO&K"%,S*PUW*'PYR96(2:QDQ U6E,0X0&1-WQ,$O MP&<(BB1Y0Q!+8@.%0D*C5F"$!QMNNO7(CMN&MKIIM8-:7)BM,O[\KF[HM9,$ M<1*0> #Q#(42LQV+!"$8":809@0#TQYIO+CV9M"LN (?+NP0(?4<)+W@7W4P MD5K5_+#L7S<(IY\CD-2UF-K%E%DW(&>NV8I9K6L%(N1!PO;B>_^'8?B7$4?G M<1S >$#06PK26Y7 T07@1\#LZ;X#DW 2?N(T>H/7\\5>0WA#0!T$X$0!3O+] ML&?FL55I#]M@MC4@[JT\O(EC@,B 2\2RD!.-D4."Z%XP*PJ%2%!=^81\&@A_ M3Q-P_IR$'@B!1R"'X2C@."31* DF*('4/O$GLF76(')@8M.,/TI)SFWGC( . M"#B97U.7JO:+[(>8*C5VF:[,6N]G:5J M%?,EO-WS$Z)5\7LC^/D-" OBR;--0]LL+G]CE(,QB!7!49@M;"4/\U GB@(' M@V9SL*]IC#5+S9_?V37+.OD+"_^O(<:7\C-2F)F(@(=Y&:%XQ)*1< '@1+HC ML%G+J&3N0/B!'N1&T)#".,Y=CH[T&FI==)%A:BI4+)(0U'<^'_B1#*4'F,"% M^0QOOD"8@5@3%+42ZX>PDIE\T# 3T$,3T2T,R'S.2MKC%(\LVH@%#EO6?#.3 M?3.3:T9$+!&'V^4Y1H&SV)7OB\RLF+E4?@AS 3DI[IR@GHPNNN4IQI'SH9CQ MI'7?S&?/S:>3)"/"GF%$U38$65U]RXOGD.>::)*&*2Z\[* M&C*=U:5#R1)7X+]0GEK=O31U[;&ZIQ? BI+2;<@N-TMM'QE5S7H\>RZV7"6, M<7F]ZE!6LOKBPF)Z=ML=(#? 25+ <_T(@F%8;EOT)D,G"HX*[;D]+1:6]G"8 M(KO,3F%+52*YOP?_=S^@\&7F))^Q9+QZB^?[Z.'V-C8W2)O38#31#4>:]!2A MU$I-@71@%GH\E-F674+[S8XI$@W09'!X/]5\1N M4Y.:0MNGCZ_L-J#MA)Z ] 0Y$^3*31\8UBUX;R+/_R[MR- $P1 A'Q COT$W M++KG Y$9Q&*7!B?((SYT(2_?I.NV6B7'P$N+MO!5MTT3'?W\3J_63M+%V[PV ME?=V8G%O1VRUI?F%X2C&"F(+249*U9I1%BHKI_.;)--*J13,?0WMZ=QW-]79EZ2;GEZZ[)-\PA/L\UYBU!1/C'?;5E&"GRJ)4]K MA;D_2>_NO_@P__)&'*5JV& DP.(LX8.W.&9#D'UKLR;8 3 PX@^;//5\QZ9O MB-2F;X@,ID*+\0U1'$;PK8)]<-8-'-SC22*X?]F'1M8<%5CT^>;T&C:X"< ^ M#<7-2P.M&C-7WKSN<#)&A:H;Z\JNZ6V6L2Y)1P.5Q MXRN(3]ER+D09=#$-0*T( J(H4)^'9[>'DJY"] 5/!/K33K*G "#]7;H"#S@V M&4$DQ1!4Q3MX7$/E?J"C-#39[O_Q;M1C?5RK+EI-^V% 6.O \;)@8OV/V2;%1# M;I3G,B]TH--X\SJ'XW56AW(1)%_1WTPSA!5\^?ZK\96.SR-N=H&^(;?+12T8 M$UX9F4EJ&"=;'R!:\?;FF(S'MJVK SZ4AP;FT ] H@?(RY/0YK2,]Y]9P)D' MP<=AS(9Y$%SDCY?AM1>I#L.WZYJUMU!RS8V9"$:#KO$- 4<'^2+HG;B]^Q%S MG#X$/9 MZ_QV>=[_VFT76C?7MK;*# %\LC@I#TL5D%L7 R"J&-)(='?! Q8,XKM.5G M[N!5L77Y0%75C)HWC)=85796QYWV/C MQXKV8?9^G;SFW&V#HW)2ABPAI"1 /7=4_(^GFO\'4$L#!!0 ( !LQ MHUACTQ@+: ( &0' 1 <')L8BTR,#(T,#4P,RYXDL_-=R] #2$4%7WB1'WH(>"5JRM<+[_;F"L^]\^5L=O8.X[N/URMT*:J^ M!:[1A02BH49;JC=(;P#]$/*>/A#TC1'="-EBO+2T"]$]2KK>:!2'<>I@SBN+ M&,)YED.)Y_$\Q6D.,?7=0KT1RRB_GZ!WI60.GP3&71(%#MY)5D[@QN!7H@U,JV$6)AXB6DM:]AJN M!DTNH2$]TPNOY[]ZPFA#H1X$9V DG0">N#61:]!?2 NJ(Q6\D7 Y0\AH0-M. M2(WX4=HH0I3G>; S77EHK]E*5$3;47A5!(O'YH@'Q9/(WZG:"_XJ[300Y4H3 M7L$IN8OP3?V1$[%]!9"4%>V.>@DZ*#J2FH)YN MC0VPD= L/#.YV$WMSTZ"/U3B("\23*_ N(<,H(:ML?VN#@VY$/JQ&T*HX1X8 M["7ZG_MGI#RU_X$"[,3&#?%F\"-:+[P+,;SW/61LM]>?CK]6;*8]T$5RL6IH M**=VVD+[BQ ^?!XPLJRSX#GV691>0?V5+^WY^8V.Y!'R!V)%6-6STWF'LEZE MC48GW+A8P72S]L]/ML\:]BN]G/T&4$L#!!0 ( !LQHUA:1N:Y @H 'U4 M 5 <')L8BTR,#(T,#4P,U]L86(N>&ULS9QO;]NZ%<;?]U-HV9L-N*Q) M2I3(HLU%E]L.Q7+;H$EQ+S8,!O\I$6I+@:PTR;_/LQGP0]=+K(B?W>"7L.30.>R4%E^_>[DV]5'0$]^/7WUZNU? M /CS'U_/@]\*>3?7>16' QXU5:E', 3IN7 MG16WCV5V?5,%&.)H/6S]V_(-UI 2I@6@F$8@8AH#AE $A(XX"U.)XQ3^R%EAD;Q;-D^>%Y%53];UY!;TCZI_ >ABHGP*F#"%Z M_;!0)Z>O@F!9CK*8Z:\Z#>KOW[Y^ZI5DDWK$)-?7]=_V0I=9H2XK7E;G7.B9 MR;Z)5CW>ZGV7>(?3Q$]Z0&9SRG9A' M4Z6SZ:66=V56/7YXD#<\O]:?^5Q/$8Q@2J4&G(O4+%WU<@21 &%*6<@C$HD4 M3:NG.3W5.?AVN99O-'8+G#@XJWH(+?6BN"OE)_W"6&EL++1\?5W\F)B7&CLX MK!^ ^D$SUWL#3K;^"N_+=9:\E'M*MAHQD879?]Q6H%6]M"SF=G:JPNX/N"R; M$3T)BE+ITNPI.PQT3B.$Q556S?14Q:G63"< "Y&8K9YY7Q!4)B#!<8B4X((E MV!6K=? C(]5H!$4:(/PW\?=@K>[.U%,Q['GRL>C&DJL[+YA>VA@$TE.PT2%Z M::,+H*TQ[O#\8>*8!>RLF,_O\FS942RFFLA3;IV M#W1'K&[49QU#:[O=3XNW)F1W?IUP6Y6U1 M-HO29<4K?5;%8H/:4RC@4T:XIBL#X*1Q)P1B5 #*&$,IBH5-F"8J%W M9'R6&02M%'X)FB1,U8)5(D&=B3U;-F7<3]R!B^/&X2'JX@2I@ULO=&WBCP:T M@]E-S%U>Y@O_>Z7,M%@T<;^4%V7Q(S-VIJ&B,218@ 11!*(X8H G1 --0@93 MD3(>63=KNX3&P7VEO3&AU_JND/>4RY;NX47PPMK#OP?,N\T-H+@G\,CX[K:W MS>V>\>[ 7I2Z[A^UB5)?[?ZT6-SI\JJ^4%!^25/3^Z@(IY! #HBNKUK'D $A M<=T2*AS%@IL=K[:%=I_8D<$U\D!NZ ?+!()E!D&3@CV[>RNWG]]#UL.-X4&E M<,+8UJ,7RGN#CX:SK$BE"9'T9KU/AR _W9.S% V,:E#+VD/;79?]I YVZX:GLU$G)'>: M\>*P.^)H\.TTM$G<[H'NF)T5/W3Y7BRJDLO*8AJUQA]O^C0RP7_60O\]S+3I M3-YKNK0CC39-.@UL3H_N ;Y=T(>Y+J^S_/J?97%?W9AW^EN>/TZ1DH+B. 8P M9-KLIS@%@E$%H"(A4A C#*W/U'?HC-,#K:6#I7:P$G=M@+HK9=O_#/;OU?ZX M6O?H?78:&]#Z=,<=N?/9:6Z[\=D]?'#?L[EOURI5L28$\(1A$!&A 8G]CK'*3)&=3>_)S&YN@=S9%ZF?^'+L:M?SE,YW)9S#*950;U MW\W>K,RXF6-,A0D6'%!1GQOJ2 &&H RD@@1S)2.$NO;I+;"'QG$9\%@K>AP MD]1V,?9C-\RB&VXN[MQNDNHUX7>;U':X\6Z4ZK72NE6J?Y1'7U(?%9::-U>) M2)HD*1(*D%00$'$6UU>E,8A90K39=J9F2VJ+SV;@(X-SUAPR&RW'"V MC9BS<_^K4)W&AE^#:H?].5>@.JWU7G_J'NU_3'UE7CI5G.@PC2%(-&$&QU MBB+3?#$24:15S#1Q/9VN X]U*%UKN9]$-];M#Z!=#7F>.^_TXG78O)GXH#/F M)M#H1\N;Z7>=*+=^[P[">Q-#U7$^SOCU5*6$(T5#P'4(0229!@+I&*1$1APF M5,18V)+0BGQD%)ZT@EK,GH6V^_TP>'MRH\'2CA,.G:E[\=".-!H0G08VB>@> MX+MQ.S.!2C[[E"O]\"_].%6,Q69K)H#"(C+-#$\!I_5'*2F7$&H)PD;]7$\1O!S M/>P,P<(D$YQ MX>MH*^K/64F[C/6NI9V#?;'\JJ^S^K;'O&K^MQ$+4RYYG 4:PHB%9F=+"4, M))"+4,.4.'R0N4M@'!B?-1W_WU-G36SI\W?J!9ZM20_OKP8 M -8P 5 <')L8BTR,#(T,#4P,U]P&ULU9K;H.;00Z(" BP0LJ2WWP8DQI8E)UB!58)O> & MZ)Z_/_;T-/CFA]MU.?L$S;:HJ^,Y.Z3S&52ACD6U/)[_>O6.F/D/)P<';_Y! MR.___G Q^[$.UVNHVME9 ZZ%.+LIVM6L7<'LM[KYH_CD9I>E:U/=K DYZ2\[ MJS=W3;%]7_UJ_9-T=TW\AN&.D.$91!L,/;;9R? M',QF]W(T=0D?(,VZ]U\_G#\RN6E*?QCJ]:([N3BK$09TL[^LO=O \7Q;K#@0B93(I(Z?+&4$BNS M2#3WSB@MG4CV\70[=[?H;R_^%L+ALOZTP!MC$+CH/G1:W.OPQ-R])B_S>_=K MN\*Q.:5 P^&.!T5D4I;XE0$XFV,G(N8C*>CW/[2VF.OOXSE:1-F=1.AP72Q M,^>:\"2NCT%]&+'8N 9O1,*J*./NZM34ZWW$JJWWH-Q]6-#=^0QGG:!I(%[< M1^6;D^MGUF(2A7[D/B)^"4U1Q[=5_!&S;&Z8!L,\)\YYS)$J88[$[$BB#CQ! M$*"$WTOH'YD=Q "?/@,OU_*587A;M45[]P&61:=$U?[BUI ')3T349"(:R61 MH -QF8I$A>1$M :HEZ-8>,[J(!3$=%$8K>0D2#C'RJS9U$TO_$?4'\[JZZIM M[L[J"#E76@2+64Y Z JIP(CGBA,#R1@MI8\N[ &,OW1B$"=RZISL3^=)8/.N M*.&7Z[6')D=5<"F40##/H>\!(B*?@"3#&% 5(A;3>V#DL\5!0&13!^*%"DXB M^E?N]CRB5D4J[C<<#Q/A6BAJ,TITH*B(IU@/.VDX#D-$8,P?;A#;=KP')IHX\":R2N RZ/K"N8N>Y$DI(G'2V58@^ M/&-Z$!QZZG",U71*8)SAQ_?-57U3Y=QEV@0A<#-E/)%"*6($" )&XU*810V6 M[P^+SX8'06&^$RA>J.>4D.CKHO?-95-_*JH .4N.1I8T,8;B)CL3AE@5/ $) M+NA,93S;8[KXROH@..QW L<89:=$R&6];5WYWV+3E\U>8G%LHB2:@B-2VXPX M[BT1RB3.$D=I]K$]><[VL&86_4[P>+FLKPQ'E_1.&W"]WUK$%+C7)&,L$)DD M^HU+(\&]M_%*!L,XC,+A2VO# )AP._/%TKURR+N''.7EJJYVVR<7.$XQ!H*3 MM9C+G"?&8V7,,YX ,YF1;%SO_6N+PT(_X2[F* E?.?R_-47;0G56K]?7U<,6 M:9LKB_A&9HFUGF,1C/P:9G!1,UEFO.;:)S.*@6?-#@-APCW,\6*^,@T?Z[(( M15M4RY^QP&D*5^81IQ],K0W#90$QVK,=I%&8JS"2HBJ&(*A MC/%QS\#_SH-AH$RX<;E7B5][08%PC8OB'>/^JFA+R U-GFNA2>(!2R.).V63 M"4:4ET*F+*."CMM4?&UQ& X3;E6.DO"5PW_5N.Y_:A_OUKXN >8G)C0>% M"ABMB&6>$6^"%BHXKK)Q5>4C<\,"/^%VY,O%F\B/_NUM6+EJ"?VC?*NM94P% M$C*+!1!3CEC%#%'"*1#.<3FR='C.ZC &)MQU'"WE)+J-;]?0+!'E_S3U3;O" MQ6WCJKM>8XES^Q/Y,H>&1N M6/0GW(5\N7A[B_J;Q1/Q+O# R<'#B>ZE^QO\R<'_ %!+ P04 " ;,:-8 M;VL"/6LU !=E 0 & '!R;&(M,C R-# U,#-X97AX.3DQ+FAT;>U]:7/; M1M+P]_=7S"MGLW(5B. &(3FN/R3!9)HA3=$,].\X^1;P*-P>_%,FCV$^.>+61 -IIB\_\HPY]GU?>!GTRM54?YQ0>][_6H< M1QF\+(&'BX_%&(]'2-$/_F[L)S!?%8\HQZ^QI33G)BA<,B8YX%63P-J\& M#'Z/,[K:.QSEF*SK!\ N^A2$81!'/[XPG6NT!--GG-V#C%C/HN M0ZE+$6<22)\^?/[\[LV7WSY^N$755(\[#V/K/'Y\,=14]?HT4]@."O3)??CQ MA6HIU[I4J#\, *38:^@C;#8)?8@\&5W^^$(WKA=;D'Y#)4^B7V[B&0B.!_KY M);K\_)_;=[!MAS#4UX^_O)3HC;!I0Y^^PKY.40@:'%$&YTE\%_@%-_.#"=DI M"!:2CUTORQ-R!RSF+O PS"6+??MU24 I9RDV_@>& M",DPZ3EIFQ) 70!?EXK&(,3C[$JW*G$5P)*C[&J@#D^ A-V[0K-.Q":V36$= M-JHAFP06E?B[=U,B+FW90;-"[DG(1:IL_0,%$3&\4@R*'6S/!/8 ;.O'VZ/0 M(_3=FT'@IB5N)CC"";5\QTD\VZ+#4.0!Z-=PIP]E1R#O;,@#W!#@Q[-R;YFR MOL0.R!>JB*$YP-X/PIP@-R7:E[2&J!\TV=Y\2MWZ5! )K)X"JY7>'&V@5P6- M>1-3QO/X7>.WQ5-Z<_RB6TPT*("8$,7! MB.+=+Q]^?_NFI -S8\>JFJS_@V J*;BY0-9YD?7&_S-/R<9:Q9H&S'@=:Z8\ M7,7:QK95;7FX?K\AJ^OWGV##[O0I+ZZ='N=@N?T;(Q_/XBC-"J4%_L9@@"W- M+#?R43S'A3FR8G9M YE4P2!U Q^F.$*_Q'Z<2* %X30@1$Z'NYD&>(S>?<=> MG@5W&/TV'H.QE\BHFA%Q;&#@UWGB3F!.HP<$'XG9.(%Q4D#JP(?)TK$2/'-A M*N/8RU.X-8Z0GP1WI94Y#@J/]B2)[[/ITE+,PQ ]8+*LH!H M<$ SF,X-WC"!P6%]Y/4%A"8/$KFY?"T\,R[6!5_(3>XH"(/L@8RQ4.;(*Z-\ M-BI("N:9@2!*TO)DA#PU?1@E +!9[.,"X&0-&$T!6?!02:54T%1/PZ!)G$^F M* 2;B@Q,?/44*2ZLK3*?903 #./X&UGZO9O0_4#V1H*G.$KA'>%#<7,YD<7D MI 482]B16540I4N4Z$_E(LF-=VX(DR0PIE)P&H=D2C+%*0>[X:T;H5MOFL]< M#X NE42ZW.8ED5+>0@ZFL"\5]/I;GBPVQ3T&RJ7(BPC55B3@%_BI8)G@T*6$ M7VKW(PQF<41Q,*8_4-ITR7" 3/A;;DH@ OK-3#%;T5)#(H+&OTJ^MEOFY3"):D7\D< MD]@R1)0,XCN0$52H$'W8E"Q'N!D.QWW>)S$HI:4()A:*81!GWBY[Q-!D>_7J M,\:'P-/!W4&31P@SB>M\)\)TV6B L,):!,WF25N1G*8);\&!U8!*LRQ<[PNK M-2W]!NK2J_L4#I\X(A0H:8.2PE"\PVE&#*<4C=R0VC"%#T[5EFY58G8 $FH= MV_)D)]S"KP"$->O@MSPCICE3Z]I.6[^6?I.T6,7&;BE.^LMH (2_SS'1 (%O M5B=A"[XYPMD]!LOX!U73EAB/B&FI+RS+9HC>""RCT9SS.*5&V55E9S^*[UR& M.-+8,V7Y""BW,7'E-PT)+?Z=)DM&,<&#$2ABWP;N&(!UY8;W[D.Z_OK]PU#/ M0P^_;\'W!FU0"J].15:.7XC*2OT,2V)09%4MJ ^.85;*:I$9]TA@'[*(?3A M 44P"R$A*XK+XU4P,_/G*67J$O^D%^8D,&>!X(HWE*ZQT0/\,JGXPNBAU -@'<1>>08C3#61)XJ83NIT". M=P&^QT3B$9OLSSSR"&=!]P$LCTRY4"VI7YJ^;O$P(>D\Q>,\),]BXD\%]E6: MT84P>2!?*^\>RF!U?EIXZ*-)3!V(A$ :E M%PX00 $,8-M*,3N8^!/LI*D945B7F[)WVV_5&PB>9D!58(G"A#3(?*G:! 2TF/]BI-((H)/>1B.S MI1%"EQ:3J Z:1T&F1^@/H$N-A32C\@S^+TT)O,,Z(+>LF!(519>FR&)F9!O# M8T'L ]D-BD\E,(*T1.^V&2^#$=Y02,#KR:Y;=1JMF%-@X&4[0+,QL=5]1<-M MJ@U([2$8I(B'6<*"K'L%'.OFTD984^K.,(%UA&D@!@FU>!;R[.S6[6Z$FS@: M8\(K ?!N&#(SVWJ\)?6FV,]#LL-HV%6Y$H_$.P'Z_2#U<@+B=Y)J-W;W^'[1R3?4Z-\FDYJ9*2 M_I!O930OY(5/)C"T[8&M.(.A:BHD&A%>2&+CEC?3NS1%'5A#N$LWZ3O) !DL MXP[(,HCRC.Z'($XJ(?=H3H O6!7* "@I BPHUS.+=T;<,L(F,F=&X24 M.=X%;N&B*3=F&?9$.$6*"Y](.?PRK@#>FP9E9!\]G@%!'=^3EP&!?"O2RZ99 M-B\":GY\8=C%/]B?8'F& 7(#&IJ0R#!/>F4V\^C?.?W7,/YR71 ,] M9=8)) M*ON6V8]IG"@"&DA79K$ 1ARU71OK7.+-" AR.6UF9KN=2RS!&Q1;;PQD"RBA M%$3E]EJXX]/IAM66I5F+,B*!?=7]8QI9%Q12R,^)0S*^']S%84X\TFY22 Y* M+??3(,1;\G[R* 0=&!B/?^?25$8/E%$:2TF&)?.MADM@GU)B*T(\"4LC<7Z@ M>]QA&L&W/GOR^HB$6E)?3,'??GQAZ=?HMPAOKA0DF4?U6E6[IJ>D][1OC:O((3V;&L[XU?BRC:P4<0$ 1>M\#\J$; M^C993K2($X(;_!TVS=)$ =TJ(TH45D2@.1787QE='M4>BN MI3%5QAL/PA)2Z6("58@XT87+_08:7A7]^CMEF<$=T59O,0Q?[(Z/\&=2")JO MQ)$X UV22B?5<GAA,!AL?FH MQECN<[J)O2E "C:S"K2E. M+&L5SCG3OLBF,2 7?Z=;@(9IDQ,E,$;H[DASH($E5Q(1EQ.?62D"@72+W0#8@4C![HJ0<0-U'V1V'% MR(B=/B_S6!Z> B^-UQ\3AQ50Y"@%G9T,1AP>!'W A(/$RV?$Q"4I'XS$C-R6 MB@8M"+%16X(98;E=RG^HE/JO"Z7^)BX"FQD![F[M_#SS^?H DNY?\31*D]R7 MD*5J TTS!\;0UAF987%VGZ"JW,D6'!/V_>N7'U_HP^LW3,SZJ8"R!" N_UE" M')1]XWI-D>8@J.P]\#=0,-![,'+F._C">6;F&,[ M(V!/K0>EU5BC1!(L1V* M_TD!S\$DF1,*V*UXLL%D/Q%G3<57F8 R>VSU%VI&?,51A+]A"=F6/C!L9V#; MRN,"<.=BJ\DW3/WG-_%LED=@%Q;,M.2W3$SSJ>TS(B"6DP+$-?@H6]:;7[L, MJG'!FL5WRM*$SQ=CK*.=LC)A8)H^.1WW"?L$\@E\>O#X2QE5?SO%^ F'%"NK MN/Q C*PXAS'\]&47B]3:)+)9.WB16I(OX>R^_-2P3U\S%.LXDZT'@^T5=57C MB8JZ)?8I<0(1TKS=KV#Y1[I;;04J U2WC6Z/BKS;_3FY^S)HW]TFQ M14[/.912Z?"F2%//D V>4? MD9O[ EG,/N7U#BODW .([\00D9S\-X/'X*VB3WCBE8OTG3567D"=@] MM]HZ\#_Y&(U1.*;_,8K"1\831>%-><;GMD?EQJI;H>'88QQH-R+ZUV$=IU5: M+BW&LZS5\PB]35:O(![(^8>]EOBHP0=3:W,T::@81;S:/LNLZ+C!<@_)E@71 M\41T0UVR'>5\1'<@&P/^Q&%Y=Y:6C6'(D1=7/AZ5>J78DV"6/:!:4AT&M _X@D2R; M5IRAKL!EC^9L6QH:#O>J4->Q! JK,12ZPTF 36)>(E(?MF]* A"9=D;Q(Y2$ M6EC2)7H%FH51;(L)E';)GB.RV-ZAH[ZF>;17Q*2IY\59;'( M ?^<)!/VT1.L&;9D.VF;!:;8N M.8XJ;#B!IE-8<4RS@*)^1!!E;C0)2/!(8;_U4S.0#*7ID8-0#$ZN&$CF\(R. M^C[H!1_C:"*BRBIHZ))VSI-(H2S4"CN5%+5I?(]0%9JI"HOJN&4AI[T]O1S2 MF2&IPS-:I4)'J((\0 >;@4#_/L]GBV=YIMN5(0Z6E M;L1&R,LS6I.@X<[3L*U)NLDD#1\DMN> E5!65JO#DOPX)][BQL6N6)IBMPSX M[:5X/@;KW49H#^UI')+V6/^D(4+9[LRP_6#!WG;?OL_/%9W&*\CZ8/!6Y8_" MY?8Y1#DK7E%^QLI;O(*L5TE$B_(#<_=A6TKAWCY'YE;<6%_F2"M634EK[$1A MS^DMB(XSHK/T,Q)=KS+!@5\G^493[IYY\U5+TG11*H9U+($H,P>I"A:B'(N%T. VDU\K/[7 4=UP6 MZ:"NBM1#QI%$NP5KU]U0&3@)(O0:G+?6D$.=*D!D#B6CK6>HUMQ9,_EBA_:_<.QZ2"9PZ;YA\*^.[G*K2AG1%(?@N66O.&P M?A]^30BS<9$"8>6=&D4._TYA3KB"C\<8S#N?N'YZK"ZHEF0,SWA8*?2%6E@: M2K;!_Y$RTZQA,YV\OXJ"(1F6*%++.)),2='/'X.VGR^F+E/G?8P^L,_;)CE\ MW=R2UM"6=/6,_8<%YZR%)H?$[_)O:!5':9IL,LX9BL.TS?C=.CF_1SQW80Y* M/:UU(.IU"!KFG88[5:^CB1)\D.H;1WSACN6;3QDIS^*CV3SY&H0"["=:/%/OW]:L1F46YC^C/J_^2H0/_YXO 5#Q/,_219=DCP]9ABQF6:JF.88X\ M4_?L_]H7U3/39$EM$SP8)=C]-G#'&4ZNW/#>?4C7ISP+HL'J8AO.@C8$)"'R)/7E_&R@)8F?!-'/FD%:B/X!,E M8S>#+[<9_"'MI%(4CU%9)1IN8'X]EQ\BE$WC',;P 0?XNX?)_B1*,56/8275 MMQFM8O"2_27]$;FY'P!:=L]U8S\0-EP4^%]C5S#CT)VG^*KZ<.T'Z3QT'ZZ" MB+Z7/G1=#E8R&+)1-X0AA4QQ>;F'9:78QZ4!5KZYO"S32QO"N[AF*[*J:CLO MP]6=UYX:5M5DQ]E]^:EAG[YF*-9Q)EL;!EOD487'*(XP&W>V<63R*MZ/. BS MB&VM=CJ/;MUB@A4,EZGB:K]/$XS1)[AOFJ)W(#5]HJ=\'. M'HG%;J7^?HC^Q!XQ"$$>AF3ZH@8M,@VB)4.AX_83B2<\[0,Q'E4@M+0TE5SMBKMK-LBV=]6'^+ MOB1!E+5E6OQ&T&NDXI+(;PQFD=KI\)6;.,U(N'BRO[CCD//9BF1HPJO .I8T21DRAZ4.\*OM ME@S3_.I]$J(J+,.6#*MIV7*>$H?[BUE=LFV.2DLSRQ3WT\QY M*')\O#&816JG)=UOBS+.^#OI =JRP;DP")DS"/DXM_GD)M\PI3]:HL8->U?[ M3].EY@= M&$W6&1L-=Y9_\1\)&-=WQ/8MR$+0X>^W)&57:,'R?Q MHNWH:L'1OI_>@TW4> ^)L P.$*M+MM$T7EI$9?0LM+9(? LHBY10A-L=/O#K M$AHZHLXY%JD'^Q^76 [)?5MR=8XBL44ZEQM M8U=2=*'."77N22+YDL1W04KJIP*'W)]!\JLTD'@KYHI\",UN$TGZ4&AV0K,# M4OB,LY)=B9Z2?>O'9TI:X_;E/*FL@H*[3L&:9#4N32%TDS8&Z,#U,=S^/8O;AIX^UA>7=-)MBV1;6:.>D86:%G7#?"/=-']PWM\1?DZ(\Q3[*8ECF; [J#XF>%%Z= M;A!EY[PZ!PIX84]V:Z9D:8;D&,XAEGP(J< 'V"S)'"J29MMZP-) M5P9ITY3L(6SIH97@D%84NKX/_&Q:TOKJ4R68E.4C M[@C@!2SST2/%QGS]:D1F4>X1^O/JOV3HP/_Y(C 5S],,?619]LBP=> 2AJ5: MJF.8(\_4/?N_JG)1/31=$.[#!*,'NMX$[SG!RY8;W[D.Z/N=9$ U65]MP MHJLCNR-[F15D8B@VGT$5 AH0^1)Z\O8V4!K$SX M)HY\4CC!1_")[C<7A"ZZS> /JY9O+RS*]M.$[+*[9JNSHNR\KLKKSVE/#JIJL M#'<_^M2P3U\S%.LXD]5K#=M>&7@BD*Z^Y.5OD&<,HF=?[#RZ=8O.6S"(,RF] MC]A&4?UFFF",/L%]TQ2] P[N$YGYB995U55I31/>%T9-D,,']#1%,^K86*EGGW_5 &0(_&&HP@-07,LK6V/5)E#T%RO3@+?^'_F:58X+[(8)=B+(R\(UTZJX7?R MS2..C3G)'@<5&HT>5@I*+B5^^\-L'OI*'5*$ZS;CI/$6SX$< EH+KRC?/HMA M=G_3'WI6^=B15*5I57#VQ&#GD:0/SZBK'%)N,,\<;K/8^S88N<093H*;<)06 MC**L+=RS6B*&I#5N;\E>DDW'D:1+EF.>#TD]4Q[&.$E(\..^I=X/5IVBIRZ MT02&(UK"\G0L37&64O4@#-Q1$#X=&]--$61(P\9JM= 33GZ"8CE-:T4QJB4P M?_+^N>Z1NNC26-GEJJ3K+2NVLU$%6'1IW(%933)M)C%[D+(E=85*C3&.%!5[ MOAGV(33Z0W2'TP.&1OB#"-(EPQ#Y?Y$E'V&D<0P>S\M>@VG;G@BUL&OWTK3A&>1 M;0RICB'.2P]U7BHFS-2)-&<"!285H@3[>#:GL354B,S<+$^HT4%$SV:[SPMZJ7?!]ETBD.? M]B;/W.][YPGPJ_Y>FKHN'.;LHL=0A+O\Z%#^BN>K7,*+9[,X@DG$WK>>N<$O M54M2U 8<0;C!3W[&J4JJZG ?9,L\4_B2!*#"SEWBZ9R[#XO*NX?-,.18--E" M<6 8.\/S9$KU2F]8^#-I Z:@RCX6OLR=NH750G()1R;36 5]Q%(:,)M3>C'W MU528YC[OQF/L940EP=\]FA&$$C?#R"NS@\"$HD42E6]Y:$[8RR)0[]_68\YH:91<&C^TT7QZ4B*VC*N MC0TN)/2B726M#8?E ]Z.J$;;^=#-+KXCH1&>!%%$3#02$ W#Q[O[&7;3-3#4 M)=LY8\B3<.#4XA^69)K\UYGEE4U@DA:QBT$<49 Q9V76;P'0;/%L[SY'DX9* ME_4R0<)=)V%+DQ2S:9D-9D,,3]'0=F75.ESQXYRD+S#9>[?I5#O6[E:_>"W: MW7:DW>W7LAE,V0($E*[W;]Y\(>U@/L?1@'XF;J4/19<84,C0+8GB8WY=:VUO M)>*CQV0/D[E3G9.LI/PV Q:9?GQ:92(/AVD7ZXX0N4J' M7W9ZE)!+VT'B(O\F?:;'E[36$7#Y:QZ!K1?"5'QT.7&#Z"4*XY1&O<"H,(4( M>7F2X,@K2N9[<9JEB!JUI%]0C/[E KR1!P_E1 <7W:1/.T-F-QG/,>L;.TTT MQ7YZB6P[<$53;$%SIU[;F9MB'R][GUEQPW/^PQO?1V1%W6['+72@5:+4AHP3 MY5%Z!O,;1]2F9S##'+V;2&K3,YAA)'' X9X0N\QSN#=;_"$]JU/@G+-YIBA4 M4"L-1S*U#C6KYX"G\:RU_5';F]LS_4W313\SQE%T:9^G1I-0V[AB<3=[GT!U M4U%HUS:8856AFVBRA#)W?F6N-H-;B<@LAQB0^Z_4(87(.0CH]YAVEZ%G_T4U MK8J4#CH;2S9K3&=+G#LY$Q_H\I8H4^),) . 4;,1%=Y"P>E8EK.IM$PE92-- MZH"::\<0JZDMW<9\(98#4;!GV!>#HJ!,YB"EET'U2WM^D(=)Y%AGV(-_9@B5T32? ^(,3C1D;N1 MP+8LW2 "G[G@1_TPXGYQT\ 3*5\\I]\HLM&T8A=[\22"Y/@BN7.VOQ8Z$%6=5S1\/G%(#.> MGV/YWCHY1^;68S?2'JMF6R703,G2 M#,DQG$,L^1#\F@^P69(Y5"3-/A78F-WJ'33G#R2:&:1:4[*'L-F'-BO"E@^P M69*E$-"="FPL&RVGZ.X@QCDM">QLC+%2S-XBO3%6P^<7S#V(?!QE5P/G\.'T M->+5M?USF4[,4^B,5R%IRK9)8/=+_N[9%,.881C? MP^2+/A5>'%$*IX.E&?PA^0NDC44,]AV=:8H\^'D2)S#FNJDGFB>(Y@F=:YZP MZY%GN3^'A?0544B?292(0OJM8,9W(?TF>OQ!\5MC$(;?QXAXZ)9KA11[(4I@ M@N]PE-?/IJJ;:Q1W?E%S^&@$ MV!JJPTL:""MC" 7C"!P"S,MO."-N*.+32MVP=W7CAGK35$^&>60W460Y6G=0 MQ %#XSGNY"M.,769$7[F@]D4QG/B2N]9O=_F6X;A=(QNHLBT.X0B#K@:SVK: M>QSAA)2]!*;F^K,@"M(LH6>T/=/6-,EI7,F<866@FTC2)=5HVOZ-821QP-MX MUMANRHB)>%R&4(SR%&Y*VQFB_.H#[0J8,ZP3=!--C0N8,XPA#C@;SUI;4:J\ M#."*)E6HV5X>MDZ5AS8DPVKIVF&CT-H!];RN(=9NJ0'RA5AQ*,7O@9*0FXS* MS=^R*4ZJ]-9+$H7]4B(9KWWS=0A/!^LH:M2SC6'L<,#0GL]O98Z//6I5)*JA M]ZV4=-<[&PD*[CX%BQ9.[)AR[1( ]B@,Q/(+FO\8)38/-:-+;+*9);Y@DO2&:\58P'%V5$,G!HN?>)+%(JJQ"TO,+-%OL M965^+7 )+R]R<8$/Y!%D%1BF@SLPW)2X')TC56F,1EO;6+T:H)G\1UU)#]>UZ(!&IU8 MNBL'>F4*=&9_Y6Z2X41^+I=XF8E_S7%VL3.4'67WY=4G^4KY M2H, Y7%J_@(69,8K3Y6O5Y:/N".81YX]?J1@!:])ENE&S[F5?\G0@?_S16 J MGJ<9^LBR[)%AZR!G#4NU5,_9_5>NB>FB:++GY! ]&"7:_#=PQ$-J5 M&]Z[#^GZG&= :NK;3C1W9GOCU,EC\Y\'R5%4N;[)8F!%7P$5$CH0^3MWFZL M3/@K]N+("\*@8!O O H^%Z-%)X/W"2F/\(E"G/GU7'X@_"[.80P_?1!5'EH733IVFGW_!F'$YRLJ>QS+*!:5/41E#U'9H]L5 MH[^V*Q'13P=]L\6S[:!7-5L:.OMW)& WVDK0@)S]/&/H];0[QU-:7++4&M!4YW7>_D0&&]\'Y$5M6\"]KS6S][&W;YI MCZ3H")#U0C?4AHQO]><:7/0L3ER4_8L:(H76Z6Z9:\ZEF183+QG5QU+=.G)8TU$1!!<:1I$MVXR;##".) W;&VK'L-\=JS(_=_H M,ZTU+JK&<&IY-Y&D2Y9C=@=)'' XD?_/M6O#&0KO$^,H4B53$]4\A=96CUIN MXC1+$8T[!KTMB]&_7%@O\L(XS1-<->4+\%Z5 3C<13^^&&JJ=MT=W:";:!+5 MFUC1WIAWFARFULEZ3DLW'**FI%E-O>R-X,"*+M%#Q+;5U_E"+ >LD^(J,$M2VL86,J1&":+CB>@<2=&%ZBY4]X;RYR!A,EW4 M]!RYZ3'&_GH>O("I)BWFRI;JG6:CZ?D\M,^8ZNCB/* MDK0J2S*\>"W*DG2[+,EGG*$R^P/6\^Z7#[^_?8/@^B9HF@8=YI6-0L84?Z;3_!9'K; M4/=5A+,R<*9GR2)F)UKJ=!Q)FF0UYG ,(XD#/L:A%K_!QPY0I(3#G6+(+5M" M]N78N]^I*)H@CYZKHGP$TXGB(;W2*_A(0ZV36K^WS&!NU9V.\&Z<><1>?+>@ M.)XHKDWA _9HCB>)\X0:Q+S$>8OG"?:"/A=S&4JJVJ%*(=U$DBT-K9:!^"PB MB0.NQK,>_8&$9^"TK9.$ZJDX?,_=ZR%A6_*H F&:8X1V4>2?JP:;03PTCB@+?Q7%%E(V&I MA>#O5*ZQ:DJVVM)?R%><5>\P:TB*W0O,3ZV+-,^/XFZ'^L1JHW[XX@J M#8?75[M%4ZJH_-'9RA_]4*_WCW%I+O6[- :S1,FS/^LH#7+X=9BT:9##L,.D MFTAJTR"'821QP.%X/GW\(THP3.-O8'"7$S>(7J(P3E-4>/#AQ@AY>9+@R'OH MV9FDIO,?#-=Q%%W:JCB4%$K<*9EB&9ZNF[TK.IZ74*L<3:[7+%&IY8)\]GE;OJTK80MEU+*]JV M1+:9@J9(FLY_9)<@.IZ(3K4EV^I0JV4.! [/NOJ&P-DG2N:Q/J,#%/PX)S6\ M>57L5%-N&D#=# Y=CFDXCK70!:IJ71%(4!7[IDIU2ZT:\,]$1.W?9$:\0/3A M8;D/CZY>O!9]>#K2A^O# A9=&,N:WNA]$M]G4S1Z@%\F0&S, MKZO[_7>(A#IIMQW8I[)2[-6F[78T13;4PW>P<63'VGUUCP8VBB7FRLE<54=6 MS+83$H!]>JY&K5%%)R4QB!CD"(-LWUB:]<3&>G8RJOGHWBT>&+::_V@U>EBA MF@V5&F"+=_B@-> TV5Q!>>8$/ MJU5W!3J'A\Q3-N"^P2U,'RN7IPR[P\YKK/82?EBAF*&',[PH.'<"N.< MZ(^(G,&AV\S-'K.C)BL6<;7G7INJJ)(Q;!JUQ5Y@K: ZGJBN*\FQ@NIXHCK! MZP35G:'OERW91H>RS+M9!T!OG ]1%T7,;;:S%P<5Y,$/>1PT:XQUN_9=GL3S M=F4'^:WSI%F2H31M>,]PO:=N8NG24>Q.E./J)GHT4S*5ID6B!99.C272X+%E MH1J!I9.Q.JMM%BF'RM8CGBX(I(8L;-SCH2L$\HPZ?JI437$G-U4\>#YG+"KN M)4756SI6'C^G.-(,"X)U_0,.\TW,QN%[0K:)>=5:N: M)3G#T[=3$S0L:/AP-&Q*0[.I>YLG&FYR\M:IXL2JW/)4773E$R2U'9J*?'I. MP3A)M2];<=P"9C4J!IZP1IJ8JI@JY^-L+[^WL]C<2NIE.=R <+*K167@(/)Q ME%T-'/J*$S,RFGNV2&@\_=%G*4]A<%JOXE$G.82_>S0M'B4D/0,%$<+C,?9@ MB^0)>QH4;0YK"WV4U+,;I[$=X&/X788<%;TXAX.UA[E',\1L6F?'N\P M:4.^.J&L]H\;NTF!54SK?<9T5!7$;(=M=.FFV]@<&:$QEZL_\Y?D82HN5_F@ M"W"+TLP%F"_>Z2W*@-;E42I?%2B=H>PH]4KO;;<+G(.:!1VK"&Q!A]%'&(KYU76_+O!6RN>&3XM*P6*NHE(P7X 5E8+%(&(0%BL%/[6Q M.EDI6!&5@MO 1U0*;JZ:BTK!STY!5 H^/A6*2L'L5 K>JS!_;RMDBDK!HE(P M*YM=5 H6E8)%I6!V(_A$I6 Q0S%#1F?8JPS>#]&?V*.Q9)_BD$Q?5 OFN9:A MJ4F6U3(AC*&4&4%T/!'=I:$,&Z?0"FH3U-:6Q6FF*5B<(+I3$ITJ.<:Q*HRR MF8K*87:@*AMG0=$YUGKVO%(.Z4-IFY#,/7WTJDKPS><;],GUID&TQ9ZM1>+\ MEMXS',G119U3QK%TJ3>QF 1Z3K^)+*VI*B&P=&HL#255$5AB'$O-&S,(%)T< M16=4&'IUVJ*_15^2(,K:ZJ7\FEZ:*IG#IF0F'"BGUDO58?-BF (])]Q$NL._ MZ[L'6-($EAC'DMI8Z1$H.KF[]HR1#+WRF-Y.,<[0)YRY8<_\I;IDFJ+A$.-( MNC2$LY19Y, .,D1W0L:19$A:X_ %@:236]^6+#@=V_@QSX*?7CE)?\NF.*D* M=/7,30H,6EBE;*/HQQ=#3=6N!9K81I/82=TATKZW(K[V:.LV>+9WF7M^IPV@L"9+7=!PUVGX69]3@7M"MIE9]7M M^IP*&A8TS,ZJV_4YY8F&FWC_.]64LGF?T_W1RMRN;I>/*DCJ4'U..T]2HL^I MF*J8:@_&$7U.19]3T>=4]#D5?4Y%GU/1Y[1NGU-N6N.)%J;';&%J7[P6+4R[ MTL(T3X&,@!O_FP5(F8GWR+EI\7''$QRY;U8;UN@4V&50V.FCL><;+# MND]ND0$5=8 2@(]YI^@"R>G;'3F5Y[:[T(#]L6Y!B [U0[EB)Z MME[[1]'@9QUFA^H*R1;CJ1MNR?1YST+?]0I]]\CM<;@X"-0TR;"LHYZM]@B8 MNJ0-[1,!DUG.L#T(G&G.4!U9S ESV. 2HF$-UX7U),'97W!2^MMY-"..&0XTX:\8-"DO"(,BUB(>%Z>OL(BJ M'RYZGP>^&WGLMV>__!"A;!KG,(8/\,??/0QD3M3&=.HF&,'/J]]FL$NR=/E5[YS:+O6^#D9MBG\8]XR@M'!7X M._GZC+73-;]&T14@C,'"D80B\G@"O?7#[+R(HA.M?N/Y7MZ0NJ@D+ M N::@%NV$SN)3&D1Y2)JA+6<*@\%-'X:Q?X#_)EFL_#U_P%02P$"% ,4 M" ;,:-81SJT$%P. "';0 $0 @ $ <')L8BTR,#(T M,#4P,RYH=&U02P$"% ,4 " ;,:-88],8"V@" !D!P $0 M @ &+#@ <')L8BTR,#(T,#4P,RYX&UL4$L! A0#% @ &S&C6+,S5Z^O!@ UC !4 ( ! M5QL '!R;&(M,C R-# U,#-?<')E+GAM;%!+ 0(4 Q0 ( !LQHUAO:P(] M:S4 %V4! 8 " 3DB !P&5X>#DY ;,2YH=&U02P4& 4 !0!* 0 VE< end XML 19 prlb-20240503_htm.xml IDEA: XBRL DOCUMENT 0001443669 2024-05-03 2024-05-03 0001443669 false 8-K 2024-05-03 Proto Labs, Inc. MN 001-35435 41-1939628 5540 Pioneer Creek Drive Maple Plain MN 55359 (763) 479-3680 false false false false Common Stock, Par Value $0.001 Per Share PRLB NYSE false