0001443669-25-000011.txt : 20251031 0001443669-25-000011.hdr.sgml : 20251031 20251031061027 ACCESSION NUMBER: 0001443669-25-000011 CONFORMED SUBMISSION TYPE: 8-K PUBLIC DOCUMENT COUNT: 15 CONFORMED PERIOD OF REPORT: 20251031 ITEM INFORMATION: Results of Operations and Financial Condition ITEM INFORMATION: Financial Statements and Exhibits FILED AS OF DATE: 20251031 DATE AS OF CHANGE: 20251031 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 EIN: 000000000 STATE OF INCORPORATION: MN FISCAL YEAR END: 1231 FILING VALUES: FORM TYPE: 8-K SEC ACT: 1934 Act SEC FILE NUMBER: 001-35435 FILM NUMBER: 251437830 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-20251031.htm 8-K prlb-20251031
0001443669FALSE00014436692025-10-312025-10-31

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): October 31, 2025
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 October 31, 2025, Proto Labs, Inc. issued a press release announcing its third quarter 2025 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:
October 31, 2025
By:/s/ Daniel Schumacher
Daniel Schumacher
Chief Financial Officer

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

Exhibit 99.1
logo.jpg
logo1.jpg
Protolabs Reports Financial Results for the Third Quarter of 2025
Record Quarterly Revenue of $135.4 Million, a 7.8% increase Year-Over-Year
GAAP Earnings Per Share of $0.30, Non-GAAP Earnings Per Share of $0.47
MINNEAPOLIS October 31, 2025 – Proto Labs, Inc. ("Protolabs" or the "Company") (NYSE: PRLB), the world’s leading provider of digital manufacturing services, today announced financial results for the third quarter ended September 30, 2025.
Third Quarter 2025 Financial Highlights:
Revenue was a record $135.4 million, a 7.8% increase compared to revenue of $125.6 million in the third quarter of 2024.
Revenue fulfilled through digital factories was $105.3 million, a 4.9% increase year-over-year.
Revenue fulfilled through the Protolabs Network was $30.1 million, a 19.1% increase year-over-year.
Net income was $7.2 million, or $0.30 per diluted share, compared to $7.2 million, or $0.29 per diluted share, in the third quarter of 2024.
Non-GAAP net income was $11.4 million, or $0.47 per diluted share, compared to $11.8 million, or $0.47 per diluted share, in the third quarter of 2024. See “Non-GAAP Financial Measures” below.

“Protolabs generated another quarter of accelerated growth and record revenue, supported by strong performance in several key end markets, and a substantial increase in revenue per customer contact. I am very encouraged by the progress we’ve made over the last two quarters—we have significant momentum into year-end," commented President and Chief Executive Officer Suresh Krishna. "While it’s still early, my short time here has strengthened my confidence that our current strategy—delivering high-quality, custom parts throughout the product lifecycle, from prototyping to production—is the right one. Together with our teams, I am focused on accelerating profitable growth, and positioning Protolabs for long-term shareholder value creation."

Dan Schumacher, Chief Financial Officer, added: "Along with record revenue in the quarter, we continued to demonstrate the strength of our business model by expanding adjusted EBITDA as compared to the second quarter of 2025, continuing our best-in-class cash flow generation, and returning capital to shareholders via repurchases of common stock."

Additional Third Quarter 2025 Highlights:
Customer contact information
Protolabs served 21,252 customer contacts during the quarter.
Revenue per customer contact increased 14.1% year-over-year to $6,370.
EBITDA was $17.4 million. See “Non-GAAP Financial Measures” below.
Adjusted EBITDA was $21.1 million, or 15.6% of revenue. See "Non-GAAP Financial Measures" below.
We generated $29.1 million in cash from operations.
Cash and investments balance was $138.4 million as of September 30, 2025.

Fourth Quarter 2025 Outlook

In the fourth quarter of 2025, the Company expects to generate revenue between $125.0 million and $133.0 million.

The Company expects fourth quarter 2025 diluted net income per share between $0.12 and $0.20, 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, CEO transition costs and costs related to exit and disposal 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, CEO transition costs and costs related to exit and disposal 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, CEO transition costs and costs related to exit and disposal activities (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 and non-GAAP net income per share, in each case, adjusted for stock-based compensation expense, amortization expense, unrealized (gain) loss on foreign currency, CEO transition costs and costs related to exit and disposal activities (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 net income per share, non-GAAP gross margin, non-GAAP operating margin, non-GAAP revenue growth by region and by service line, 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, provide useful measures for period-to-period comparisons of the Company’s business, and in determining executive and senior management incentive compensation. 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. These non-GAAP financial measures should not be considered a substitute for, or superior to, financial measures calculated in accordance with GAAP. These non-GAAP financial measures exclude significant expenses and income that are required by GAAP to be recorded in our condensed consolidated financial statements and are subject to inherent limitations. Investors should review the reconciliations of non-GAAP financial measures to the comparable GAAP financial measures that are included in this press release.
Conference Call
The Company has scheduled a conference call to discuss its third quarter 2025 financial results and fourth quarter 2025 outlook today, October 31, 2025 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/mp2aa5du/. 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 world’s fastest manufacturing service enabling companies across every industry to streamline production of quality parts throughout the entire product life cycle. From custom prototyping to end-use production, we support product developers, engineers, and supply chain teams along every phase of their manufacturing journey. Get started now 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 Corporate Development
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)
September 30,
2025
December 31,
2024
(Unaudited)
Assets
Current assets
Cash and cash equivalents$104,422 $89,071 
Short-term marketable securities14,817 14,019 
Accounts receivable, net77,790 66,504 
Inventory14,073 12,305 
Income taxes receivable4,681 2,906 
Prepaid expenses and other current assets10,009 10,049 
Total current assets225,792 194,854 
Property and equipment, net211,325 227,263 
Goodwill273,991 273,991 
Other intangible assets, net19,539 21,422 
Long-term marketable securities19,149 17,773 
Operating lease assets2,015 2,993 
Finance lease assets491 692 
Other long-term assets4,553 4,524 
Total assets$756,855 $743,512 
Liabilities and shareholders' equity  
Current liabilities  
Accounts payable$17,388 $15,504 
Accrued compensation23,268 16,550 
Accrued liabilities and other27,831 19,621 
Current operating lease liabilities890 1,287 
Current finance lease liabilities365 309 
Total current liabilities69,742 53,271 
Long-term operating lease liabilities1,188 1,633 
Long-term finance lease liabilities— 287 
Long-term deferred tax liabilities16,038 13,565 
Other long-term liabilities5,168 4,605 
Shareholders' equity664,719 670,151 
Total liabilities and shareholders' equity$756,855 $743,512 



Proto Labs, Inc.
Condensed Consolidated Statements of Operations
(In thousands, except share and per share amounts)
(Unaudited)
Three Months Ended
September 30,
Nine Months Ended
September 30,
2025202420252024
Revenue
Injection Molding$47,770 $46,831 $143,908 $148,574 
CNC Machining63,043 53,327 177,831 154,498 
3D Printing20,082 21,437 61,491 64,300 
Sheet Metal4,262 3,743 12,776 11,218 
Other Revenue209 281 628 550 
Total Revenue135,366 125,619 396,634 379,140 
Cost of revenue74,073 68,389 219,869 207,897 
Gross profit61,293 57,230 176,765 171,243 
Operating expenses
Marketing and sales24,574 22,619 73,054 69,070 
Research and development10,705 9,772 32,487 31,600 
General and administrative17,163 16,259 52,763 49,167 
Costs related to exit and disposal activities41 — 151 — 
Total operating expenses52,483 48,650 158,455 149,837 
Income from operations8,810 8,580 18,310 21,406 
Other income, net1,441 1,288 4,600 3,548 
Income before income taxes10,251 9,868 22,910 24,954 
Provision for income taxes3,035 2,679 7,668 7,957 
Net income$7,216 $7,189 $15,242 $16,997 
Net income per share:
Basic$0.30 $0.29 $0.64 $0.67 
Diluted$0.30 $0.29 $0.63 $0.67 
Shares used to compute net income per share:
Basic23,889,15724,980,53623,974,05425,304,985
Diluted24,191,03925,022,48524,249,66925,382,280



Proto Labs, Inc.
Condensed Consolidated Statements of Cash Flows
(In thousands)
(Unaudited)
Nine Months Ended
September 30,
20252024
Operating activities
Net income$15,242 $16,997 
Adjustments to reconcile net income to net cash provided by operating activities:
Depreciation and amortization25,693 26,984 
Stock-based compensation expense11,928 12,716 
Deferred taxes2,355 (6,140)
Interest on finance lease obligations16 26 
Loss on impairment of equipment— 256 
Impairments related to exit and closure of facilities448 — 
Loss (gain) on disposal of property and equipment16 (24)
Other(179)103 
Changes in operating assets and liabilities2,534 9,617 
Net cash provided by operating activities58,053 60,535 
Investing activities
Purchases of property, equipment and other capital assets(6,792)(8,339)
Proceeds from sales of property, equipment and other capital assets811 34 
Purchases of marketable securities(13,553)(18,087)
Proceeds from call redemptions and maturities of marketable securities11,730 15,709 
Net cash used in investing activities(7,804)(10,683)
Financing activities
Proceeds from issuance of common stock from equity plans4,195 2,094 
Purchases of shares withheld for tax obligations(3,119)(1,920)
Repurchases of common stock(36,732)(45,958)
Principal repayments of finance lease obligations(231)(220)
Net cash used in financing activities(35,887)(46,004)
Effect of exchange rate changes on cash and cash equivalents989 235 
Net increase in cash and cash equivalents15,351 4,083 
Cash and cash equivalents, beginning of period89,071 83,790 
Cash and cash equivalents, end of period$104,422 $87,873 



Proto Labs, Inc.
Reconciliation of GAAP to Non-GAAP Net Income and Non-GAAP Net Income per Share
(In thousands, except share and per share amounts)
(Unaudited)
Three Months Ended
September 30,
Nine Months Ended
September 30,
2025202420252024
Non-GAAP net income, adjusted for stock-based compensation expense, amortization expense, unrealized (gain) loss on foreign currency, CEO transition costs and costs related to exit and disposal activities
GAAP net income$7,216 $7,189 $15,242 $16,997 
Add back:
Stock-based compensation expense3,677 4,196 11,928 12,716 
Amortization expense935 888 2,770 2,796 
Unrealized (gain) loss on foreign currency(2)174 (316)323 
CEO transition costs14 — 1,376 — 
Costs related to exit and disposal activities41 — 151 — 
Total adjustments 1
4,665 5,258 15,909 15,835 
Income tax benefits on adjustments 2
(500)(627)(1,700)(1,066)
Non-GAAP net income$11,381 $11,820 $29,451 $31,766 
Non-GAAP net income per share:
Basic$0.48 $0.47 $1.23 $1.26 
Diluted$0.47 $0.47 $1.21 $1.25 
Shares used to compute non-GAAP net income per share:
Basic23,889,15724,980,53623,974,05425,304,985
Diluted24,191,03925,022,48524,249,66925,382,280
1Stock-based compensation expense, amortization expense, unrealized (gain) loss on foreign currency, CEO transition costs and costs related to exit and disposal activities were included in the following GAAP consolidated statement of operations categories:
Three Months Ended
September 30,
Nine Months Ended
September 30,
2025202420252024
Cost of revenue$781 $817 $2,350 $2,428 
Marketing and sales837 727 2,423 2,378 
Research and development764 671 2,124 2,031 
General and administrative2,244 2,869 9,177 8,675 
Costs related to exit and disposal activities41 — 151 — 
Total operating expenses3,886 4,267 13,875 13,084 
Other income, net(2)174 (316)323 
Total adjustments$4,665 $5,258 $15,909 $15,835 
2For the three and nine months ended September 30, 2025 and 2024, 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 respective period.



Proto Labs, Inc.
Reconciliation of GAAP to Non-GAAP Gross Margin
(In thousands)
(Unaudited)
Three Months Ended
September 30,
Nine Months Ended
September 30,
2025202420252024
Revenue$135,366 $125,619 $396,634 $379,140 
Gross profit61,293 57,230 176,765 171,243 
GAAP gross margin45.3%45.6%44.6%45.2%
Add back:  
Stock-based compensation expense439 474 1,323 1,401 
Amortization expense342 343 1,027 1,027 
Total adjustments781 817 2,350 2,428 
Non-GAAP gross profit$62,074 $58,047 $179,115 $173,671 
Non-GAAP gross margin45.9%46.2%45.2%45.8%



Proto Labs, Inc.
Reconciliation of GAAP to Non-GAAP Operating Margin
(In thousands)
(Unaudited)
Three Months Ended
September 30,
Nine Months Ended
September 30,
2025202420252024
Revenue$135,366 $125,619 $396,634 $379,140 
Income from operations8,810 8,580 18,310 21,406 
GAAP operating margin6.5%6.8%4.6%5.6%
Add back:
Stock-based compensation expense3,677 4,196 11,928 12,716 
Amortization expense935 888 2,770 2,796 
CEO transition costs14 — 1,376 — 
Costs related to exit and disposal activities41 — 151 — 
Total adjustments4,667 5,084 16,225 15,512 
Non-GAAP income from operations$13,477 $13,664 $34,535 $36,918 
Non-GAAP operating margin10.0%10.9%8.7%9.7%



Proto Labs, Inc.
Reconciliation of GAAP Net Income to EBITDA and Adjusted EBITDA
(In thousands)
(Unaudited)
Three Months Ended
September 30,
Nine Months Ended
September 30,
2025202420252024
Revenue$135,366 $125,619 $396,634 $379,140 
GAAP net income7,216 7,189 15,242 16,997 
GAAP net income margin5.3%5.7%3.8%4.5%
Add back:
Amortization expense$935 $888 $2,770 $2,796 
Depreciation expense7,494 8,021 22,923 24,188 
Interest income, net(1,281)(1,287)(3,532)(3,548)
Provision for income taxes3,035 2,679 7,668 7,957 
EBITDA17,399 17,490 45,071 48,390 
EBITDA Margin12.9%13.9%11.4%12.8%
Add back:
Stock-based compensation expense3,677 4,196 11,928 12,716 
Unrealized (gain) loss on foreign currency(2)174 (316)323 
CEO transition costs14 — 1,376 — 
Costs related to exit and disposal activities41 — 151 — 
Total adjustments3,730 4,370 13,139 13,039 
Adjusted EBITDA$21,129 $21,860 $58,210 $61,429 
Adjusted EBITDA Margin15.6%17.4%14.7%16.2%



Proto Labs, Inc.
Comparison of GAAP to Non-GAAP Revenue Growth by Region
(In thousands)
(Unaudited)
Three Months Ended
September 30, 2025
Three Months Ended
September 30, 2024
%
Change2
% Change
Organic3
GAAP
Foreign
Currency1
Non-GAAPGAAP
Revenues
United States$109,361 $— $109,361 $99,571 9.8%9.8%
Europe26,005 (1,226)24,779 26,048 (0.2)(4.9)
Total revenue$135,366 $(1,226)$134,140 $125,619 7.8%6.8%
Nine Months Ended
September 30, 2025
Nine Months Ended
September 30, 2024
%
Change2
% Change
Organic3
GAAP
Foreign
Currency1
Non-GAAPGAAP
Revenues
United States$320,340 $— $320,340 $299,593 6.9%6.9%
Europe76,294 (2,055)74,239 79,547 (4.1%)(6.7%)
Total revenue$396,634 $(2,055)$394,579 $379,140 4.6%4.1%

1Revenue for the three and nine months ended September 30, 2025 has been recalculated using 2024 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 and nine months ended September 30, 2024 to GAAP revenue for the three and nine months ended September 30, 2025.
3This column presents the percentage change from GAAP revenue for the three and nine months ended September 30, 2024 to non-GAAP revenue for the three and nine months ended September 30, 2025 (as recalculated using the foreign currency exchange rates in effect during the three and nine months ended September 30, 2024) 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
September 30, 2025
Three Months Ended
September 30, 2024
%
Change2
% Change
Organic3
GAAP
Foreign
Currency1
Non-GAAPGAAP
Revenues
Injection Molding$47,770 $(358)$47,412 $46,831 2.0%1.2%
CNC Machining63,043 (667)62,376 53,327 18.2 17.0 
3D Printing20,082 (174)19,908 21,437 (6.3)(7.1)
Sheet Metal4,262 (23)4,239 3,743 13.9 13.3 
Other Revenue209 (4)205 281 (25.6)(27.0)
Total revenue$135,366 $(1,226)$134,140 $125,619 7.8%6.8%
Nine Months Ended
September 30, 2025
Nine Months Ended
September 30, 2024
%
Change2
% Change
Organic3
GAAP
Foreign
Currency1
Non-GAAPGAAP
Revenues
Injection Molding$143,908 $(706)$143,202 $148,574 (3.1%)(3.6%)
CNC Machining177,831 (981)176,850 154,498 15.1 14.5 
3D Printing61,491 (336)61,155 64,300 (4.4)(4.9)
Sheet Metal12,776 (30)12,746 11,218 13.9 13.6 
Other Revenue628 (2)626 550 14.2 13.8 
Total revenue$396,634 $(2,055)$394,579 $379,140 4.6%4.1%

1Revenue for the three and nine months ended September 30, 2025 has been recalculated using 2024 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 and nine months ended September 30, 2024 to GAAP revenue for the three and nine months ended September 30, 2025.
3This column presents the percentage change from GAAP revenue for the three and nine months ended September 30, 2024 to non-GAAP revenue for the three and nine months ended September 30, 2025 (as recalculated using the foreign currency exchange rates in effect during the three and nine months ended September 30, 2024) in order to provide a constant-currency comparison.



Proto Labs, Inc.
Customer Contact Information
(In thousands, except customer contacts and per customer contact amounts)
(Unaudited)
Three Months Ended
September 30,
Nine Months Ended
September 30,
2025202420252024
Revenue$135,366 $125,619 $396,634 $379,140 
Customer contacts21,25222,51141,87343,671
Revenue per customer contact1
$6,370 $5,580 $9,472 $8,682 

1Revenue per customer contact is calculated using the revenue recognized during the respective period divided by the actual number of customer contacts served during the same period. Customer contacts are product developers, engineers, procurement and supply chain professionals and other individuals who place an order, and that order is shipped and invoiced during the period. The Company believes revenue per customer contact is useful to investors in evaluating the underlying business trends and ongoing operating performance of the Company.
Proto Labs, Inc.
Reconciliation of GAAP to Non-GAAP Guidance
(Unaudited)

Q4 2025 Outlook
LowHigh
GAAP diluted net income per share$0.12 $0.20 
Add back:
Stock-based compensation expense0.14 0.14 
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-20251031.xsd XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT 0000001 - Document - Cover link:presentationLink link:calculationLink link:definitionLink EX-101.LAB 4 prlb-20251031_lab.xml XBRL TAXONOMY EXTENSION LABEL LINKBASE DOCUMENT Soliciting Material Soliciting Material Written Communications Written Communications Local Phone Number Local Phone Number Cover [Abstract] Document Period End Date Document Period End Date Pre-commencement Tender Offer Pre-commencement Tender Offer Amendment Flag Amendment Flag Entity Central Index Key Entity Central Index Key Pre-commencement Issuer Tender Offer Pre-commencement Issuer Tender Offer Entity Tax Identification Number Entity Tax Identification Number Entity Emerging Growth Company Entity Emerging Growth Company Entity File Number Entity File Number Entity Registrant Name Entity Registrant Name Security Exchange Name Security Exchange Name Trading Symbol Trading Symbol Entity Incorporation, State or Country Code Entity Incorporation, State or Country Code Title of 12(b) Security Title of 12(b) Security Entity Address, State or Province Entity Address, State or Province Entity Address, Postal Zip Code Entity Address, Postal Zip Code Entity Address, City or Town Entity Address, City or Town Entity Address, Address Line One Entity Address, Address Line One Document Type Document Type City Area Code City Area Code EX-101.PRE 5 prlb-20251031_pre.xml XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE DOCUMENT GRAPHIC 6 logo.jpg begin 644 logo.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 GRAPHIC 7 logo1.jpg begin 644 logo1.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 XML 9 R1.htm IDEA: XBRL DOCUMENT v3.25.3
Cover
Oct. 31, 2025
Cover [Abstract]  
Document Type 8-K
Document Period End Date Oct. 31, 2025
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

XML 10 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 11 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 13 FilingSummary.xml IDEA: XBRL DOCUMENT 3.25.3 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-20251031.htm prlb-20251031.xsd prlb-20251031_lab.xml prlb-20251031_pre.xml http://xbrl.sec.gov/dei/2025 true false JSON 15 MetaLinks.json IDEA: XBRL DOCUMENT { "version": "2.2", "instance": { "prlb-20251031.htm": { "nsprefix": "prlb", "nsuri": "http://www.prlb.com/20251031", "dts": { "inline": { "local": [ "prlb-20251031.htm" ] }, "schema": { "local": [ "prlb-20251031.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/2024-01-31/types.xsd", "https://xbrl.sec.gov/dei/2025/dei-2025.xsd" ] }, "labelLink": { "local": [ "prlb-20251031_lab.xml" ] }, "presentationLink": { "local": [ "prlb-20251031_pre.xml" ] } }, "keyStandard": 22, "keyCustom": 0, "axisStandard": 0, "axisCustom": 0, "memberStandard": 0, "memberCustom": 0, "hidden": { "total": 2, "http://xbrl.sec.gov/dei/2025": 2 }, "contextCount": 1, "entityCount": 1, "segmentCount": 0, "elementCount": 23, "unitCount": 0, "baseTaxonomies": { "http://xbrl.sec.gov/dei/2025": 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-20251031.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-20251031.htm", "first": true, "unique": true } } }, "tag": { "dei_AmendmentFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "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/2025", "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/2025", "localname": "CoverAbstract", "lang": { "en-us": { "role": { "label": "Cover [Abstract]", "documentation": "Cover page." } } }, "auth_ref": [] }, "dei_DocumentPeriodEndDate": { "xbrltype": "dateItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "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/2025", "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/2025", "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/2025", "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/2025", "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/2025", "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/2025", "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/2025", "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/2025", "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/2025", "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/2025", "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/2025", "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/2025", "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/2025", "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/2025", "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": [ "r5" ] }, "dei_Security12bTitle": { "xbrltype": "securityTitleItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "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/2025", "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/2025", "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": [ "r4" ] }, "dei_TradingSymbol": { "xbrltype": "tradingSymbolItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "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/2025", "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": "14a", "Subsection": "12" }, "r5": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "14d", "Subsection": "2b" }, "r6": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Securities Act", "Number": "230", "Section": "425" } } } ZIP 16 0001443669-25-000011-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001443669-25-000011-xbrl.zip M4$L#!!0 ( $TQ7UO9.R@(9 X .=J 1 <')L8BTR,#(U,3 S,2YH M=&WM75ESX[@1?M]?@6B2'4^52?'20=E6RJN1=U4S8[LD36:3EQ1$0B)BBN2" MH"WEUZNGL4BP@6[T\77CF-._3\8^NB4LIF%P]E%7M8^(!$[H MTF!T]O&\U^IT/OZ]^=/I7Q3E]U^Z7]'GT$G&)."HQ0CFQ$5WE'N(>P3]"-D- MO<7HVL=\&+*QHJ2?M<)HRNC(X\C0C$K>+'_+&C4+ZU4+UY1:O6HH5GU@*%BK MUA3#QM@P275HU_'QJ%$;NC5#

*C>NN8F$'*[A>-Q7#K.)*3:]KFD6.W896 M=0S'=BH5PZY;6JU>M^M5N^9:=5*Q]$&E*OOU./ ,? =Q@T[X6>XY$Q5F@0G//AJ:;"]UGS3=UH-NV79X(;G*:\-'--JJ: M61:O!SB>#6&RUGZ)LG@[:PJ$Z#VD5[ESR;RU;!D31QV%MV5X(418F8N!*_!N MB73>]KY)T"N*5E=,7=)I^!CTM40"Y7NOU#SU"':;IV/",1)4%?)'0F_/2JTP MX*"[2G\:P3B=]-=9B9,)+TLIEIL__?33*:?<)\V(^0-%#%373/VTG#X\+:>D M!Z$[;9ZZ]!;%?.J3LY)+X\C'TT80!@0&0"<-T9"P]$_JNB20?\+[2S @1IVT M_PGODN%9R5& CP"/!25"&^T NINV8'0,^YW )9,O9%I"U#TK#15#+S4U4"W+ M,JM5^[2\1'6'3L[!CEUARQ<^'I50*MNS$LQ'8T@GQ%6&V!>JDO5JE)H7YU][ M[;4.R\L<,C(D#%P(B3=,C-"H1BSM 8:$I(8U.$S'62FFX\@7ZB.?>4R,>&D. MU$GLP@S)_N:=9'W&8<+D+ZFGC8QM.7;!=OZ<2,'FOZ@K?@\I84B.B6Q4PE;G MR[+ 5S]NYH^6J4<@GM#-?X%U,/X97&93\*/HFB*T:O7=;)CNEJ;YF_QWWDEY MB>]<2#.IE!<4L@QJF^JND Y]R&/^6TAO_DVF[V,:*!X1;KUA52)^M MU!DH\J.3,68C&,(@Y#P<-\0(((9QZF!?P3X=!0TAANSU?'"JE@Z0@QBXF_>< MO5;A57G]N5U7;6WS*TW5Y?.RI,?REYE1%(3D/!6" QI)6"F=C+PY#"=D M#=&1Z&L(&@.6/J;^M/&Q3\=@MI?D#G7#,0X^'L>@7L.T34S_2T"&T('\>9^NW\\M?VZAU]>U;I]?K7%UN'?V"U*O[(?4?./9 ;7@8'*//:DL%P%6Q["(, MR Z>E8-Z(0XNKKK?4/$(EH/1-)ZG<0J\55WYLAZD]D$(Q:81-++;ONRC;OOZ MJML_(/V[_M[M?3^'D?>O$!A6'ZP'Z2:ZZB*]N N!&8 85#U"51R#@ZRG\3#*B!Q!R16Y'4,?F:N)\:C[#":PE% MVBE 6<:3+CQ1QD#"$Y\I+IXJ4^A:(<$,7I::5PX/!P#%3/U8IHK[:Y4$RP*1;R$'W%@_@8=0)'W4^AK"JAM5$H1^T)=KCD7>@> MF_&,<(SBB#@"3;N(!HCR&#D>@&+"/A7AT-!2K/6B>-*VU;I5WQ5.0AY3-^KW MPLGBSRVMNM,7!SA[!Q'&]%$(.EU&UB=Y'1^7]XR=G47X E"!JY: MUD)Z'+QK*TP"SJ:MT%UVO:*T(O)+3B(6W@HZD M.\M2_F23<$%] HTA9.4"K8@Z@:Z8%!;I-H'T\Z61%%4=J]K)TJZ6F MI2L O.RJ4;]7O ^XA2PRR- (F7<<^M1=3KP+BQ9HO$(DL+IUN%* MI 5_7K%^>#?#A77 A3@"^[SV,0U617"\0VE@J2,9M:X89+2W5"X4%H2I=A&8 MFBXMO&.K!^;@.@0A^_^B49HH9"5331B 65E?2_PS@:I,0J(R$3%04!IA'Y$) M<1(.C@ >0P D\3M0F$L,U @)/=H !=86PW3KGM6P'8USUV9OI4HP+Q+^_*%N MZ+63&''BD\B#L(4"B*Q:_%_-$%@$/ XNEB 9-8$7[B-$B#FQN*!8)@1$ )!)I$ M/H[S]:M'IJ95:04OS&?+(\Z-W#^)(X"^@#Q$:6<03M" ^.&=X%.\%-) =>4+ M&E)?^'8:@Z/G)'"!?QZ"",:)SW% PB3VIRB&1#T>3N67V0?A *8SS=_#E.3" M\DL"=$"VP31_-P1K#^_$=P*.4U$MB1M%EYKVS95LS[!K5?M)LGM#K=9V6SW9 MZMXL5:N83^'>'I_H;(K5.P','T!8$(_!*G 0*[N;AK9;(/[!* =C$*6]),C* M5/%Z?CD(0W^ 0;,YV-(#'U(8PKG#T9%>0ZV++C),386&12!_?>\1 M_Y_)1GH AR8SV#T#2(,A!F_J(%8;]U YJ)!XTPVZ]:A6Q@ ^(*!M"PF;?MN.0=N.9TX3@A[A/U4W^UGU7Y,HEA'3C'[R=H>4OJ[@#+3 M?)0PR&@7Q0 M9-:J2S>2Y:? >J%TM+I_V>C6W6X/%[:*DM)M2")WRV#O&57- MNC])+E:+$B:X6HQZ V6JOC@5F&ZD=CSD^#B."[BJ-RX3AN7Z0V\Z'H3^4:$E MLXWIRT+K/=T%*!2.[;P>'=>12>S+WB(PK FY=I7D;[7F5)89!:J2FP#$Q CX?.S3&ZQ@S] _L)07\5CEU'UQ"(>QYFVS>'/*CG M[Q.S=6(R[Y$ZC]FLU $[=;_^\O(2?VZWL^>SD9M)#CK3TRFK:%ZXK>4].[H- MG@W&^<^0W:2&-,.M#V\RV5NTV@E< =4)&DR1(Q=N8$0WX*F)W(>[LJI"8P2C M YPO!CU"(Q;><4\@_DBLM. 8N60(7<@#+VD!5JOD '>E^@I/==LTT='/'_1J M[22MPN:MJ3PK$XFS,F*E+,T;C(%B;""VE#RD5*TY59%$S#]J6Z7]J M44;M-2:IO47@N^Z8RNG\*LFT4BH%,UE#>SB3W3OE'MZCKF)?R4;=IVN+B1YH M-O$A:P/-#D*9PR4QD:U WMF2I;C,@\J\+KW 0(A5]N5/1>?R4ADQ:0&P!6\8 MN:4Q? ?V@@-'U&>QXX@3+Z*QN'?$QHK M4N S!7E8(@HMN8/\.3V/!_=/>TK%ED7_9TYNS M8\[@)@#G-!3S@$HONV_SWTK)5@W->HW-^<\6+#:?;^YP,D:&JAGJTU=F7XNG M+HD3G\L-P%<0E;*2+,06=#$+.ZT0PJ!XH>X.6S--!E!TLF!,KX*1K@*4G;87 MT$\[R8_<0[:[WTHK=YK&:I8%5T#MH1S389+1,$M#E,6$!C3_0FD*I'!Y0CVU9U$<8E'DWW M=\DYF1]P@_: O@F@:( FLXNA-D#6@M<=:9ON.Q)83P&]9=CAC3@9PPQ.3]Y] MXKM/G"_N2)]HJYK^-GRBY&GN^>3I';%FE;K$S#SC1_C!S.LM6XMNJI55>TF? MO7P@.'(_[9@1/$W/*Q)1#;G*G4NZ2)Y0>WR":L@-1,;1D:$.R8NLW>S6LEUVRQQRTQ/Y'0ED&P8NM[!QOJLV[ MB3]%#DY$/7TQJ89N!H :85;@19C>P38@'O:'(J\6A*1+S1J(C#L)X!M)#B?< M"QDPYQ9:*3+W\)30-G19537C:?926175TBM/0LI0;?MI]HH9 CS??^"H\+8S M3:W7[A?5T^Z=W=BL>FBA;/V&Q]T/:^_?F?MGV7/]UOD[<% F[GW=Y:Z!ITQ0 MGZU2OJE,OO.M,WL^<;],GW/:7IB9Z+0<@O!;'B7#A:7,*WFAT>.G8-^SY'+Z?_3(_]BG^3]02P,$ M% @ 33%?6[+;[UI< @ [08 !$ !P02HJ^#Q(PCA P"M14[Z:!W>WU[@(+A:CT?D'C.\_ MW2S1E:CZ%KA&EQ*(AAIMJ%XCO0;T4\@'^DC0=T9T(V2+\<+1+D7W).EJK5$: MIV<>YKUREH]),AF3'.?%),7CHDPQB2$I!E,FFE!/JYF>5/G:5R7>$J* M&H])13 IB@RGV82 )ZY-9$KT%])"ZHC%?PE MX6*$D)T!;3LA->)':8=M4:XTX95I:S>XI:B(=GIXDV+_L.=A:\))BK,DW*HZ MB/ZAAOUH3ZO!\TZOP0534(4K\1C50-T(CZ=7;\'M =O#84["N=".;RV#K>LH M;\3.8$RV\)FO_@8:K]97$AP$FTRGT\AYC?HR]<% M6$MHYH&5$/;R^=5)"$TE'O(JP>$56+?) ,K(U_6[W#?D0^BGSH10YAX8[$;T M/_?/2'EJ_X8"[,3&+?'6^!&MY\&E, ]P@*SM[N;S\?UVF79 '\G'JJ&AG#JU MQ>Y+$-Z_TQ@YUGGT$OLB2J^@_L87[OSR1@?R 'F'6!%6]>QTWKZL-VF#T0]N M6*SH<+-V_\^VSQEV*[T8_0%02P,$% @ 33%?6Y]FCX4""@ ?50 !4 M !PFUU@6(L4)9%% MFT$WTPZ*S;1!DV(&NU@8_$R$VE(@*TWR[Y>2[42*)5FD8O4F<6SZO.<]T>-S M*%M^^^O]:NG]4/DZR=)W,_C:GWDJ%9E,TJMWLV^7'P&9_7KRZM7;OP'PU[^^ MGGF_9>)VI=+".\T5*Y3T[I+BVBNNE?=GEG]/?C#O?,D*G>4K $ZJIYUF-P]Y M,A'X6[9[M'\38P9C#"+04PB!##A"# _B@&BC*% 19H2]LO5FUC+&/F2 M \J(!)@)!A@A 4!!Q,(8$M_'J@JZ3-+O;\H?G*V59^REZ^K/=[/KHKAY,Y_? MW=V]ON?Y\G667\V1[P?SW>K9=OG]WOJ[H%H-*:7SZM''I>ND;:$)"^=__7%V M(:[5BH$D71IAQYME1?E?;*W]^^?NJ4I/-RQ3Q55^7_]ESE228O"I879XRKI<72_?2O$*HXR=%2J7:O%HV0GN)?#,1O5 I M^':Q$Z\4^L+/+%P5'73F:IW=YF+3UXQDV=,W69P\"7H[Q;?SI\RLB[$\LL7E MT=QEHA%U6;;E+']N(A,'3#P=Y&OCHG*P5N+U5?9C;IXX+V>?\@8H;U3'=D>X M^5[IW^>[#%DN#M1JNV(N,C-MW!2@43:=9ZLA5HILR']M4RXC./.R7*K<3(\M MR3>.FS_SI#"TG6:KU6V:;,:?]2)DW Q]- (^$C[ LISQ*,8 1XCXB(8RE&HH M1ZT*1T9IJ^DU18?3U%Z5PT"-]FK'E*5-*ZQZK3B1U1YQ,KAZ#=7YZE]HCUBY MJUB>7V>I^GR[XBI?!$R%00!]$$4$ APH# CD,8 A4B3V=42C:"A=SX,?&:Q* MSJOTO(W@<*CVZG"8IS'N[%"R,&:%49<#)X+V@DT&3Y>-.C>=:^R1.Y, MU^/F[C/M5$KC'K-..'4'G$RK'H-U?'J7VB/V7FNRN%' MF0S+L)?E9CS_HK5IV4($7#)? !'X9F/ 8PB(9! $6*N(Q0'CB ]EK5OFR, 9 M82!JRMY&VJNTAU/74Z;#Z+V,>3O^W'Q;07C8EA.)/6$GP_&PM3J3 U;;@_G> MA))EN(]+=K4(!%&,F'U#0"(*,-4*$,P94#0.$6(:"4J'LMB(?&3\'K6\4FPX M;TWWAQ%S]F1'U4 [5ABUINY$3C/29+"T&JCST;[ 'HD/:9$4#Z_0M'CX2?UNM;E=;!%YF2MROG/6L.*H>(R=& MFU*,&1P[/;[$^+@?_&<-D9TV>T;)[N>X=L]+=O])FLB)WI[MWIVGYEC"2$6 M"PP!AEH 3J(01 P&)) R9O[@=U-[E:;IID;<:ZI;G\+NK]?0[OH"57#JLO8% M<.BV!\R-Z+I=D2?NO@<,[G?A0T]PQ?;#2N5727KU>Y[=%=?F)>*&I0\+[?MA M!",.*-8,F([, *$4 \H#$DL<\0 Q.VA;=:9!=B?M;;2]K;@ML.V5&HKK:/]. ML-I:=T"UU]@(4-OC3HQIK[E]2/N7NR+Z,5D^OND;*XU4:+HG,E,R1B$"7"H! M0BI8S&A,A&^Y)7T*/@V,I9YCQZS582AU;NZ<4!MBS &O?0 HXT!4P%/N;4;"^QL,.F M*3 -.D^:7BEJB\^SF@Q%R-VI$T9#33J@U.YD!$[/ DZ,5+N=?:PZUMFC=:'$ M;5YVN7MQ;?YSJCJ,"(VDDH8J$@J#%C';.\98!"1#',6"8(P&=Z0V@2.CM9/T M=IJ6:+76Y#!:8YW:H65ITNZ#LSU.W#XZVQ9PN@_/]MAI?'RV;YT]6IH MZ?XP/[+ 9:,<*E];4G3AI1IH,D%8#=3+:%[@.4W65Z=\K@H6*%. ML]NTR!].,ZD6',J :"P QW%@YCKS@X0P-+=HQ#16D&G+TQ2]>M.,>8T4?O&J M)$S5O&TB7IF)[>S77\:AH^"+%<=I,AQ5%X=Q<9#;$=-C?_R)A\E!9O=GRV%/ M*72;%4"[-QDWZD8^!K&@.LD0:<,EA>3"P%9"3F>O"GW9\'/W97+#6\ M3'L0_8/_T]NIV\^8C\48/E^Z6+1LDI;NG(;+YS9 :/P28?*I_;:!LH]]:X M=L[W4II_V[J"\DM^GF<_$I/H(N(8,B!78$GKCW]=O;;WH' MUH\$]CQ;%VSYG^2F<TBHBD2@ JI6^V@@$&1 :F _H^YQ+Y4 G+=\_;9":& M=:/M&7&G8;:U4):@.ML?A^E0Y^Z0MAH;CV@S[,\!M-5:)Y[MJT?">6IN?LDO ML[MT07QN]IZ< )]3L_?$/ 2$A.9'2"31@F"D!E\PU*$Q,9:E<-E"2FE')FOU ML032S?4X&@<9=D=QW])X#FLQ?PZ$^Z8Z"6Q9.A*_[:^S)%5PX6LM(VAV@R$) M*<#$CP&/*00B9(&$.(:0#_ZP:*?*Q AN;WBEMOM?&XPY?,E"BE2M6;4)B$6I*? H4]Q' T-?EV^(^,!LUH@)!.)2#3Z[4 M Q\9A&H.*K4LMV,-[X=)<'5D1\) ,W9?KM"2N=MW*]0#3??5"BWI-[Y9H>WQ M+A3J%35=Y/O)J]T]R>;;*D]>_1]02P,$% @ 33%?6\U%.^RK!@ UC M !4 !PK*O91\B;LJD/YFR/SF=0AR:6]>I@_MOY6V+F/QZ^>O7Z7X3\\9_W MI[.?FG"UAKJ='6=P+<39==E>S-H+F/W>Y+_*CVYV5KDV-7E-R&%_V7%S>9O+ MU44[XY2K[;+MV;ROI6.%=)IH4W BC>?$T4(3;IWC HIDC?OW:E^GJ#F-GEAG M(I$N..*,$82+PBG-#*42^IM69?W7?O?#NPW,,+QZT_]Y,+]HV\O]Q>+Z^GKO MQN=JK\FK!:=4++:KY_?+;QZMOQ;]:F:M7?1G_UZZ*9]:B+=EBS]^.?T0+F#M M2%EO6E>'SL"FW-_T!T^;X-I>]7_T:_;5%=U?9+N,=(<(XT2PO9M-G!^^FLWN MY,A-!>\AS;K?O[T_>6#R,E=^+S3K17=R<=P@#.AF?UE[>PD'\TVYOJQ@>^PB M0SJ8=Q>1+I^,WAG[X>["Q2>;EQDV"$H?XRD>N+^^L_+_V8>;%NH(=_%L[UXU MX<&BJE.S^?O*RGFH^J/+".6RO^N1W[39A79)J::2!R"@(A('S!!C'24RR!2C M]P*">!ANY^X&_>W%WT#86S4?%WCC12=!]Z'7HM?AD;D[39[G]_:_[1S7+I6S ME)G(B- B$5F (L9P30(O#(_!!@9\E-N?6WOH]>>Y/,IAUN0(&;>+K3F7PZ.\ M/@3U?L7BTF6\$0D7916W5Z?1J[;9@7)W:4%WYS.,.D'.$$_OLO+5X/K( M6MQ$H5^YBXR?02Z;^*:./^$NNXS&X=;C(J&Z"!B[9KA'JD@2M0DBU4JF8B>I M?V!V$ -\^@P\7\L7AN%-W9;M[7M8E9T2=?NK6R/,2LO DB 6'28RV@(_44-B M A-U"%S%,(J%IZP.0D%,%X712DZ"A!.LS/)EDWOA/Z#^<-QNBJ;&$,],X* XMT'M@)%/%@-1SW@:0BA@B%('Q2?#@Z P MWPD4S]1S2DCT==&[?):;CV4=8,DU\SYY0;RE6$W;P(G#"II8;W&W\ZJ 9'?' MQ1?6!\%AOQ,XQB@[)4+.FDWKJC_+R[YLYD(ZQIE$MY7'PLE9XI7@A 9LO*3T MJ4AT=WP\L#ULF$6_$SR>+^L+P]%M>D<97.^WDLY'=)>(Q LBJ5'$BV2),U85 M6DBFW;B1UN?6A@$PX7'FLZ5[X91W+SFJLXNFWK9/K.!41&V)X5C[2+1'C,,. M.G%76"4\*#?N*?&EQ6&IG_ 4O4+%CBY M=-72%])83I%E2161##$3"XNTGE<6,S H,*'#>XI($Z-PJ&K]L>!L6$ MYY0[DG5:<)QL-E>0/X\EB2!U4AH;(.B??06QUFK""H7GC90AC'O'\4\># -E MPH/+G4K\T@\4"%?X4+QEW)^7;07+ HRR24>BM<9]T*2$E;'LQFL"B^8DJ>=^ MW./D"XO#<)CPJ'*4A"^<_O/LNN^I?;A=^Z9:BF 9MKR>"*4=>LCJ,@0E/'4=+.8EIXYLUY!6B_-_<7+<7^'"[=/7M4M@H M"P- M,<(I N<6.TU5CT)06?)J!1'$?$-X\.^.#7Y>>-X82?!QS%*EEUU@B7. MS<]PNPR)!8RAZXY"(E@88\=,?8$-M(J8X")%N8L7WU^8'<;$A$>0X\5\81J. ML-Z-7*$VT<^&AX5,6XR<,#<\.R/^$IY//% MVUG67R\>B7>*!PY?W9_H?G1?@S]\]3]02P,$% @ 33%?6S/-M>%<2 M?7 & !@ !P&5X>#DY,2YH=&WM?>ESV\B2Y_?]*VKM MUQXYHH3&?4C=CO!3NWN\ZZ/'=L?$?GH! D41;1#@ *!DO;]^LPK@(8JD"/ J M /EBQBT)0!V9O\K*K,KCEU$QCM_\,F)^^.9__?*_+R_);VDP';.D($'&_(*% M9)I'R2WY[Y#EW\GE9?7633IYR*+;44%T5;?(?Z?9]^C.+Y\741&S-[-V?OFY M_/V7GT4GOPS2\.'-+V%T1Z+PUQ>1$>JASGQ'-3W+=$S;]0S?<[7AP':ET-W MH(DX2MAL*IK.Q__NQR@:1 7Q/$5[//C-PX91%OX@9K/'@S0+678)HXW]2X" M:%R$LYZKQXIX]',1/GUF.(IN&!L?JXJV\=FV9FU5L6QGIV9_%D/.9B]4U+>< MDHXA 6KE$S_Y]87Q8O;.Q ]#6 97*M'6D">=S& 7C6^)'Q>_OHC3VU3Y>W(+ M+63!HU\?=6KKDQ]-Z*^;\.%\9:DZ>[J MG 2G?A8HW;X(G,=+-P#!P[)#KEU[I[7[9Y86:>P/(G0>3' M\)=\&L-?AFE&BA$CWT91%I+_FOH9#)6D0R%)=UGPNGKLR7 MGP$DE_RGC720S\.O*S/72,*_G0DC\1BIQ(WZY2<>P/SR( MGU^3BT__[^N[5R\M%YKZ\N&?KZEX\3[-XE!TX5SG) :EC>M_DRR]B\)24(71 M+5\:!.8P'?I!,/LKFQ1LO""V6A);J:$+G10=I2@.N>CS"Q!M5U.81L;?>O'FL8P7F%EL M"/\)3<2\F?Q,J!:LWY6LUY4F<1FS87%EV+,]*(+9)L75I>8>E_2;EX)N'U\L MK.O],44T4[$X!69;WKV?PQZ7E3MBM?F--VU^ 5^7&8 ?UG.VO&<"[NW99_#Z MFD53*@[FYN6!?*O%M^$T'@*].2]&63J]'ZM^PJEX3%Y.;-7 MDA6F:MKR/E;RQW2>Y2I\YN[VV5:V@G+(-5F@EGH]'^)"H_H(RWH*.J9X Q3D M 8O3^Z=8V'@Z.']V&NIK^HSWZD)I)[?63%$B1+5/!#P(65X]OL_2^ M&,%;X4S-J%0'2O+IA!\_P$N#!YA+EG(-GF6@=L-0 \:)G,.[&=#L.WO@BC0]!TX OQ2NSG!0'Y/9NQ8*2F7]\S M,O+A[1S,_F@8!3 N,D[YZ?)T#(,"@ E1#M.@I(KI;'TWZ,HACD706)I- Y_ .D&;(^P\XI/V" %& ;EG&!,@X M(V\?JEF&+(8Q"5MJ! "Y!"+$40%=E70FL)K =*JVO71:S*@:3H."Q-&0!0]! M#,P?9OQECJ?B8<); _I4K\'JJSJ+8:?)DPAW]);)N!V'P&J^#@+YH^Y M:"P!-$GSB/?&7UE FYM],6#Q$G@[+A?\ M*(VY57GGQP J<>4 7RF"_M*N6R&S?_,3\C483<=^ $2C%;06LJB"%I C!*NV MM++%M-YR"I1$?KQL9Z*O C^%A2)65@3/A!0-V3A-2M"(%V=8XX*!\VO KVKX M"ANG@"6^[M@/,/>%_>Z'?P.*H)UW_WS_[;>W!*"Z+*!%)Z3NX@;2)-I M%L#* :9 CWSA L0 [\%WN5!0U_1_"[LJ_QO,>\TIP,+V1R/\".K+SQA2LT<9L:CJH0-)#VDS#5-EK:1,[")CJ0B8+< MJ,6-MRO:C6"+KBV?_H#JJ5F*_1/7,BJ%:\8KT#*V?L/ MW5LPB"N_I2[)K9=T4JF2.9)\7U6($Y7KXU%R!YH[-XMS,O!C<0Y0BB_#7<@O M;AC "MGY$JXEVOCO8+F H?1(!_\\+>(T_2[+E-8#ZGUI$P[+\3^QS?BSZE*7 M&WN,:UVPR\\6V=RT'+#BGK&DO%%2%\Q.Q-V4L?B3-!Q>3XYO:^:[0AO!V]FA MXM+Q)5>8A/FY((:J:'I) U71U=)L368[P:Y-&.JL"5A'A]M1EMT;9Z'X)_RMU,4GH*>G?")U?23+?T?90MS>LLL!:)??+_TAT/G*C^_] MA_QQ]T?SRSR]S\L6_LG@B?#\\N"GD8#;>,J=*N:HG@F$ZO!X\ !_N9V) GY8 M7'IQ$-YV>6+)?H@VRO/""-H&.X.?U(S\Y);Q+OBQ'@PBJ$RZ"< M7'#W4UBJ %Q^2,C%F114%.R?T( MUN!=Q.Y9*!2(-/E[FHACSO* C0^Y/.82)Y2BN_G'?!U/8E-?W% N'0ZQ9>CGX4S&,X=MJHKB">N M5 I9Y:$?Y^G!&%DB=(6?U5_7L+5ZTAGNKLST;$QNH029BW<0Z_Q*H@DPGN)Q MCAAD1&U&+/:JAJMT/2>.NAXW#AZ7Y!Y(6#)I'ID\ZTP=06#F!R-^/,,.A!EI MY/V:J2.R=D9618>PM&7%=39,)2Z5"7&.)&@+%%M#9_H<[C;L(%OD62,KIS3[ M5S?^=7^;=1PP7^()'P%6!SWQS^$"@602]+$P28P'_X\V5YHY"W@J+0 E_?D6Z=(Z%[8?]Y(1AN^"IL+%8D'6QZ;A+.JA\N_(_3%W?$H2@#H_ M;9UFSW/P"3@68F,^AWR43F,NS;F]S&UA[OC$_3LJ;ZZHF!;\)#$3ER'Y5'", M7PK2=:TMP7=7P*YII3H\>.2Y5>T"><5^L>P%F@8B_ W4+!G*';82[C8UCHKJ MIH&\G[.Y(B6(D0B$IG"4>BK;MLV[NVV(\6NL/ZD["9- MAIR:@(T;/XYE&.ANVU<>C%@XC<4*"1:3 .0+7R70(H(I<" 27G?+[JCBB/EI M5!,'VKK#Z+2\:"CCHNB&6#) @2M\@?AYLC)6R+O?OG&G/.%NEY>G;V)DE13Y M2_FJD$FIDH1\%*[C7#JJ=^EJELH7./3*!<#B9?&6KFJ7M@MO&9;)^^0-%# 7 M[HL9)=-"R,)2+(@OGXR)KZS*ZU$AGU+AE1@%T82O["#E2E$^7\0@EF'ECX$X M?L+2*7?]' 2\OVIG$/,1RS,(2KZ4+H5BI_2K8SQX!02 ?^='L5A(W&M,'$56 MJ[74 ,6BS%EY]EO32= M\A\6WC)ES(!RE\+7)5-@G.+)>!R(_T[*WR:Z[UOA5/S"9YTQ'F:_9O1\T]1, M D#(ET8Q)T::-)V;Q +B[8![J\Y'+,- UPN(!5$K]]C'L9!#@"ZP97W<(V$) M,%BX.PHH>N9RUE<_O>E]?KOAD MCUU^B?#Y5I96+^+RU$$89QEGZ=:Y:R;N2%V,L?>.B9)-BM62> M@\+/@PX6*AE7I>$#'O4'TIEOJC/7_:'P;^3O5 <)PXI(<46DA?XY\_3B>G.U M=X/R)XP=6#/?A"R/[K@I]A5,GZP\K?@ _[DM=\ O_.!^# :.V#8US[-FBO>2 MC@L;1AK#'OX=EE9IY4Z3\F>PQ;[G_,0E8!FG@VA^;L9408VPBXRB8 04@&7N M_E-S-R MS_;+BNQ9E8]C&'%];WXY^/7=C4(^"TK,");R'V'T8124<0WSP?"+E4 8!B(: M948#XH<@!_FD@1 <%M#K4@R^V#S(< H"<4[2\M9F,V:>,08$,6-\4,CSCY8 MYE$63,?Y-+S"G%&>RB :M2-:QD?9#%86?]YC&SJ4&,S339F[1T#U\? M^7 ^I>_\0_GR +T_Z2C),^F(26VIE_JNG5INHYQ_L&5[A@9F64?6<-9$6*7 M9I-4^)[]5FJ491*X\XY^FVM@!D17_JZ(_NJE;5X_TDME65[KF?('$!J43_(' M& J3K?+@A(/R3._2WV82S?'-PQ-EU\8_\ M+&(F05& K@[EGT(/_<*2A'UGE#BV<6DZWJ7CJ.;Y!_=11%AS3>0F'8^G"=@4 MI=BL).NY1[AMJ0PX896L).P.0E(NVSW<.=NH^4(V>_]$F?Z>3VNX3>4\;7:^ MYVXCJINAF^6;H7]6$0]?1XQM.;B08 (7PN4_G>:@3>6ONY@!UE&5,O?%83/ M:KKB>9L?;VMV^S-3M8\SV-UHL#Y=K69N25=;<5^ 8P+@Y/\H'N]1[ MEQJI"+932MSM'<]>U2<_1/[<)^)A=9V42^2D0D.LP7F\%C%4RC>91\ED=TP/ MW!%:_,:"BA3:C!3F(U(<#A_/ U-Z:EW\E?C3,((]\O5A\7+813OP@^^W8.0F MX65%E"!@;#C<1F@>!RD+F=_F^;+>L85LSTUT%]*?O(W:W!N*_\G'O2>&D>#> M377MXS?GXLJ$&W'@V&T<: T2\5]/8G;.8J)%Q#EW5KGSXT<7FH]ULITFKA+) M0?R/O6;WI#*&+-/25).:NEZZ4^TSQ1ER:TSUD#(8L28_UER/JHYV/J@=:)N5 M7D!_Y9D5RRR!95[*\FAC[A^Q<0?6Z]%B[3J2"G&:25W-J8FX+5P_EG#;537I M(H-4S3L?@_JBLW&/DVDB KX"!OK:@*V()6JZADM M4=01=F"0V9&C L.15S9\2WFUB0.(@6K^N]WRRX\_7;>HXS6\*=G9U:$M:D57 MN*IY)G6MAL<.Q^5J$\^U5EZ<2W3Y+JM0_C/CP>7%0YDFYW^FD0@,ZMD1KJYI MU-#K'A.@^7;*/=*ANEWWI$T^ TY6,?!'FH8\*TI_S#+=,:CGU3VR0;NL1QSJ M^-9?YE>(DL)/;B/NR%&:9#W;^S6/6D9=ZQ^W_E,J9^?U(^SXSO]A7OBU[RY= M'M7.>0R(^L!S#'*H<\[+]JZK _/$N%4RH[T/:-L%+YVJ&AX!R,P?S\,#@&-1 MMRRGQ?9?^ZW<6DP\")"8.W;MRS'<]>L= L1S(Z!ON[Y)+>N,NPKN^L_S1^^( M[[;\OAGK%_]S<]WCQEXF$NP>&UEOWM(N+<>RJ6LU=(Z6P^_D&94(D=M1Y)H& MM;2&2F$+?&L.F!9D:;8&3"E,I_Q\MW:F)YF&V!E+?'U*F@^1/XCB:)X07I1= M&Z4QKVGU'\)%I]@<8;4?&:1:Y.M7][E\PEI(K8Y;KK/D/_%BO1PBCU,+&7W& M;%,MI%9?0G'FD?D3_V%=+-[>9X0R3;:V"MP.15=SJ.&ZK3^:1JBU &I6@RP) M\IVSMT$L9].5NMS].6[7#:K;=04:GK>?4 S8U++.F,VF1]J9$ /QBK4O8J7[ M<_&N.]0U\.Y=7@9I'K7U]OO@2R\/9J<9Z8H7WBZG&YW;A%S,IR8Q=S2JNW53 M7Z*&T%@B#!]YYNTK#UJY"1GV&5-XH8KP''?.F=WF&6DP*ZN4I+QR@JG^.0HU+-ZH@7CZ$KEKRBH+SV6O7J MVR6&[XC7)#(1J'8)XM8'*S<*LV_391\BMZ/(;11F+^N-9AWE]B!!\T?L<,/T MK6W&Q[/\J#?.=C4B"/:S2&X+_PVCNS>_P#\K]#.Y7C%)\XC'Y%QE+/:+Z(Y= MWT=A,:J6Q/)7)2*OU,4G_@#&,2V>?E(NW3>_#/@HJG4D_KS\+V\Z"G]]$1FA M'NK,=U33LTS'M%W/\#U7&PYLQQFZ0^U?SHO9-Z-L@;9;=CG(F/_]TA\6++OR MXWO_(7\\Y'&47"Y/MN8XEUORLUMH3-!??RRS Y9 _R=-G*!7I4R*E'P )E#R M/@F4QS-8&KL$8[U)DY 7R L)_"3 ZQ?PR]<"_L,+L.0D'9(J(RN\(/-4+MXG MI!BETQP47: \^Q$POB"YQBMT7YC$[+>Q"$A^+?5L_DK\:1@!,S8/W/3+7O@S45U6HZ MH+,,UMJIV2;'IVU5/K"18VIUFX^5GNW8>_+J&A.TW(EDR0[U;90Q1C[">Z.< MO ,E(N3*VE?8WWE46LM0%K+K4S5G=)*# H.P(+',##*IH9[Q&+!FE4U]#Z/#J=RRPNS_G= M=$XYT\^9CAI5YV=3N*%A(R]W;+W]M[C=Y4[]PER2VIRZ*^^N62;PV&?7[%A: M<\VPJ&$W5*A;D;^BEUS5+6K73MJ$7)6;JX9G4]NHZQV#7)6+I)\X*G\I>W3VU%@U: M=&S;%:9:#M6-AF>ZR%1)F:HY-G6:%BQ&KDK+51# M?U^3L)5K$2!;6!EC@T^ M,/,:I^S'A"=7,SX*1V$9#=L?B M=,)3\??'B#BVN\#(_UVRCU)O71U3;]&#DG+H;-6A$?NR+Y^^A7PF^[N*-"CR#.+'V@UU,#E<&7#<,*G M:I-+[=J9!)"I^P)[5)7PYB%KO'4*IYE(#%VK'F,ISMZMUL"&:<:J#904_H_]+JJ[HL]I*M6;7L.ADBXI4WGNGH9YE)&G MDO)4UZF'UG37F&I2KW;L&UK3^Q/^SRR]B_(H30AH!?LK!2U5.U6CX7T=F@6G M$ [4=M [7%[^.-2NK64A?T[)'\]JOV^XK#OH)U94^^9Q%)>U^)*) /\XTKPE M7D^Z)N7-SX$,$,1M5W&KU!U@:@Z>V_Y4&@ MM0%H=OO3["+06@&T]M^[2:]9_A;%TX*%>QRP;+)$.[9V:DY MGN-@1&[+D%M;Q47D(G(EF#&H,ON77$/DGIV/O43N_E=PQT NWL'A$%LQQ([? MP7WEEVXYF>9E1M\@'4_ GN29!?!JKM=M]/IJ;H\)2ZL*Z 9U78]JEG.(V1Y" MC$M/,9-ZKDHMPT:*[8PQSS%Y)3^DV(X4LZBA8156=IWZVD&([8TPW/6K;B+$:\M?5J>ZJZ^1OK>.)TK L)[+) M;7D7DF(['6]'@.OGPA_$#/X;1G=O?H%_5K!F6H#?29I'/./OE2BZ$]VQZ_LH M+$85=I>_JKI7%Y_X Q@';*Y//BG7V)M?!GP4%>;%GY?_Y4U'X:\O(B/40YWY MCFIZENF8MNL9ON=JPX'M.$-WJ/U+4U_,/AK-%\S$OV67@XSYWR_]8<&R*S^^ M]Q_RQV,>1\GE\FQK#G2Y)3^[A<9$O(#^6-H$+('^CRE8G%7!HE>Y)8J4? N M4/(^"93',U@:NP1CO4F3D!>;" G\)- K*CQ]+> _O/9P3M(AN?'S$?D]3N]S MF:=R\3XAQ2B=YGX2YJ^E'NE?B3\-(R#TYF&NX)KO/5QJK(@>&&SL3W)V-?OA MFM?CBOV'JR@1_8J/KJO&*DG!%]S*'BR(4CY>K$5%+==C98Q4/5>/%?%HY4JA M?.9HBF=L?JPJVL9GVYK5=$5U-W^ZK=GMSTS5/LY@C9V:;:YP; F2VGWW:E\C MSUC(SW;L/7EUC:I:RH;3ZZI/)$89+P-_(1_AM5%.WH'$#OG.^)5-0$@/6$8, ME=8Y0S@H:Z2GG:[J.UF1IT%R&\AE[G<@)6LFL/7S_3RON[5#!=.9!LGM"FVYXP[7!WV2=90HO\L1!JYY_6/ND-SA+@T-+[^;?AW].\ M*$\ABI1D+$B3((H?N:C W_EO 3^AF/"W(OE"+>3!V_C MD-NTX4%X94=HL1/ D9B!LH!20NKJF7Z-V("V'=*MA4PFK=NVK4 FH3^6;D)[?04I0L^[_D M.0/;@>_^<>0/]K$06KG%Z-0RSG@-CRK L[7J;0V=Z4[BW;R3E]P^VD)7RK); M+E6MAAN6')77#JAH=(6I-L_GT[#>>0NJDNVZ@>S0QI%"6,XWPHZ',+U/[EA^ MP!"FWO@YR[QA_SG-@I&?LWSY$(\N3O"$1I]R^Q[V]4E4^'&EZO='M;^PJ>/I M9SE 0K7^.=ZXU#!J',:@2E]?0F0I##S,R3!+QR3WXQ/)BE8>0+F:AA>%TG*G M]@F-I*>#4HN+985B[&??6951A@73K&>'@A>:02W+0-5!3N:X5'4=&76'UOE! MM6[ '=7.8#PQR5C(QA/A@BXTLK%?5)+WL"*YE2J IE&G Q5W.\P@BSKJ&2O5 M]D5/F]_4B,H<40+_5^-X;P=MH"L'^A<.==7Z_D-R7- <4+OK##\UE=IN?:6\ M!9)?\(.U-F:?WES.\B"O$ ES,'O#X[6AO]5.ZC/)^*2%/0XH-T/$X3 M&$H:?"^?\E/8XH& (=2GR%->\J+A93MJ\R?@CTY5#P]=3WOHFI<5]^ZC8C1B M<4B&:<935.P=FM[.4SZ#:MIY+@CQ!/9939QZ>OL35<@L&+ZPR;)H6%8;^J,D M7!@V=8P:'ARH(9R0.:9%/ MZ.^&0Q:4>;%^!"*$E&1^P4A0A9."72*DD4@WPW_@)YIW?LR5%;R'?/'&<^O> MBN--I-PTRTU336KJ=:L,MDGK0N1V M$[FN0UU'9M6REG]M.:"RG?VK-:]O9VG6!CP)TRF/S#EH%^<:JB#YSR+4"/X; M1G=O?H%_5CA@6@"L29I'_-[Q2J2>CN[8=57>7H!J^:MJ9.KB$W\ 0YP63S\I MP?^&ES"?0U'\>?E?WG04_OHB,D(]U)GOJ*9GF8YINY[A>ZXV'-B.,W2'VK\T MX\7LH]$<1A/_EET.,N9_O_2'!?\@?CWD<)9?+LZTYT.66_ S,A'*) MZ(_%7EG=^Z2ZBUZYJ!8I^0!AGD^$BRP6!C?Y*SJ]D/ MU[/@T2@1_8J/KJO&*FG#%^W*YB*(4CY>K&=%+==T9:E4/5>/%?%H93,LGYFJ M8FK6QL>JHFU\MJU935=4=_.GVYK=_LQ4[9X/UE14JU6#-7=JMKF2M&><$#;2 MG4:>.:QYMF/OR:MKK+QR)Y+@ $?L3]]&&6/D([PWRLF[)&0A5^:^PI;+Q@/8 M:0V5[A"+U47*?(*_U"#,OMBI UJ9:5=>#ZNZM4L(WVG6>!O(91YBE76-*(BA M/3#4F9N'#2Z@,_LV*9TBP+ZEQ __GN:\ !@/',N?J7M.N0$)<_GWRE^G2<9@ M;O^&SZJ"07%5(Q%:A2$D))AF&4N"!TINWGTF1>8GY8D.=)-7E03*G];5(YN7 M'CI,*MK.1;OC"*7)&""]'_B* -CG@K=#-S+K9B?MO8M#]0X4($.DM0%I6E,_ M9$0:(JV>ZZENUG6"0*@AU!I S::>A]6ACD[GMV%(^&1>O;3<)X0^M36 ;9RH MC4/:4;HK+[J_/G-4TA^';H/:SAG%*?IS[Y UK?WF8G?YH_'$2"XR2%X&Z=0Y MYX'+(15&F;?4MVON%OJ3M\IK6D=2(D__[G+'=>M*:.3.Z;@# MK!,@]2\Z>V M"BIIYC>9-]"_=KZ&[X]U>H&U/*7DB^;4S12-W#GAJC$T&]>-C)PQ]+H1EVB) MUB;R.A^U_EBBVAES^*,J_0QS7KUT=4V_1@Y)RR&-&LX9C1WDC^PKJ"_FZ,U! M'+H[I\&9F/Q*7N8T$P[(H5-Z"N+ZD9<[9U\_IX[A6DI*435QR=^_TES!\1.3 M_UM:\%U5Q'25A3]F/#C40&S%VF$D:Y+\\$"<2T-9DUZ#.U'Q!F!MKZ3$::"+ M=B=MJVTWO!!N15*X/O+4HKK5\!H9>2HI3S6+>DTKV"-3Y66JV]0=IUM)L^52 M;ZJD;+R^Z8 E;!@5XG:[M?J.OH>^TTKSX,)2SU/F"PVWYSACZS5J7B%G3L@9 MC3JX:J3EC6J?QU.B+V&$:[+68&K\@\Y;VM6E:=1PNUR/"(';6>"Z>D.'= 0N M O=\COH>-3M= 0Z!VTW@&F DV0V]KN2K1=+8P-JAC0/5(,$A=FV(!P%J&U*4 M8!O2IGV1=3]=8B;U7)5:AHT4VQECGF-2U=JEL#A2C%/,HH;*1$BCJN')HD-)3S&+JKI.S96U@13;AC'=]*AM(\9JR%]7I[JK MKI._MW42).*FR \*.4 M(?.=/$I"EA17E]Y!4XCLD*A#WS\QV>E6N!CL,OTLQ;$XQ9ZK/$F)OZ:0%B73 MG:N#4+(N ;K(W!K4R>E*[EG&^%%,/ WA[2@AQ8A!;W&-58MC#3X$FLO'U_=16(RX7%94(9MG"G#5<_58$8]6 MSK/+9Z:JF)JU\;&J:!N?;6M6TQ75W?SIMF:W/S-5N^>#-175:M5@S9V:?<9\ M>W9W\9Z\ND:/"F"-L^STBI2S5I'Z-LH8(Q_AO5%.WL'V%/XRR-Y\91,01@.6 M$4.E.^BD7:3,)_A+#<+LBYTGFLGS09GRTDY7]9V,OV=GVAMR[7+RUCNB((;V MP% #6_B@%-NA$>RO:7]]N>;CA32X092Q.Y9,:Z>_ZJB_4ZLB"YRF>:PP@@5Q M5J=.M88A>8BS$UP]4,-J?\5M1%H;D&;J9XQGERU]$[;1HC;Z8J!\]+/OK.!7 M.OPF*/?CAO7\6EE/TC7:KW)UESN.CMR1ESM\P&LM<')@[MH,U5^7ECDXU'5>/S/Q1 MC3.NG[X8H7^PA&7<_Q#V4#\<1TF4%YEP\>R/+:I3W:PK"E"?/B5_7+MAL5#D MSPGXXU'-P?,">?GC4MMI6)<5[=%Z#B<[>_GWQT@UT0J2ESFO7KJZIE\CAZ3E MD%:[LA1RIT?KIR]VZK>T@/VS"FY+;FGO=F.Y1MDPJ$/(T+U)6\3J#9MX5 MGII4MQO:5,A327FJP4)M:H@A4^5EJNHV/#WL5PU%;*-%;?1%K_Q%PK(5\T!R^CY.7.A:'9N&YDY(QQ3J?(CF>/+H]?_/#O:5YP M'[LGYR[/S;-W)>+KS5O:1652V]Z_L, 93=9G%&7$;3=Q:U'=JNN#C;A%W)Y[ MPII%/;6NLQ,"%X%[[@D#<%U#2DWA9-F,]JB$@QWNT>'.V76U$V?7W2E?[8LW MN@1Y1K#BN_+]#)[RQ+KB4<9B=N<# M1?Z>9E$>1H'(:JN0;_#L)AT#:![^(U\4,)I]GY,P@D8S,LS2,8F@]]7'4T8F M602X &IR/SW>V3CZP9-%50YZ#WP2/*^OR+\;PG1RD"]BCK.TO[R]1P,33S,V M3N^$?\+3>0U8PH9\/&)@^::$Q$M#J,B03ZJF)L#G-%2>2^2[2$Q]W>+4OIZK M>.KFQVN2KZY(>.^@J=NW"YFJ2Y,3Y6FR[#DM^(B7OJJZ5Q>?^ ,8Q[1X^DDI M'-[P1**/V;_\+V\Z"G]]$1FA'NK,=U33LTS'M%W/\#U7&PYLQQFZ0^U?FOUB M]M$H6XCH6W8YR)C__=(?%BR[\N-[_R%_/.8Q(&!YMC4'NCGM]-/\B,>4Q$\R M(0I)_&>6@CSX %R@Y'T2;%YI$HSU"PO2)(CBJ!0;(+Q*.9>23S.1^$?&2H7[[FH2Z]CF8;98YF(Z];8-MMOIU&OYKIPF MFR\VTII&,"<_YN3'G/R83_WL^=010XBA?3%T((=,6>]+OC3+TMZ[VZ)Z\Y;W MMLBPJ&%W.6@)D=M1Y.H6M;6&Z4@0N8C<\_G'>C:U#2E#E1"YB-QMR'4\JID- M*R>>4&+&3>?72N-A(/:5TBMMF2&.D0;A[3]=%=>2?%U4Y!/E;ZT/\FF3 ,K.$C,'4PY)3%W M-'K6U$;(GV?Y8ZIUD[3+EWI*^LWT[3B%?UAJGC;8K$W,'K8GFY MHU&U=D%KY$]O^-.7F\AGDSCV\?36<1NJ;JWPB.PC1UT-"V=TBZ,Z-2PIO3^1 MIWOPU-3K)NALDT>O]-K /$O,[18?W[WU3)EF7#LG8SN\XVV=JK7/;^4S;Q!J M\D/- M^A"B1;T7AFST0T4,H2\S8NCL&'(10PNM;M;_7@5XZRX^9;#'O/2*W4\C%O/>(W%8B%_/>(W); MBES,>W\FRK\O:]B+2NUI>:.4)LWB95L9D>U25\/\ZC+SQW*1/_+R1W.I@0M( M8@;I/&E373L,>$(H5[E#7E[Z.SW4F8HQS8P8WN_,[;SD/B&B=0DNAKI+G],JGD- M'0F0/ZM*Z&1.R>\ MI*&.@Y=H4O.GM@HJZ1V:S!OHS;O/I,C\I(R7AZGF^Z5N;Q?(-"Q-)2]S7KUT M=4V_1@Y)RR&-&@X>$\C+G[.OH+Z8H3=\VR0B/PT+>@2'-> M&B4HHCO89%F//#W-,Z8]107[*,(!.73"[=7"]2,O=\Z^?OKBYHFEQ=;>T-DV MEJ+J%D\MJKI=#B7L(T\UF^IZW5L:9*KD3+6HI=4MF=RFT$GI=8)Y2LYHIV#* MO35/F>;>U4(I!C5K.X7)9_ @U%H!-=O&JG8(M1-XNIK4ZH"7#D*M!5"SJ:>= MT>6H+^=1<]T30X_7;*VJHF+(%IK7>V(("]8AAO9SOE4H30LEXW MZW_VIO5\W8@6EZ?"=K ,V)O:9W MPL'OK?!+8&'U-YFGUNF28&MQWIXB8:YB:)L?-ZX.I2J&JA^AE)6A[U9SJKN# MU8'5SN$H;\.:&:;%'=K!N;B PZ(8-LZGEGC'/K^'G6RL9Y -?\=L'+4HR#9_J2 MB;]G=V]M&QQJ.[$B'+H+!Z-^63>$0W?A8-8O%-EB./0E.<9;K*+5PS;ZDK%\ MEY(?>TMIF29<^]2Y'6?+]8N7R)'GYH^O4TPUDD+P,,JEV MS@J-?3FO><^C.U@^NY"E_'*V/]>Q%QK57>UUBRV"CO/&0=Y(R1N#6H:.O)&5 M-Z9[%M[TQ?;\,TOOHIP;GL,TF[DR%?Z//E6/,ZC:@6/3FT'/8'EY8]# M;1LKT,O,'\]JOQ^P]-XP*WG9&FAG74EHJCG4\+H<0-M3IIJ>E!%ZR-3F?ID6 M59VZI_O(5,F9ZH+XE7*E]L4QMDK;^K%Y2% U\:Y 4M-K5%JH-?>6N8:?P5CI M#(8,Q!!B:$\,:/S''/OTYYZHAK4[D!=Z.[RQZ1:;7=TY,\IE6OJZ7@1*#&#=.J< M,^=97SQ1_THR!B/X-^RH%[=^E+PF<9KGI'2R@1<3$DRSC"7!0X_\4]''3DJ^ M:$[#?+'(G5.L&D.S<=W(R!FC=LP->J?6)O+-N\^DR/RDK*X)4\V+'OFE:A@6 M*2]S7KUT=4V_1@Y)RR&-&@X>%\C+G[.OH+Z8HS=\VR2BFC58I$5*V(^H$#6% M>4':-/=CX@=%= >;;,.PCU9J<&9#OS=4KZ45#LBA$VZO%JX?>;ES]O73%U?/ M;VG!]\_P[VE>C%FRGWW:%1<9@SI&70?D_3UEY%3*N\)3$\PIY&FW>*H95#,: MAM8B4^5EJBHG4_OC,,BU ;"UUX>$[JUIRC37KJ:^U*BF-PQAEB:AXTY-H 83H=Q*R5AI"E MV'L80-LFW[)(K?-:TRU'D;-7R"BB"%$D?+EJU,=$%"&*UJ/(5G1$T9)Z-^M_ M]J8I,%(38A6%RHEM.O?=C#O -M9!O#/A0^+$?X;1G=O?H%_5O!L6K T M)FGI_GPE/+BB.W9]'X7%J%H6RU]5W:N+3_P!C&-://VD7+YO?AGP453K2OQY M^5_>=!3^^B(R0CW4F>^HIF>9CFF[GN%[KC8RCT7Q13OQ; M=CG(F/_]TA\6++ORXWO_(7\\YG&47"[/MN9 EUL2ED]Y=Z$_%N(!X[4!CBFS MG%69I5?9E8N4? N4/(^"93',U@:NP1CO4G'$S^+\C0AZ9"(ZO8P]D]IJ\>*>+2BEI3/=%4Q-6OC8U71-C[;UJRG>/;FI]M:W?[, M5&T<:TO&JGF*:C4=$!)V^UC-G5IMHHL_ZV>PN]*%C6 CW6QD_<+2[2T+Z]G! M:-:3=]><>I1ZT.E-__7:T;=1QACY".^-)Z?8#ML[]+O)?RL9Y?KFM-H0^U>V+^7R9YD7MIN8'/HXPY3/:.;U'': MGVFFPPP"Z6;6+6N%##JA=%.5(Q07VJI0(&-V8HRI>.=@3%^N/,KQRWFM$ M;D>1JUO4UJ3, WV&:X&N)/=VZE\8[,%+F1;PV6^6N@(A&R'4-&R]F7/\IK1; M3;W)L<,3=7C"5[N00V%]]BOLX=0]8"/MR]NPQS"7,CIT("+K$_SE,*D>,/BO M#D5WR0ZQ'T77!/!W/0(8,TJ<*Z,$0K4N5#$+Q5$@6R,+Q5YYG3JU96$6"LQ" M(?O"QBP4M151S$*!62B.=[J+62APA#A"24?8%Y=,S$+1\@A:0U>IT=3A1R+G M",2:_%C#+!2(-91KB+6N84WG:2@\H_58J^,=UC8?,*]'>0<0#@B'I=EA&HIN MAILZ-M4]$P.UI670A4Y5R\(T%#+RQC&I;F :"HD9!#JUZ2"#I&70A:EH!V>, M3/K$3T\D-P)B*R!LQ>D3(/IRQX-I-WH83FMX-K6-NM9%F\)I$;G=1&Y=JPLQ MBY@]]X0-SZ16[:R(B%Q$[KDG;("=WNV$,76N0;J2,\%4;,R9@!#:#T*[GPYU M&4(;,AU8SP='KX^J*+T\DP$:(SE]TG[??Z$25$,I@JRH4,TXP4 M(P;_GS%&_"0D"8_S'ZA>%#%Z'!L<^C[MAP&HL6[OQX"G^$S_E$8/MC6?S ?QWP MH; H2GH/9Z&LQD'),8SC,C5C9B;>QGMU$RP[4-3*G^PN4 M_U5",.JR@/';*,JYL)B.$V VRX$DN> 1@("'V/E _XH-PRP=$Q[H-CLXWP/! M)@?7@=JR-D-#0LX;R/F4)%4\Y;$]KHL-'T@ M;Y(7/K!F/H!2S$9YFNPJT,K]6&S"*SLY,"_V)SF[FOUP'4;Y)/8?KJ)$ $!\ M=/VXN341T6)1E(^O[Z.P&'&M7U&%YC^[#:QZKAXKXM&*$50^\US%4S<_5A7M MIQ=;[0COH&;$>A5FI4N3$^5I#/F<%C\]3@E0=:\N/O$',(YI\?23C;K2\K^\ MZ2C\]45DA'JH,]]13<\R'=-V/RSP'HR4P[_R-+[8D0&#R!RLKLH8.0#-"7SQ"[> M)R ZTVD.DC-_+?5(_TI\4$9AJ]@\S%U0WAJ9K*N*J5D[R>1:HE[Q[-TD?;UG MIFKC6%LR5LU35*OI@)"PV\=J[J%&M2OQ+#:"C4C7R#&2O"VE>FU-T(L808_7$F:GI*,X0:L>'FDU=0VL]U.9M="Y!IJZH M/4J0B7!XAER:HO<(#GW)EWKSZ89\](-1E*PQ0'<" ) MC1W;=C!IJHRQRE[H'N =G3 ME]L/XS?R9Q8E15.ULY4VE*Y2U6W_\5IW&72A.6:;S]B[RQG-HY[JXM*1ED&Z M1DVCKMJ)##JE2:T8*-NDY(RC:&?A3%]..;^.&"O(1U;X<7_..$VJVVAGRLN? M"[V&.$;&G'3A8%4HB?EC4 ?O;B3FCV8HN'RD9L\95T]?SC<_%R.6S9)3]>F$ MLV$!"S0T3Z%RXN&FE'S150M7C;S<<=%-55[N7.B68J-8DY,UCJ+BP>81*=RL M+.?.<9D=BX^H-V]IEY5F6-2P&[K@R5%NZQGC&Y';3>1>:%37:VS6B%G$[+DG MK!EF@^*&B%Q$[KDGK.D6M;6&1_&M0&Z=0_JNU%1T%/>$O)1I 3<+V$0(/0WA M00@MGQ+,^M\E#WR=?$@'J:V('9ZSPQ.^BD4)L!%LY&1%"7!A82/8""XL; 0; MD:T1+*-390'GU62QBLZ&*CJ[4>>(171VO<%O:34$K*ZSH7=9J^MT'8]8=N?1UV9;UWQ()#.$(L]K3ND.4Z#JG>8'>V$ L=S:^3B17,[!T- L3=$K,(),::EW# !ET0MEF*IAY6%;.>)BA\X@$[F7I(4VG#M:( MEIA!%T:-O+S(F-.N'!-7CL0,TJBNX1&GQ S"ZD.2L^>,XJTO1YP]K3YDZ^UW MC.XN=RYT/ .0D2^V7ED-[;M]UWO,'L,Y8P:05_..+$* M40^K"QB>36VC;C!%FZH+('*[B=P+G:J6A56($+/MP:SAF=1RNES+!9';4>0Z M7L?K9]4YK.]*"1FS1EA>ETO(((3V@-#NH;Y=AE"3-/J;3BTJ I43.V(ZP?4= M'*8\#TX.)X>3ZWD'0BC^7/C J3>+;+6EI'[#$]UOS&1;-7?)!?Z5-]O_HB1D M27%UZ8DN3B?O1=;-^3YWTGZO'U%";">50P 9IADI1@S^/V.,^$E($EY,8)R* M8@*,%Q,@\TH"I>8^*[9 1GY.!HPE)&.PDP;3V"_@[6D./8EZ [QQGFJ8!%4^ M7\)^!")Q.PB4F I!C6?S ?QWPH; H2GH/9Z&LQD'),8SC,C5C9B;>QGMU$RP[4-3*G^PF4-_U5",.JR@/';*,JY%)F. M$V VRX$DN> 1@(!GS?6!_A4;AEDZ)CQW[>R280\$FQQ?TFKD#>9.\\($U\P&48C;*TV17 M@5;NQV(3GF_QY4X.S(O]2:[BJ9L?JXKVTXNM-I?W?.6RO568 ME2Y-3I2GJ>?GM. C7OJJZEY=?.(/8!S3XNDG&W6EY7]YTU'XZXO("/509[ZC MFIYE.J;M>H;ON=IP8#O.T!UJ_S*T%[./1ME"R-VRRT'&_.^7_K!@V94?W_L/ M^>,QCP$!R[.M.="GZ!3FO[XNS?HQ9>KZA.I_9BDLNP_ !4K>)\'FE27!6&^F M.8 '!,4-O,JUH/<+U4KF<5^\3T RIM,5#02D^['VLYR!S MUX?3'X:LO28_M'>8K5@[C&F-\PO?4"\-9]I8 M.W0NFQI.^ZOX(-+D1YI%+1>1AD@[_K0\:CIU\T ATA!I]:?E4ML](]*Z$ZR* M';2K@[.UL]V/?S7.YP7&*!XF1G&M)S>/&UH7;3,+YLE8D-XFT'VX'%:3L7S" M FY;5@&&!'@1\:":P8-X 9J>^C%)IL)CBP<'/G$NA^G=/6XU]\>S]A3RY#B3 M^!GCX3CAE(?XP/#B%-[E[NO)+1!!_ B/@VG&QL!UX;R>3R>3^(&'/D4\,"H= MLCP'R]B/2]_V5"1U!I3PP4_Y7^]'*9G$?L!CALH@("K>+$9^404% <7R4329 MP-CYDRBY2Z/@\41F!YEM<+ MT!132VY3_HS3J/P(?A#!"0E,#AA2+(;V-,:B17[PK8I1PGB;O<;Z!811$D1Q M5 8O XI%X"&,_],L"/&/:11RB,L\C5TB4S8-<_LVN.ZKTZYDSU-LSVZRD!U; MT53CX)$,GN)YNP4RU(VZ<(XRUMUB.398#18&76" P4S,_)=9QE1_GA9QFGY' MG_E-A/J0WJ.[\\[4^D_XN4_NSD*M"",>$AZ2A(&*G@1I::B (0!&"3I"]\.U M"?;?AN>$Z)&'L#TC;'5TQSL]V=^&(>%S>/72 _-ZL(U\IR@[ +-O1+EVBO0_9@-W\1 ML&;^;<"8:F")+F3/841 2S6"OY*,P0CXQ>C%K1\EKTF'?T[S@_@>;PZ]VV'"Z4I$"M-&&U2+E.#([H Z!+)7L M.*E=MQ!S!P>\B< C754QI#S2Q9L(A.UVV-;=.DYY$]' F>:XSM,'*K,CXU#; MD,K]YT$:/L!_1L4X?O/_ 5!+ 0(4 Q0 ( $TQ7UO9.R@(9 X .=J 1 M " 0 !P&UL4$L! A0#% @ 33%?6S/-M>%<2 ?7 & !@ M ( !,2( '!R;&(M,C R-3$P,S%X97AX.3DQ+FAT;5!+!08 !0 % $H! ( ##:@ ! end XML 17 prlb-20251031_htm.xml IDEA: XBRL DOCUMENT 0001443669 2025-10-31 2025-10-31 0001443669 false 8-K 2025-10-31 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