0001437749-22-003779.txt : 20220218 0001437749-22-003779.hdr.sgml : 20220218 20220218113157 ACCESSION NUMBER: 0001437749-22-003779 CONFORMED SUBMISSION TYPE: 10-K PUBLIC DOCUMENT COUNT: 106 CONFORMED PERIOD OF REPORT: 20211231 FILED AS OF DATE: 20220218 DATE AS OF CHANGE: 20220218 FILER: COMPANY DATA: COMPANY CONFORMED NAME: Proto Labs Inc CENTRAL INDEX KEY: 0001443669 STANDARD INDUSTRIAL CLASSIFICATION: FABRICATED STRUCTURAL METAL PRODUCTS [3440] IRS NUMBER: 000000000 FISCAL YEAR END: 1231 FILING VALUES: FORM TYPE: 10-K SEC ACT: 1934 Act SEC FILE NUMBER: 001-35435 FILM NUMBER: 22651440 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 10-K 1 prlb20211231_10k.htm FORM 10-K prlb20211231_10k.htm
0001443669 Proto Labs Inc false --12-31 FY 2021 1,948 1,781 0.001 0.001 10,000,000 10,000,000 0 0 0 0 0.001 0.001 150,000,000 150,000,000 27,465,945 27,465,945 26,776,796 26,776,796 2 1 8 106.5 0 0 3 10 6 4 5 7.76 31.43 31.44 66.87 66.88 96.20 96.21 123.10 3 5 0 3 1.5 0.4 0.5 10 00014436692021-01-012021-12-31 iso4217:USD 00014436692021-06-30 xbrli:shares 00014436692022-02-09 thunderdome:item 00014436692021-12-31 00014436692020-12-31 iso4217:USDxbrli:shares 00014436692020-01-012020-12-31 00014436692019-01-012019-12-31 0001443669us-gaap:CommonStockMember2018-12-31 0001443669us-gaap:AdditionalPaidInCapitalMember2018-12-31 0001443669us-gaap:RetainedEarningsMember2018-12-31 0001443669us-gaap:AccumulatedOtherComprehensiveIncomeMember2018-12-31 00014436692018-12-31 0001443669us-gaap:CommonStockMember2019-01-012019-12-31 0001443669us-gaap:AdditionalPaidInCapitalMember2019-01-012019-12-31 0001443669us-gaap:RetainedEarningsMember2019-01-012019-12-31 0001443669us-gaap:AccumulatedOtherComprehensiveIncomeMember2019-01-012019-12-31 0001443669us-gaap:CommonStockMember2019-12-31 0001443669us-gaap:AdditionalPaidInCapitalMember2019-12-31 0001443669us-gaap:RetainedEarningsMember2019-12-31 0001443669us-gaap:AccumulatedOtherComprehensiveIncomeMember2019-12-31 00014436692019-12-31 0001443669us-gaap:CommonStockMember2020-01-012020-12-31 0001443669us-gaap:AdditionalPaidInCapitalMember2020-01-012020-12-31 0001443669us-gaap:RetainedEarningsMember2020-01-012020-12-31 0001443669us-gaap:AccumulatedOtherComprehensiveIncomeMember2020-01-012020-12-31 0001443669us-gaap:CommonStockMember2020-12-31 0001443669us-gaap:AdditionalPaidInCapitalMember2020-12-31 0001443669us-gaap:RetainedEarningsMember2020-12-31 0001443669us-gaap:AccumulatedOtherComprehensiveIncomeMember2020-12-31 0001443669us-gaap:CommonStockMember2021-01-012021-12-31 0001443669us-gaap:AdditionalPaidInCapitalMember2021-01-012021-12-31 0001443669us-gaap:RetainedEarningsMember2021-01-012021-12-31 0001443669us-gaap:AccumulatedOtherComprehensiveIncomeMember2021-01-012021-12-31 0001443669us-gaap:CommonStockMember2021-12-31 0001443669us-gaap:AdditionalPaidInCapitalMember2021-12-31 0001443669us-gaap:RetainedEarningsMember2021-12-31 0001443669us-gaap:AccumulatedOtherComprehensiveIncomeMember2021-12-31 utr:Y 0001443669srt:MinimumMember2021-01-012021-12-31 0001443669srt:MaximumMember2021-01-012021-12-31 0001443669us-gaap:EquipmentMembersrt:MinimumMember2021-01-012021-12-31 0001443669us-gaap:EquipmentMembersrt:MaximumMember2021-01-012021-12-31 0001443669prlb:OfficeFurnitureAndEquipmentMembersrt:MinimumMember2021-01-012021-12-31 0001443669prlb:OfficeFurnitureAndEquipmentMembersrt:MaximumMember2021-01-012021-12-31 0001443669us-gaap:ComputerEquipmentMembersrt:MinimumMember2021-01-012021-12-31 0001443669us-gaap:ComputerEquipmentMembersrt:MaximumMember2021-01-012021-12-31 0001443669us-gaap:BuildingMember2021-01-012021-12-31 0001443669us-gaap:LandBuildingsAndImprovementsMembersrt:MinimumMember2021-01-012021-12-31 0001443669us-gaap:LandBuildingsAndImprovementsMembersrt:MaximumMember2021-01-012021-12-31 0001443669prlb:OfficeSpaceManufacturingFacilitiesAndCertainCompanyVehiclesAndEquipmentMembersrt:MinimumMember2021-12-31 0001443669prlb:OfficeSpaceManufacturingFacilitiesAndCertainCompanyVehiclesAndEquipmentMembersrt:MaximumMember2021-12-31 0001443669country:US2021-01-012021-12-31 0001443669country:US2020-01-012020-12-31 0001443669country:US2019-01-012019-12-31 0001443669srt:EuropeMember2021-01-012021-12-31 0001443669srt:EuropeMember2020-01-012020-12-31 0001443669srt:EuropeMember2019-01-012019-12-31 0001443669country:JP2021-01-012021-12-31 0001443669country:JP2020-01-012020-12-31 0001443669country:JP2019-01-012019-12-31 0001443669prlb:InjectionMoldingProtomoldMember2021-01-012021-12-31 0001443669prlb:InjectionMoldingProtomoldMember2020-01-012020-12-31 0001443669prlb:InjectionMoldingProtomoldMember2019-01-012019-12-31 0001443669prlb:CNCMachiningFirstcutMember2021-01-012021-12-31 0001443669prlb:CNCMachiningFirstcutMember2020-01-012020-12-31 0001443669prlb:CNCMachiningFirstcutMember2019-01-012019-12-31 0001443669prlb:ThreeDPrintingFinelineMember2021-01-012021-12-31 0001443669prlb:ThreeDPrintingFinelineMember2020-01-012020-12-31 0001443669prlb:ThreeDPrintingFinelineMember2019-01-012019-12-31 0001443669prlb:SheetMetalMember2021-01-012021-12-31 0001443669prlb:SheetMetalMember2020-01-012020-12-31 0001443669prlb:SheetMetalMember2019-01-012019-12-31 0001443669prlb:OtherProductsMember2021-01-012021-12-31 0001443669prlb:OtherProductsMember2020-01-012020-12-31 0001443669prlb:OtherProductsMember2019-01-012019-12-31 0001443669prlb:Acquired3dHubsMember2021-01-222021-01-22 0001443669prlb:Acquired3dHubsMember2021-01-22 0001443669prlb:Acquired3dHubsMemberus-gaap:CashMember2021-01-222021-12-31 0001443669prlb:Acquired3dHubsMemberus-gaap:CommonStockMembersrt:MaximumMember2021-01-222021-01-22 0001443669prlb:Acquired3dHubsMemberus-gaap:CommonStockMembersrt:MaximumMember2021-01-22 0001443669prlb:Acquired3dHubsMember2021-01-012021-12-31 0001443669prlb:Acquired3dHubsMember2021-12-31 0001443669country:US2019-12-31 0001443669country:US2020-12-31 0001443669country:US2021-12-31 0001443669srt:EuropeMember2019-12-31 0001443669srt:EuropeMember2020-12-31 0001443669srt:EuropeMember2021-12-31 0001443669country:JP2019-12-31 0001443669country:JP2020-12-31 0001443669country:JP2021-12-31 iso4217:EUR 0001443669prlb:Acquired3dHubsMembersrt:EuropeMember2021-01-222021-01-22 0001443669prlb:Acquired3dHubsMembercountry:US2021-01-222021-01-22 0001443669us-gaap:MarketingRelatedIntangibleAssetsMember2021-12-31 0001443669us-gaap:MarketingRelatedIntangibleAssetsMember2020-12-31 0001443669us-gaap:MarketingRelatedIntangibleAssetsMember2021-01-012021-12-31 0001443669us-gaap:NoncompeteAgreementsMember2021-12-31 0001443669us-gaap:NoncompeteAgreementsMember2020-12-31 0001443669us-gaap:NoncompeteAgreementsMembersrt:MinimumMember2021-01-012021-12-31 0001443669us-gaap:NoncompeteAgreementsMembersrt:MaximumMember2021-01-012021-12-31 0001443669us-gaap:NoncompeteAgreementsMember2021-01-012021-12-31 0001443669us-gaap:ComputerSoftwareIntangibleAssetMember2021-12-31 0001443669us-gaap:ComputerSoftwareIntangibleAssetMember2020-12-31 0001443669us-gaap:ComputerSoftwareIntangibleAssetMember2021-01-012021-12-31 0001443669prlb:SoftwarePlatformMember2021-12-31 0001443669prlb:SoftwarePlatformMember2020-12-31 0001443669prlb:SoftwarePlatformMember2021-01-012021-12-31 0001443669us-gaap:TradeNamesMember2021-12-31 0001443669us-gaap:TradeNamesMember2020-12-31 0001443669us-gaap:TradeNamesMember2021-01-012021-12-31 0001443669us-gaap:CustomerRelationshipsMember2021-12-31 0001443669us-gaap:CustomerRelationshipsMember2020-12-31 0001443669us-gaap:CustomerRelationshipsMembersrt:MinimumMember2021-01-012021-12-31 0001443669us-gaap:CustomerRelationshipsMembersrt:MaximumMember2021-01-012021-12-31 0001443669us-gaap:CustomerRelationshipsMember2021-01-012021-12-31 0001443669us-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2021-12-31 0001443669us-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2021-12-31 0001443669us-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2021-12-31 0001443669us-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2020-12-31 0001443669us-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2020-12-31 0001443669us-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2020-12-31 0001443669us-gaap:MoneyMarketFundsMemberus-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2021-12-31 0001443669us-gaap:MoneyMarketFundsMemberus-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2021-12-31 0001443669us-gaap:MoneyMarketFundsMemberus-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2021-12-31 0001443669us-gaap:MoneyMarketFundsMemberus-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2020-12-31 0001443669us-gaap:MoneyMarketFundsMemberus-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2020-12-31 0001443669us-gaap:MoneyMarketFundsMemberus-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2020-12-31 0001443669us-gaap:USGovernmentAgenciesDebtSecuritiesMember2021-12-31 0001443669us-gaap:CorporateDebtSecuritiesMember2021-12-31 0001443669us-gaap:USStatesAndPoliticalSubdivisionsMember2021-12-31 0001443669us-gaap:CommercialPaperNotIncludedWithCashAndCashEquivalentsMember2021-12-31 0001443669us-gaap:BankTimeDepositsMember2021-12-31 0001443669us-gaap:USGovernmentAgenciesDebtSecuritiesMember2020-12-31 0001443669us-gaap:CorporateDebtSecuritiesMember2020-12-31 0001443669us-gaap:USStatesAndPoliticalSubdivisionsMember2020-12-31 0001443669us-gaap:CommercialPaperNotIncludedWithCashAndCashEquivalentsMember2020-12-31 0001443669us-gaap:BankTimeDepositsMember2020-12-31 xbrli:pure 0001443669country:USprlb:The401KRetirementPlanMember2021-01-012021-12-31 utr:M 0001443669country:USprlb:The401KRetirementPlanMember2020-01-012020-12-31 0001443669country:USprlb:The401KRetirementPlanMember2019-01-012019-12-31 0001443669us-gaap:ForeignPlanMemberprlb:The401KRetirementPlanMember2021-01-012021-12-31 0001443669us-gaap:ForeignPlanMemberprlb:The401KRetirementPlanMember2020-01-012020-12-31 0001443669us-gaap:ForeignPlanMemberprlb:The401KRetirementPlanMember2019-01-012019-12-31 0001443669prlb:LongtermIncentivePlan2012Member2021-01-012021-12-31 0001443669prlb:ESPPMember2021-01-012021-12-31 0001443669prlb:ESPPMember2020-01-012020-12-31 0001443669prlb:ESPPMember2021-12-31 0001443669prlb:StockOptionsRestrictedStockAndOtherMember2021-01-012021-12-31 0001443669prlb:StockOptionsRestrictedStockAndOtherMember2020-01-012020-12-31 0001443669prlb:StockOptionsRestrictedStockAndOtherMember2019-01-012019-12-31 0001443669prlb:ESPPMember2019-01-012019-12-31 0001443669us-gaap:CostOfSalesMember2021-01-012021-12-31 0001443669us-gaap:CostOfSalesMember2020-01-012020-12-31 0001443669us-gaap:CostOfSalesMember2019-01-012019-12-31 0001443669us-gaap:SellingAndMarketingExpenseMember2021-01-012021-12-31 0001443669us-gaap:SellingAndMarketingExpenseMember2020-01-012020-12-31 0001443669us-gaap:SellingAndMarketingExpenseMember2019-01-012019-12-31 0001443669us-gaap:ResearchAndDevelopmentExpenseMember2021-01-012021-12-31 0001443669us-gaap:ResearchAndDevelopmentExpenseMember2020-01-012020-12-31 0001443669us-gaap:ResearchAndDevelopmentExpenseMember2019-01-012019-12-31 0001443669us-gaap:GeneralAndAdministrativeExpenseMember2021-01-012021-12-31 0001443669us-gaap:GeneralAndAdministrativeExpenseMember2020-01-012020-12-31 0001443669us-gaap:GeneralAndAdministrativeExpenseMember2019-01-012019-12-31 0001443669us-gaap:EmployeeStockOptionMembersrt:MinimumMember2021-01-012021-12-31 0001443669us-gaap:EmployeeStockOptionMembersrt:MaximumMember2021-01-012021-12-31 0001443669us-gaap:EmployeeStockOptionMembersrt:MinimumMember2020-01-012020-12-31 0001443669us-gaap:EmployeeStockOptionMembersrt:MaximumMember2020-01-012020-12-31 0001443669us-gaap:EmployeeStockOptionMembersrt:MinimumMember2019-01-012019-12-31 0001443669us-gaap:EmployeeStockOptionMembersrt:MaximumMember2019-01-012019-12-31 0001443669us-gaap:EmployeeStockOptionMember2021-01-012021-12-31 0001443669us-gaap:EmployeeStockOptionMember2020-01-012020-12-31 0001443669us-gaap:EmployeeStockOptionMember2019-01-012019-12-31 0001443669prlb:ExercisePriceRangeOneMember2021-01-012021-12-31 0001443669prlb:ExercisePriceRangeOneMember2021-12-31 0001443669prlb:ExercisePriceRangeTwoMember2021-01-012021-12-31 0001443669prlb:ExercisePriceRangeTwoMember2021-12-31 0001443669prlb:ExercisePriceRangeThreeMember2021-01-012021-12-31 0001443669prlb:ExercisePriceRangeThreeMember2021-12-31 0001443669prlb:ExercisePriceRangeFourMember2021-01-012021-12-31 0001443669prlb:ExercisePriceRangeFourMember2021-12-31 0001443669us-gaap:EmployeeStockOptionMember2021-12-31 0001443669us-gaap:RestrictedStockMembersrt:MinimumMember2021-01-012021-12-31 0001443669us-gaap:RestrictedStockMembersrt:MaximumMember2021-01-012021-12-31 0001443669us-gaap:RestrictedStockMember2018-12-31 0001443669us-gaap:RestrictedStockMember2019-01-012019-12-31 0001443669us-gaap:RestrictedStockMember2019-12-31 0001443669us-gaap:RestrictedStockMember2020-01-012020-12-31 0001443669us-gaap:RestrictedStockMember2020-12-31 0001443669us-gaap:RestrictedStockMember2021-01-012021-12-31 0001443669us-gaap:RestrictedStockMember2021-12-31 0001443669us-gaap:PerformanceSharesMember2021-12-31 0001443669us-gaap:PerformanceSharesMember2021-01-012021-12-31 0001443669us-gaap:PerformanceSharesMember2018-12-31 0001443669us-gaap:PerformanceSharesMember2019-01-012019-12-31 0001443669us-gaap:PerformanceSharesMember2019-12-31 0001443669us-gaap:PerformanceSharesMember2020-01-012020-12-31 0001443669us-gaap:PerformanceSharesMember2020-12-31 0001443669us-gaap:PerformanceSharesMembersrt:MinimumMember2021-01-012021-12-31 0001443669us-gaap:PerformanceSharesMembersrt:MaximumMember2021-01-012021-12-31 0001443669us-gaap:PerformanceSharesMembersrt:MinimumMember2020-01-012020-12-31 0001443669us-gaap:PerformanceSharesMembersrt:MaximumMember2020-01-012020-12-31 0001443669us-gaap:PerformanceSharesMembersrt:MinimumMember2019-01-012019-12-31 0001443669us-gaap:PerformanceSharesMembersrt:MaximumMember2019-01-012019-12-31 0001443669us-gaap:AccumulatedTranslationAdjustmentMember2021-01-012021-12-31 0001443669us-gaap:AccumulatedTranslationAdjustmentMember2020-01-012020-12-31 0001443669us-gaap:AccumulatedTranslationAdjustmentMember2019-01-012019-12-31 0001443669us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember2021-01-012021-12-31 0001443669us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember2020-01-012020-12-31 0001443669us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember2019-01-012019-12-31 0001443669country:DE2021-01-012021-12-31 0001443669country:NL2021-01-012021-12-31 0001443669us-gaap:OperatingSegmentsMemberprlb:UnitedStatesSegmentMember2021-01-012021-12-31 0001443669us-gaap:OperatingSegmentsMemberprlb:UnitedStatesSegmentMember2020-01-012020-12-31 0001443669us-gaap:OperatingSegmentsMemberprlb:UnitedStatesSegmentMember2019-01-012019-12-31 0001443669us-gaap:OperatingSegmentsMemberprlb:EuropeSegmentMember2021-01-012021-12-31 0001443669us-gaap:OperatingSegmentsMemberprlb:EuropeSegmentMember2020-01-012020-12-31 0001443669us-gaap:OperatingSegmentsMemberprlb:EuropeSegmentMember2019-01-012019-12-31 0001443669us-gaap:OperatingSegmentsMemberprlb:JapanSegmentMember2021-01-012021-12-31 0001443669us-gaap:OperatingSegmentsMemberprlb:JapanSegmentMember2020-01-012020-12-31 0001443669us-gaap:OperatingSegmentsMemberprlb:JapanSegmentMember2019-01-012019-12-31 0001443669us-gaap:OperatingSegmentsMember2021-01-012021-12-31 0001443669us-gaap:OperatingSegmentsMember2020-01-012020-12-31 0001443669us-gaap:OperatingSegmentsMember2019-01-012019-12-31 0001443669us-gaap:OperatingSegmentsMemberprlb:CorporateUnallocatedAndJapanSegmentMember2021-01-012021-12-31 0001443669us-gaap:OperatingSegmentsMemberprlb:CorporateUnallocatedAndJapanSegmentMember2020-01-012020-12-31 0001443669us-gaap:OperatingSegmentsMemberprlb:CorporateUnallocatedAndJapanSegmentMember2019-01-012019-12-31 0001443669us-gaap:OperatingSegmentsMemberprlb:UnitedStatesSegmentMember2021-12-31 0001443669us-gaap:OperatingSegmentsMemberprlb:UnitedStatesSegmentMember2020-12-31 0001443669us-gaap:OperatingSegmentsMemberprlb:UnitedStatesSegmentMember2019-12-31 0001443669us-gaap:OperatingSegmentsMemberprlb:EuropeSegmentMember2021-12-31 0001443669us-gaap:OperatingSegmentsMemberprlb:EuropeSegmentMember2020-12-31 0001443669us-gaap:OperatingSegmentsMemberprlb:EuropeSegmentMember2019-12-31 0001443669us-gaap:OperatingSegmentsMemberprlb:JapanSegmentMember2021-12-31 0001443669us-gaap:OperatingSegmentsMemberprlb:JapanSegmentMember2020-12-31 0001443669us-gaap:OperatingSegmentsMemberprlb:JapanSegmentMember2019-12-31
 

 

Table of Contents

 

UNITED STATES

SECURITIES AND EXCHANGE COMMISSION

Washington, D.C. 20549

________________

 

FORM 10-K

 

(Mark One)

 

 

 

ANNUAL REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934

 

For the fiscal year ended December 31, 2021

or

 

 

TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934

 

For the transition period from                      to                     

 

Commission File Number: 001-35435

 

 

Proto Labs, Inc.

(Exact name of Registrant as specified in its charter)

 

Minnesota

41-1939628

(State or other jurisdiction of

(I.R.S. Employer

incorporation or organization)

Identification No.)

 

 

5540 Pioneer Creek Drive

 

Maple Plain, Minnesota

55359

(Address of principal executive offices)

(Zip Code)

 

(763479-3680

(Registrant’s telephone number, including area code)

 

Securities registered pursuant to Section 12(b) of the Act:

 

Title of each class

Trading Symbol(s)

Name of each exchange on which registered

Common Stock, Par Value $0.001 Per Share

PRLB

New York Stock Exchange

 

Securities registered pursuant to Section 12(g) of the Act: None

____________________________________________

 

Indicate by check mark if the Registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act.  Yes ☒  No 

 

Indicate by check mark if the Registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.  Yes ☐  No ☒

 

Indicate by check mark whether the Registrant (1) has filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that the Registrant was required to file such reports), and (2) has been subject to such filing requirements for the past 90 days.  Yes ☒  No ☐

 

Indicate by check mark whether the Registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T (§ 232.405 of this chapter) during the preceding 12 months (or for such shorter period that the Registrant was required to submit such files).  Yes  ☒  No  ☐

 

 

Indicate by check mark whether the Registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, smaller reporting company, or an emerging growth company. See the definitions of “large accelerated filer,” “accelerated filer,” “smaller reporting company,” and “emerging growth company” in Rule 12b-2 of the Exchange Act.

 

Large accelerated filer ☒

Accelerated filer ☐

 

 

Non-accelerated filer ☐

Smaller reporting company 

  

 

Emerging growth company 

 

If an emerging growth company, indicate by check mark if the Registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant to Section 13(a) of the Exchange Act.  ☐

 

Indicate by check mark whether the Registrant has filed a report on and attestation to its management’s assessment of the effectiveness of its internal control over financial reporting under Section 404(b) of the Sarbanes-Oxley Act (15 U.S.C. 7262(b)) by the registered public accounting firm that prepared or issued its audit report.

 

Indicate by check mark whether the Registrant is a shell company (as defined in Rule 12b-2 of the Act).  Yes   No ☒

 

As of June 30, 2021 (the last business day of the Registrant’s most recently completed second fiscal quarter), the aggregate market value of voting stock held by non-affiliates of the Registrant was approximately $2.5 billion.

 

As of February 9, 2022, there were 27,466,902 shares of the Registrant’s common stock outstanding.

 

DOCUMENTS INCORPORATED BY REFERENCE

 

Portions of the Registrant’s definitive proxy statement relating to its 2022 annual meeting of shareholders are incorporated by reference into Part III of this Form 10-K where indicated. Such proxy statement will be filed with the U.S. Securities and Exchange Commission within 120 days after the end of the fiscal year to which this report relates.

 

 

 

 

Table of Contents

  

   

Page

PART I

Item 1.

Business

5

Item 1A.

Risk Factors

18

Item 1B.

Unresolved Staff Comments

31

Item 2.

Properties

31

Item 3.

Legal Proceedings

32

Item 4.

Mine Safety Disclosures

32

     

PART II

Item 5.

Market for Registrant's Common Equity, Related Stockholder Matters and Issuer Purchases of Equity Securities

33

Item 6.

[Reserved]

35

Item 7.

Management's Discussion and Analysis of Financial Condition and Results of Operations

36

Item 7A.

Quantitative and Qualitative Disclosures About Market Risk

48

Item 8.

Financial Statements and Supplementary Data

49

Item 9.

Changes in and Disagreements with Accountants on Accounting and Financial Disclosure

81

Item 9A.

Controls and Procedures

81

Item 9B.

Other Information

81

Item 9C. Disclosure Regarding Foreign Jurisdictions that Prevent Inspections 81
     

PART III

Item 10.

Directors, Executive Officers and Corporate Governance

82

Item 11.

Executive Compensation

82

Item 12.

Security Ownership of Certain Beneficial Owners and Management

82

Item 13.

Certain Relationships and Related Transactions, and Director Independence

82

Item 14.

Principal Accountant Fees and Services

82

     

PART IV

Item 15.

Exhibits and Financial Statement Schedules

83

 

 

 

Special Note Regarding Forward Looking Statements

 

Statements contained in this Annual Report on Form 10-K 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. In some cases, you can identify forward-looking statements by the following words: “may,” “will,” “could,” “would,” “should,” “expect,” “intend,” “plan,” “anticipate,” “believe,” “estimate,” “predict,” “project,” “potential,” “continue,” “ongoing” or the negative of these terms or other comparable terminology, although not all forward-looking statements contain these words. These statements involve known and unknown risks, uncertainties and other factors which may cause our results to be materially different than those expressed or implied in such statements. In particular, some of the risks associated with our business include:

 

  the duration, scope, severity and potential mutations of COVID-19;
     
 

the level of competition in our industry and our ability to compete;

 

 

 

 

our ability to respond to changes in our industry;

 

 

 

 

our ability to effectively grow our business and manage our growth;

 

 

 

 

our ability to continue to sell to existing and new customers;

 

 

 

 

our ability to meet product developers’ and engineers’ needs and expectations regarding quick turnaround time, price and specifications for quality;

 

 

 

 

the adoption rate of e-commerce and 3D CAD software by product developers and engineers;

 

 

 

 

our ability to process a large volume of designs and identify significant opportunities in our business;

 

 

 

 

our ability to maintain and enhance our brand;

 

 

 

 

our ability to successfully identify, complete and integrate acquisitions or other strategic transactions;

     
  our ability to complete and successfully launch updates to our systems;
 

 

 

 

the loss of key personnel or failure to attract and retain additional personnel;

 

 

 

 

system interruptions at our operating facilities;

 

 

 

 

possible unauthorized access to customers’ confidential information stored in our systems; and

 

 

 

 

our ability to protect our intellectual property and not infringe on others’ intellectual property.

 

Certain of these factors and others are described in the discussion on risk factors that appear in Part I, Item 1A. “Risk Factors” of this Annual Report on Form 10-K and uncertainties are detailed in this and other reports and filings with the Securities and Exchange Commission (SEC). Other unknown or unpredictable factors also could have material adverse effects on our future results. We cannot guarantee future results, levels of activity, performance or achievements. Accordingly, you should not place undue reliance on these forward-looking statements. Finally, except as required by law, we expressly disclaim any intent or obligation to update any forward-looking statements to reflect subsequent events or circumstances.

 

 

PART I

 

Item 1. Business

 

 

Item 1. Business

 

Overview

 

Proto Labs, Inc. was incorporated in Minnesota in 1999. The terms “Proto Labs,” the “Company,” “we,” “us,” and “our” as used herein refer to the business and operations of Proto Labs, Inc. and its subsidiaries. We are one of the world’s largest and fastest digital manufacturers of custom prototypes and on-demand production parts. Our mission is to empower companies to bring new ideas to market by offering the fastest and most comprehensive digital manufacturing service in the world. Our automated quoting and manufacturing systems allow us to produce commercial-grade plastic, metal, and liquid silicone rubber parts in as fast as one day. We manufacture prototype and low volume production parts for companies worldwide, who are under increasing pressure to bring their finished products to market faster than their competition. We utilize injection molding, computer numerical control (CNC) machining, 3D printing and sheet metal fabrication to manufacture custom parts for our customers. We have manufactured over 370 million parts for customers. For most of our offerings, our proprietary technology eliminates most of the time-consuming and expensive skilled labor conventionally required to quote and manufacture parts. Using our technology, we have analyzed over 7.4 million unique part designs. Our customers conduct nearly all of their business with us over the Internet. We target our products to the millions of product developers and engineers who use three-dimensional computer-aided design (3D CAD) software to design products across a diverse range of end-markets. In addition, we serve procurement and supply chain professionals seeking to manufacture custom parts on-demand. We have established in-house manufacturing facilities and offices in the United States, Europe and Japan, which we believe are three of the largest geographic markets where our customers are located. Through the acquisition of Hubs (formerly 3D Hubs, Inc.) (Hubs) in 2021, we are able to provide our customers access to a global network of premium manufacturing partners who reside across North America, Europe and Asia, complementing our in-house manufacturing. We believe our use of advanced technology enables us to offer significant advantages at competitive prices to many customers and is the primary reason we have become a leading supplier of custom parts.

 

We believe prototype and low volume custom parts manufacturing has historically been an underserved market due to the inefficiencies inherent in the quotation, equipment set-up and non-recurring engineering processes required to produce custom parts. Our customers typically order short run custom parts for a variety of reasons, including: 

 

 

they need a prototype to confirm the form, fit and function of one or more components of a product under development;

     
 

they need an initial supply of parts to support pilot production for testing of a product;

     
 

they need an initial supply of parts to support production while their tools for a high-volume production mold are prepared;

     
 

they need to meet their customers' variable demand for parts in a competitive timeframe;

     
 

their product will only be produced in a limited quantity and/or is highly customized;

     
 

they need to support end-of-life production in a cost-effective manner;

     
 

they want to avoid minimum order quantities or storing inventory;

     
 

they need access to diverse, cost competitive manufacturing capabilities and value the convenience of working with a single supplier to match parts to the best producer; or

     
 

they need low- to mid-volumes of parts on an irregular schedule and prefer to order on-demand.

 

5

 

In each of these instances, we believe our solution provides product developers, engineers, and production buyers with an exceptional combination of speed, quality, competitive pricing, ease of use and reliability that they typically cannot find among conventional custom parts manufacturers. Our technology enables us to ship parts as soon as the same day after receipt of a customer’s design submission.

 

Our primary manufacturing product lines currently include Injection Molding, CNC Machining, 3D Printing and Sheet Metal. We continually seek to expand the range of size and geometric complexity of the parts we can make with these processes, to extend the variety of materials we are able to support and to identify additional manufacturing processes to which we can apply our technology in order to better serve the evolving preferences and needs of product developers and production buyers. Through the acquisition of Hubs, and as we complete the integration of our offerings, we will be providing our customers access to a global network of premium manufacturing partners which significantly expands the breadth and depth of our manufacturing capabilities. The acquisition of Hubs also allows us to offer customers a wider variety of lead times and pricing options, and an expanded envelope of parts (complexity, size, etc.). 

 

We have experienced significant growth since our inception in 1999. We have grown our total revenue from $344.5 million in 2017 to $488.1 million in 2021.

 

Our increases in revenue can be attributed to expanding our customer base, broadening our parts envelope, and launching new manufacturing technologies. We were founded in 1999 with plastic injection molding, and have expanded our product lines over the years by the introduction of: 

 

 

CNC machining in 2007;

 

 

liquid silicon rubber (LSR) and lathe manufacturing processes that expanded the breadth and scope of our injection molding and CNC machining product lines in 2014;

 

 

3D printing, including stereolithography (SL), selective laser sintering (SLS), and direct metal laser sintering (DMLS), through our acquisition of FineLine Prototyping, Inc. (FineLine) in 2014 and expanded through our acquisition of certain assets of Alphaform AG (Alphaform) in 2015;

 

 

rapid overmolding technology in 2016 and insert molding technology in 2017, both of which expanded the breadth of our manufacturing capabilities in our Injection Molding product line;

 

 

PolyJet and Multi Jet Fusion (MJF) in 2017, which expanded the processes with which we produce 3D printed parts;

 

 

injection molding commercial offerings tailored to on-demand manufacturing customers in 2017;

 

 

sheet metal fabrication capability through our acquisition of RAPID Manufacturing Group, LLC (RAPID) in 2017; 

 

 

expanded CNC machining capabilities for larger and more complex parts through our acquisition of RAPID in 2017;

 

 

Carbon Digital Light Synthesis(TM) (DLS) in 2019, which further expanded the processes with which we produce 3D printed parts;

 

 

enhancements to our e-commerce customer interface and back-end operations software in Europe in the fourth quarter of 2020 and in the United States in the first quarter of 2021 designed to add value for our customers and support the growth of the business in the future;

 

 

Hubs in 2021 to provide the platform to expand our offering for our customers by providing access to a global network of premium manufacturing partners; and

 

 

Critical-to-Quality First Article Inspection technology for Injection Molded prototypes and low-volume production parts.

 

6

 

a1.jpg

 

 

Industry Overview

 

We serve product developers and engineers worldwide who bring new ideas to market in the form of products containing one or more custom parts. Many of these product developers and engineers use 3D CAD software to create digital models representing their custom part designs that are then used to create physical parts for concept modeling, prototyping, functional testing, market evaluation or production. Custom prototype parts play a critical role in the product development process, as they provide product developers and engineers with the ability to test and confirm their intended performance requirements and explore design alternatives.

 

Our digital model supports the transition from prototyping to production and enables us to serve product developers and engineers through prototyping and product development. Our digital model also enables us to serve production buyers that are focused on bringing their end product to market in a scalable, cost-effective manner. Our internal manufacturing operations, augmented by external manufacturing partners through our acquisition of Hubs in 2021, allow us to provide solutions for the many customer use cases from prototyping to low-volume production in a broad range of lead time and pricing options.

 

We believe there are three significant trends disrupting the manufacturing industry today:

 

 

SKU Proliferation – The increase in the number of products launched has been dramatic across many sectors.

 

Shorter Product Life Cycles – New products are launching faster and more frequently than ever before, partially driven by the internet of things and other connected device trends, resulting in shorter lives in the market.

 

Shift to E-commerce Sourcing – The first two trends, SKU proliferation and shorter product life cycles, put pressure on traditional supply chains causing many to adopt digital solutions and begin to invest in digital supply ecosystems.

 

The impacts of these trends include increased volatility, reduced development time, increased variety to manage, higher pressure on development costs, shorter payback period in the market and reduced capital investment per product. Our digital thread makes us ideally suited to solve these challenges for many manufacturing companies by offering world-class speed, low upfront investment, no minimum order quantities, broad manufacturing capabilities, and flexibility to adapt to demand volatility.

 

7

 

Our Process

 

Our digital thread, which is the combination of our proprietary software and the physical manufacturing process, has enabled us to reinvent manufacturing. Our digital thread ties together each aspect of the online ordering and manufacturing processes, including 3D CAD modeling and visualization tools, proprietary design for manufacturability analysis (DFM), computer aided manufacturing, the manufacturing equipment, and the shop floor data collection systems. Digital manufacturing, and the addition of the digital thread, results in automation that reduces manufacturing and labor costs and increases throughput, enabling us to differentiate ourselves as one of the world’s fastest and most effective solutions for prototype and low volume production use cases.

 

Our technology allows us to manufacture a broad range of parts and products, across multiple industries and processes and enables us to serve a diverse set of customers. We currently serve all manufacturing industry verticals, with our top industries being medical and healthcare, computer electronics, industrial machinery and equipment, aerospace and automotive.

 

The Aura Project, a project with our client, Aura, is one example of our broad ability to serve our customers’ use cases. Aura came to us in the midst of the COVID-19 pandemic with a need for prototyping to rapidly bring to market a safe, high-quality ventilator that was also low in cost. Our automated analysis helped reduce their startup cost, and Protolabs’ quick turn sheet metal fabrication and 3D printing helped Aura move quickly through several rounds of iterations to prepare a final design. This product went to market in record time and their ability to rapidly prototype with us was key to their success.

 

Customer Order

 

The customer order process begins when the customer uploads one or more 3D CAD models representing the desired part geometry through our web-based customer interfaces. Our websites provide a straightforward means for our customers to submit 3D CAD part designs, including managing projects with multi-part orders, across multiple services and capabilities. Our proprietary software uses complex algorithms to analyze the 3D CAD geometry, analyze its DFM and support the creation of an interactive, web-based quotation containing pricing and manufacturability information. Using this technology, we have analyzed over 7.4 million unique part designs. The artificial intelligence and machine learning provided by each analysis allows us to continually improve our DFM technology. When the analysis is complete, a link to the quotation is then e-mailed to the customer, who can access the quotation, change a variety of order parameters and instantly see the effect on price before finalizing the order.

 

Digital Manufacturing Process

 

Our internal manufacturing operations produce parts in-house, while our outsourced manufacturing operations automatically route the parts for production by a global network of premium manufacturing partners.

 

Internal Manufacturing Operations

 

a2.jpg

 

8

 

For our internal manufacturing operations, once the design is ready and the customer places the order, digital instructions are sent to the production floor where manufacturing can begin immediately. Our proprietary software and business process automates the non-recurring manufacturing engineering in many of our services, removing time and cost from the manufacture of the custom part. With the integrated digital thread, data is shared through the continuum of the manufacturing process, from product conception and design upload to manufacturing, inspection and delivery. This ensures consistency, quality and a high degree of automation. As a result of this automation, we are able to ship parts to customers with industry leading speed at scale.

 

 

Outsourced Manufacturing Operations to Network of Manufacturing Partners

 

 

a3.jpg

 

Once a customer order is confirmed, Hubs’ proprietary software automatically routes the parts to the right manufacturing partner within minutes using a smart order routing system. Selected highlights of Hubs’ proprietary software platform are:

 

 

Majority of ordered parts are instantly quoted

 

98% of orders are manufacturable and the design for manufacturability software developed in-house

 

Majority of sourced orders are paired automatically using smart order routing system

  Machine learning on data of over 7 million parts produced

 

Shipping Parts to Customers

 

Once parts are produced through our digital manufacturing process, either in-house or by one of our manufacturing partners, the parts are shipped to our customer. Parts are shipped in as little as one business day from design submission. We ship our parts via small parcel common carriers on standard terms and conditions.

 

Our Product Lines

 

Our suite of services falls under our four main product offerings — Injection Molding, CNC Machining, 3D Printing and Sheet Metal. These product lines offer many engineers and buyers the ability to quickly and efficiently outsource their quick-turn custom parts manufacturing. See Item 7. “Management’s Discussion and Analysis of Financial Condition and Results of Operations” for the historical revenue generated by each of Injection Molding, CNC Machining, 3D Printing and Sheet Metal. In 2021, we augmented our internal manufacturing operations through our acquisition of Hubs to expand the envelope of custom parts we can provide to our customers through a network of premium manufacturing partners in each of our product lines.

 

9

 

Injection Molding

 

Our Injection Molding product line uses our 3D CAD-to-CNC machining technology for the automated design and manufacture of molds, which are then used to produce custom plastic and liquid silicone rubber injection-molded parts and over-molded and insert-molded injection-molded parts on commercially available equipment. Our Injection Molding product line works best for on-demand production, bridge tooling, pilot runs and functional prototyping. Our affordable molds and quick turnaround times help reduce design risk and limit overall production costs for product developers and engineers. Because we retain possession of the molds, customers who need short-run production often come back to Proto Labs’ Injection Molding product line for additional quantities. They do so to support pilot production for product testing, while their tooling for high-volume production is being prepared, because they need on-demand manufacturing due to disruptions in their manufacturing process, because their product requires limited annual quantity or because they need end-of-life production support. In 2017, we launched an on-demand manufacturing injection molding service. This service utilizes our existing processes, but is designed to fulfill the needs of customers with on-going production needs.

 

CNC Machining

 

Our CNC Machining product line uses commercially available CNC machines to offer milling and turning. CNC milling is a manufacturing process that cuts plastic and metal blocks into one or more custom parts based on the 3D CAD model uploaded by the customer. CNC turning is a subtractive manufacturing process that rotates a metal rod while a cutting tool is used to remove material and create final parts. Quick-turn CNC machining works best for prototyping, form and fit testing, jigs and fixtures and functional components for end-use applications.

 

Industrial 3D Printing

 

Our Industrial 3D Printing product line includes SL, SLS, DMLS, MJF, PolyJet, Carbon DLS and fused deposition modeling (FDM) processes, which offers customers a wide-variety of high-quality, precision rapid prototyping and low volume production. These processes create parts with a high level of accuracy, detail, strength and durability. Industrial 3D Printing is best suited for functional prototypes, complex designs and end-use applications.

 

Sheet Metal

 

Our Sheet Metal product line includes quick-turn and e-commerce-enabled custom sheet metal parts, providing customers with prototype and low-volume production parts. The rapid prototype sheet metal process is most often used when form, fit and function are all a priority. Our manufacturing process uses customer 3D CAD models uploaded by the customer to fabricate rapid prototyping sheet metal or end-use production parts and assemblies.

 

Our Growth Strategy

 

We currently operate in a global custom contract manufacturing market which is a form of outsourcing where companies enter into an arrangement or formal agreement with another company or individual for the manufacture of complete parts, products, or components. Since our inception, we have focused on areas where we could automate the manufacturing process via our digital model. Our initial focus was on prototypes and simple parts and have added complexity over time. We have added product lines and expanded those product lines to meet the needs of our customers, which has ultimately driven our growth. Historically, we focused on speed, reliability and quality as key components of our differentiation, and customers used us for production where there was a good fit. We have positioned ourselves to avoid routine, low margin, high-volume commoditized manufacturing. We have evolved from serving primarily fast response prototypes to broader customer use cases including higher requirements, such as a tighter tolerance, broader ranges of lead times and price points and quality and process documentation to support production needs. We have further expanded our offering through the acquisition of Hubs to be able to serve our customers more holistically, augmenting our in-house manufacturing capabilities with a network of premium manufacturing partners to serve our customer needs that currently reside outside of our internal manufacturing capabilities. As we integrate with Hubs, our goal is to go from being one of the fastest and most reliable providers of custom parts to one of the most comprehensive in our four services. Combining our unprecedented in-house manufacturing with Hubs broad services offer and wide variety of price and lead time options expands our ability to provide value to our customers and differentiates us from competitors.

 

10

 

The principal elements of our growth strategy are to:

 

Establish Platform (2020-2023)

 

We serve nearly all of our customers over the internet using our e-commerce, digital model. The majority of customers upload CAD files through our secure e-commerce platform to receive a quote, and ultimately, place an order. The order is then processed through our digital model that is connected by our systems.

 

In the fourth quarter of 2020 in Europe and in the first quarter of 2021 in the United States, we launched Protolabs 2.0 (PL 2.0), a project designed to enhance the functionality and ease of use of our platform and expanded the capabilities of our customer-facing and back-end systems in order to further increase automation and meet the evolving needs of product developers and engineers worldwide.

 

In 2021, our e-commerce platform was recognized by the World Economic Forum’s Global Lighthouse Network, recognizing our industry leading efforts to implement Fourth Industrial Revolution (4IR) technologies at our Plymouth, MN injection molding facility. The Lighthouse Network serves as a platform for manufacturers showing leadership in using 4IR technologies to share and learn best practices, support new partnerships and help other manufacturers deploy technology, adopt sustainable solutions, and transform their workforces. By implementing manufacturing automation and industrial internet of things technologies like this, we are able to unlock new levels of sustainability and efficiency for ourselves and our customers.

 

We believe product developers and engineers have come to expect advanced web-based tools and a fully integrated Internet platform from their vendors. In the near term, PL 2.0 provides our customers a more simplified quoting and more intuitive user experience. It requires fewer clicks and provides a better overall buying experience. Further, it allows expanded production capabilities for our customers. In the long-term, we expect PL 2.0 will allow us to launch new services and capabilities faster, help integrate acquisitions more efficiently, and continue to improve the buying experience by monitoring customer feedback and how customers use the system.

 

a4.jpg

 

Our integration of the Hubs platform will position us to be able to expand our offer to provide our customers with the broadest solution for custom parts and we will continue to deliver innovation through historic and future R&D investment. With the integration of the Protolabs and Hubs architectures into a united platform, we can provide customers a complete offer with a single e-commerce storefront. This combined architecture will connect customers to the right manufacturing solution based on their needs. We will provide a range of price and lead time options providing customers with the most comprehensive custom parts solution in the world.

 

Accelerate Growth (2022-2026)

 

Our launch of PL 2.0 and acquisition of Hubs in 2021, will provide the foundation for us to accelerate growth in 2022 and beyond. The enhanced customer experience and expanded offering portfolio is expected to drive higher customer satisfaction, higher annual revenue per customer and improved customer retention. In addition, the new platform will allow us to continue to expand our parts offerings and serve a broader set of customer use cases. We serve a diverse set of customers from over a dozen industries. Accordingly, unlike most traditional manufacturers, we are not reliant on a single industry for growth. Our customers range from small start-ups to multi-national corporations. We continue to capitalize on the e-commerce revolution, as product developers and engineers move from sourcing parts traditionally to the e-commerce experience for sourcing custom parts.

 

11

 

We primarily focus on two types of customers: design engineers and production buyers. Our original customer, and still our largest type of customer, is the design engineer. Design engineers typically value, in order of importance, reliability, speed, quality, breadth of manufacturing capabilities, ease of use and price. Our first growth opportunity is to capture more wallet share by being a single provider for all their needs. The breadth and depth of our offering expanded with our acquisition of Hubs, allowing us to better serve our design engineers. Our enhanced offering is expected to lead to higher customer retention, greater customer satisfaction and increased revenue per customer as we serve more of their product needs.

 

Our second type of customer is the production buyer. Our ability to move quickly from prototyping to production enables us to serve the low volume, on-demand production needs of our customers. Shorter product life cycles, unpredictable demand, and the need to get products to market more quickly have increased the demand for our production offering. Production buyers typically value, in order of importance, quality, total cost of ownership, reliability, breadth of manufacturing capabilities, ease of use and speed. Transitioning with our customers to production has been a newer growth strategy for us and we historically captured only a portion of production business. Through our internal R&D road map and our acquisition of Hubs, we continue to expand our production capabilities to be able to serve more of our customers’ needs, including offering a variety of price points and lead times, quality documentation and 3D printing production for certain use cases.

 

Finally, we anticipate our new complete and comprehensive offering will be attractive to new customers. We expect to continue to acquire new customers from traditional shops by communicating the advantages of digital manufacturing.

 

Expand Profitability (2025 and beyond)

 

The market in which we play, the tremendous value we deliver to our customers and our ability to expand our capabilities to serve our customers, has allowed us to grow from revenue of $126.0 million in 2012, the year of our IPO, to revenue of $488.1 million in 2021. As we establish our platform and accelerate growth, we are positioned to serve customers more holistically, which we expect will drive continued, long-term sustainable revenue growth, and ultimately, expanded profitability.

 

In recent years, we have focused on expanding our capabilities and investing in building our base infrastructure to support our long-term growth. Our integrated offer and service expansion will provide the platform for accelerating our growth. Going forward, we aim to leverage scale and innovation to expand profitability and capture enhanced operational efficiencies.

 

Marketing

 

As a customer-centric organization, we continue to evolve our go-to-market strategy. We believe we have three marketing opportunities to capitalize on: 1) expanding business with existing customers, including engineers and buyers, 2) engaging buyers who are new to us and are increasing e-commerce spend as manufacturing digitalizes, and 3) capturing engineers who are new to us and are turning to digital manufacturing solutions. Our global marketing effort generates leads for our sales teams and seeks to strengthen our reputation as an industry leader in digital manufacturing services for custom prototyping and low-volume manufacturing. Since we are an agile, technology-based company, much of our marketing activities occur online. We use marketing automation software to enhance the productivity of our marketing and sales teams and continuously track the results of our campaigns to ensure our return on investment.

 

We maintain top-of-mind brand awareness with product developers and engineers through regular publication of technical information including design guidelines and helpful tips, engineering white papers, educational webinars, quick videos, and a quarterly journal focused on important industry topics. We also provide complimentary physical design aids to designers and engineers — as well as teachers and students — that highlight technical aspects of injection molding to help create efficient, well-designed parts. We believe these educational materials are key aspects of our lead generation efforts. 

 

12

 

Marketing represents the face of Proto Labs, so it is our goal to actively and intelligently engage buyers and engineers across multiple mediums — whether print, online, social media or in person. By doing this, we gain new customers, drive sales and build brand equity.

 

Sales and Customer Service

 

We maintain an internal sales team trained in the basics of part design and the capabilities of our manufacturing product lines, as well as the key advantages of our processes over alternate methods of custom parts manufacturing. We organize our sales team into complementary roles: business development, account management and strategic account management, with the former focused on selling to new customer companies within targeted market segments and the latter two focused on expanding sales within existing customer companies. 

 

We believe our sales staff is adept at researching customer companies and networking to find additional customers who may have a need for our products. We also have a team of customer service engineers who can support highly technical engineering discussions with product developers and engineers as required during the sales process. Our revenue is generated from a diverse customer base, with no single customer company representing more than 3% of our total revenue in 2021. We have served over 85% of the 2021 Fortune 500 companies in our target industries.

 

 

Competition

 

The market for custom parts manufacturing is fragmented, highly competitive and subject to rapid and significant technological change. Our potential competitors include:

 

 

Other custom parts manufacturers. There are thousands of alternative manufacturing machine shops, injection molding suppliers, sheet metal fabricators, and 3D printing service bureaus and vendors worldwide. The size and scale of these businesses range from very small specialty shops to large, high-volume production manufacturers.

 

 

Brokers. There are an increasing number of digital brokers that provide product developers with a network of manufacturers, generally a subset of the other custom parts manufacturers described above, that can offer a diverse range of capabilities, capacity, competitive pricing and desired lead times to meet customer demand.

 

 

Captive in-house product manufacturing. Many larger companies undertaking product development have established additive rapid prototyping (3D printing), CNC machining, injection molding or sheet metal capabilities internally to support prototyping or manufacturing requirements of their product developers and engineers.

 

We believe that the key competitive factors in our industry include:

 

 

Quality: dimensional accuracy, surface finish, color and cleanliness;

 

 

Speed: turnaround time for quotations and parts;

 

 

Reliability: highly reliable delivery with predictable lead times;

 

 

Service: overall customer experience, from web interface to post-sales support;

 

 

Capability: range of part sizes and dimensional complexities supported, variety of manufacturing processes offered, materials supported and post-processing provided;

 

 

Scale: ability to support thousands of part designs in parallel;

 

13

 

 

Capacity: ability to manage peaks in demand with very short lead times and no minimum order quantities; and

 

 

Price: competitive mold and part pricing, including total cost of ownership.

 

We believe that our digital end-to-end manufacturing capability positions us favorably and has enabled us to become a leader in our markets. We also believe that substantially all of our current direct competitors are smaller than us in terms of size of operations, revenue, number of customers and volume of parts sold, and generally lack our technological capabilities, or where developed at scale, have yet to operate profitably. However, our industry is evolving rapidly and other companies, including potentially larger and more established companies with developed technological capabilities, may begin to focus on low volume, high mix custom parts manufacturing. These companies could more directly compete with us, along with our existing competitors, and could also launch new products and product lines that we do not offer that may quickly gain market acceptance. Any of the foregoing could adversely affect our ability to attract customers.

 

 

Corporate Responsibility and Sustainability

 

Our corporate responsibility and sustainability practices are built on a foundation of shared fundamental values of teamwork, trust and achievement, and help us to deliver strong financial results that create value for our Company and our shareholders in a way that respects our communities and the environments in which we operate. The Company's three core values are embodied in everything we do.

 

Teamwork – We are dedicated to the idea that a diversity of minds is better than one. Through open communication, we strive to collaborate with and include all of our colleagues to maximize our creativity and to make our good ideas great. We respect each other’s opinions. We help colleagues who are struggling to improve, so our success is everyone’s success.

Trust – Our integrity is built on honest answers to our customers and colleagues. It is okay to make mistakes if we use them to learn. We navigate difficult situations with compassion. The success of our Company depends on the success of our people.

Achievement – Speed and innovation are the cornerstones of our success. We are committed to being a solution for getting things done quickly and sustainably and a catalyst for great ideas for our shareholders, customers, the environment and each other. We are responsible for our performance, our results and our future.

 

Workforce Demographics

 

As of December 31, 2021, we had 2,663 full-time employees, including 1,826 full-time employees in the United States, 759 full-time employees in Europe and 78 full-time employees in Japan. We also regularly use independent contractors and other temporary employees across the organization to augment our regular staff. We believe that our future success will depend in part on our continued ability to attract, hire and retain qualified, diverse and inclusive personnel.

 

We are an equal opportunity employer, and we believe that a diverse workforce made up of people with different ideas, strengths, interests and cultural backgrounds drives employee and business success. Our workforce is composed of a diverse group of engineers, technicians and business professionals from around the world and every walk of life.

 

We believe our employees are critical to our success and continually seek employee feedback to enhance employee engagement. In 2021, our attrition rates were higher than normal. Our attrition rates were 17%, 20% and 8% in the United States, Europe and Japan, respectively.

 

14

 

Compensation

 

We believe our success depends in large measure on our ability to attract, retain and motivate a broad range of employees to be successful in a dynamic and changing business environment, and that a competitive compensation program is essential. In determining employee compensation, our executive leadership team reviews and considers several factors, including individual and corporate performance, input from managers, competitor market data from third party compensation surveys, our compensation philosophy and key principles, and the leadership’s collective experience and knowledge. Annually, our executive leadership team reviews input from managers throughout our organization, including recommendations as to compensation levels that the managers believe are commensurate with an individual’s job performance, skills, experience, qualifications, criticality to our company and development/career opportunities. We also award long-term equity-based compensation to high performing employees and managers who have the greatest impact on the creation of shareholder value to further align the interests of our employees and shareholders.

 

Diversity, Equity and Inclusion

 

At Protolabs, diversity, equity and inclusion matters. We are committed to nurturing a culture where we celebrate diversity, equity and inclusivity as a way of life. Our diversity and inclusion efforts start at the top with our board regularly reviewing initiatives. Our Diversity, Equity and Inclusion (DEI) Leadership Council was established to promote honest conversations, influence best practices and educate our employees. Our DEI Leadership Council members are employee representatives chosen from various functions and locations to work directly with our leadership team to drive change in our work environment. As we continue to grow, we will continue to emphasize employee safety and having an inclusive work environment as top priorities. Our goal is to build diverse teams throughout the global organization and be a role model for the communities where we work and live. Uniqueness defines us as a company, from our custom products to our employees. Our pledge is to promote a global culture that invites, recognizes and embraces each individuals contributions to make a stronger “US”.

 

Health, Safety and Wellness

 

We strive to continuously improve our employees’ health, safety and wellness. Our “I Am” safety program teaches that safety is the responsibility of every individual in our organization. We believe this program is the basis for our excellent safety compliance record. We believe that our employees are our most valuable asset, and their safety and health is among our top priorities.

 

In addition to concentrating on employee safety in the workplace, we also focus on the overall wellbeing of our employees. We continue to invest in a variety of employee health and wellness programs, including gym membership discounts, on-site yoga classes at certain facilities, wellness newsletters and learning sessions, and providing various Employee Assistance Programs.

 

In response to the COVID-19 pandemic, we are closely monitoring infection rates to ensure appropriate safety measures are in place for the well-being of our employees, customers, and suppliers. Our goal is to minimize the spread of illness, while ensuring we can deliver on our customers' expectations. In accordance with the guidance provided by both the World Health Organization and the U.S. Centers for Disease Control and Prevention, we established safety measures, including social distancing and work-from-home guidelines for positions that can be performed remotely. In addition, we increased our focus on employee mental health during the pandemic by providing employees with mental health resources and enhanced Employee Assistance Programs.

 

Education

 

We firmly believe that investing in the education of our employees is critical to our success. Our employees are provided access to a robust learning management system that offers hundreds of courses on various topics ranging from compliance to leadership and for job-specific skills. In 2021, excluding Hubs, employees spent an average of 14 hours per employee in training sessions. We provide an Educational Assistance Program for employees, which offers financial assistance for both professional and personal development to inspire employees to continuously enhance their skills and knowledge. We have a customized leadership development program designed for current and aspiring managers in search of developing their leadership skills. The program provides training on topics that are aligned with our Leadership Principles and our Core Values.

 

In order to ensure our industry remains robust, we are committed to supporting Science, Technology, Engineering and Mathematics (STEM) programs in the cities where we have facilities. Through the Protolabs Foundation, we provide STEM education grants to eligible organizations. In addition, we partner with schools, colleges and universities to provide various outreach opportunities and sponsorships.

 

15

 

Charitable Giving

 

We pride ourselves in being a responsible corporate citizen through our Protolabs Foundation. We support several charitable causes with our Employee Matching, Cool Ideas, and Major Gifts Programs. The Foundation’s efforts serve as a sustaining investment in the future of the communities where our employees live and work, and also a commitment to build talent to support the future employment needs of the manufacturing industry. ProtoGivers, our employee led community involvement team, organizes a wide variety of charitable activities, including blood drives, working for Habitat for Humanity projects, volunteering for Feed My Starving Children, and making financial contributions to charitable causes, many of which are matched through the Protolabs Foundation Employee Giving Program. Our financial support and our community outreach programs are intended to improve the quality of life in the communities where we have facilities.

 

Environment

 

We are committed to having a positive impact on the environment. In 2021, we were awarded a Manufacturing Leadership Award from the National Association of Manufacturers (NAM) in the Sustainability Leadership category. This category recognizes companies embracing manufacturing processes that are non-polluting, conserve energy and natural resources, and are economically sound and safe for employees, communities, and consumers. In 2020, we installed nearly 1,900 solar panels on the roof of our facility in Plymouth, MN, one of our larger manufacturing facilities. The solar array will cover 20 percent of our future energy use and will offset the equivalent of 1.3 million pounds of CO2 and preserve 775 acres of forest annually.

 

We strive to maximize recycling in both our manufacturing and office facilities. In our manufacturing facilities, we recycle metal, plastic and water used throughout the manufacturing processes. Finally, the Green Team, an employee-led organization, educates our employees on how they can positively impact the environment, both at work and at home.

 

Intellectual Property

 

We regard our patents, trademarks, service marks, trade dress, trade secrets, copyrights, domain names and other intellectual property as valuable to our business and rely on patent, trademark and copyright law, trade secret protection and confidentiality and/or license agreements with our employees, customers, vendors and others to protect our proprietary rights. We register our patents, trademarks and service marks in the United States and other jurisdictions as we deem appropriate. As of December 31, 2021, we owned and had applications pending for patents relating to various aspects of our quoting and manufacturing processes as follows:

 


 

Jurisdiction

  Issued Patents     Applications Pending  

United States

  25     14  

United Kingdom

  2     0  

 

Our patents have expiration dates ranging from 2022 to 2038. We also owned approximately 27 registered United States trademarks or service marks as of December 31, 2021, with corresponding registered protection in Europe and Japan for the most important of these marks such as PROTO LABS, PROTOMOLD, FIRSTCUT, PROTOQUOTE, FIRSTQUOTE, PROTOFLOW and FINELINE, corresponding approved protection in Canada for PROTO LABS, FIRSTCUT and FINELINE, and corresponding registered protection in Australia, Canada and Mexico for PROTOMOLD. There can be no assurance that the steps we take to protect our proprietary rights will be adequate or that third parties will not infringe or misappropriate such rights. We have been subject to claims and expect to be subject to legal proceedings and claims from time to time in the ordinary course of our business. In particular, we may face claims from third parties that we have infringed their patents, trademarks or other intellectual property rights. Such claims, even if not meritorious, could result in the expenditure of significant financial and managerial resources. Any unauthorized disclosure or use of our intellectual property could make it more expensive to do business and harm our operating results.

 

Available Information

 

Our principal executive offices are located at 5540 Pioneer Creek Drive, Maple Plain, Minnesota 55359 and our telephone number is (763) 479-3680. Our website address is www.protolabs.com. Information on our website does not constitute part of this Annual Report on Form 10-K or any other report we file or furnish with the SEC. We provide free access to various reports that we file with or furnish to the SEC through our website as soon as reasonably practicable after they have been filed or furnished. These reports include, but are not limited to, our Annual Reports on Form 10-K, Quarterly Reports on Form 10-Q, Current Reports on Form 8-K and any amendments to these reports. Our SEC reports can be accessed through the investor relations section of our website.

 

 

The SEC maintains a website that contains reports, proxy and information statements, and other information regarding issuers that file information electronically with the SEC. The SEC’s website is www.sec.gov.

 

Executive Officers of the Registrant

 

Set forth below are the names of our current executive officers, their ages, titles, the year first appointed as an executive officer, and employment for the past five years:

 

Robert Bodor

49

President, Chief Executive Officer and Director

Michael R. Kenison

50

Vice President/General Manager – Americas

Daniel Schumacher

47

Interim Chief Financial Officer

Arthur R. Baker III

54

Chief Technology Officer

Bjoern Klaas

52

Vice President/General Manager and Managing Director – Europe, Middle East and Africa

 

Executive officers of the Company are elected at the discretion of the board of directors with no fixed terms. There are no family relationships between or among any of the executive officers or directors of the Company.

 

Robert Bodor. Dr. Bodor has served as our President and Chief Executive Officer since March 2021. Prior to his current position, Dr. Bodor served as Vice President/General Manager - Americas since 2015. From July 2013 to January 2015, Dr. Bodor served as our Chief Technology Officer. From December 2012 to June 2013, Dr. Bodor served as our Director of Business Development. Prior to joining Proto Labs, from January 2011 to December 2012, Dr. Bodor held several roles at Honeywell, most recently leading SaaS business offerings for Honeywell’s Life Safety Division.

 

Michael R. Kenison. Mr. Kenison has served as our Vice President/General Manager - Americas since June 2021. Prior to his current position, Mr. Kenison led various teams at the company, including as Vice President of Manufacturing, a role he held since 2013. Before his tenure at Protolabs, Mr. Kenison served in several leadership roles within the industry, including as Vice President of Manufacturing at Cardiac Science, Inc. - a medical device provider of defibrillator technology.

 

Daniel Schumacher. Mr. Schumacher has served as our Interim Chief Financial Officer and principal financial and accounting officer since December 2021. Prior to his current role, Mr. Schumacher led investor communication, forecasting and planning, and business intelligence for the Company as Vice President of Investor Relations and FP&A from April 2017 to December 2021. From 2015 to 2017, Mr. Schumacher served as finance director in the Americas Finance & Operations organization of Stratasys, Inc, a 3D Printing OEM. From 2001 to 2015, Mr. Schumacher was in finance leadership roles of increasing responsibility for Rockwell Automation, an industrial automation company.

 

Arthur R. Baker III. Dr. Baker has been our Chief Technology Officer since May 2016. Prior to joining Proto Labs, Dr. Baker served as Chief Technology Officer of PaR Systems, a robotics and specialty machine tool builder from 2014 to 2016. From 2005 to 2014, Dr. Baker held multiple positions at MTS Systems, including General Manager of the Test Division, Chief Technology Officer, and Vice President of Engineering and Operations. MTS Systems is a provider of mechanical testing and simulation systems for automotive, aerospace, medical, civil-seismic and general research.

  

Bjoern Klaas. Mr. Klaas has led our Company’s business in Europe, Middle East and Africa as the Vice President and Managing Director since December 2017. Prior to joining Proto Labs, Mr. Klaas held key positions with global polymer supplier PolyOne from 2012 to 2017, most recently as its Vice President and General Manager for its ColorMatrix Group headquartered in the United States. From 2008 to 2012, Mr. Klaas worked at Colorant-Chromatics, a global leader for high temperature polymer formulations, as the General Manager for the global business.

 

 

Item 1A. Risk Factors

 

The following are the significant factors that could materially adversely affect our business, financial condition, or operating results, as well as adversely affect the value of an investment in our common stock. The risks described below are not the only risks facing our Company. Risks and uncertainties not currently known to us or that we currently deem to be immaterial also may materially adversely affect our business, financial condition and operating results.

 

Risks Relating to Our Business

 

We face significant competition and expect to face increasing competition in many aspects of our business, which could cause our operating results to suffer.

 

The market for custom parts manufacturing is fragmented and highly competitive. We compete for customers with a wide variety of custom parts manufacturers and methods. Some of our current and potential competitors include captive in-house product lines, other custom parts manufacturers, brokers of custom parts and alternative manufacturing vendors such as those utilizing 3D printing processes. Moreover, some of our existing and potential competitors are researching, designing, developing and marketing other types of products and product lines. We also expect that future competition may arise from the development of allied or related techniques for custom parts manufacturing that are not encompassed by our patents, from the issuance of patents to other companies that may inhibit our ability to develop certain products and from improvements to existing technologies. Furthermore, our competitors may attempt to adopt and improve upon key aspects of our business model, such as development of technology that automates much of the manual labor conventionally required to quote and manufacture custom parts, implementation of interactive web-based and automated user interface and quoting systems and/or building scalable operating models specifically designed for efficient custom production. Third-party CAD software companies may develop software that mold-makers, injection molders and CNC machine shops could use to compete with our business model. Additive manufacturers may develop stronger, higher temperature resins or introduce other improvements that could more effectively compete with us on part quality. We may also, from time to time, establish alliances or relationships with other competitors or potential competitors. To the extent companies terminate such relationships and establish alliances and relationships with our competitors, our business could be harmed.

  

Existing and potential competitors may have substantially greater financial, technical, marketing and sales, manufacturing, distribution and other resources and name recognition than us, as well as experience and expertise in intellectual property rights and operating within certain international locations, any of which may enable them to compete effectively against us.

 

Though we plan to continue to expend resources to develop new technologies, processes and product lines, we cannot assure you that we will be able to maintain our current position or continue to compete successfully against current and future sources of competition. Our challenge to develop new products manufactured internally is finding product lines for which our automated quotation and manufacturing processes offer an attractive value proposition, and we may not be able to find any new product lines with potential economies of scale similar to our existing product lines. We mitigate this risk through products offered by our manufacturing partner network via our acquisition of Hubs in 2021. If we do not keep pace with technological change and introduce new technologies, processes and product lines, the demand for our products and product lines may decline and our operating results may suffer.

 

We may not timely and effectively scale and adapt our existing technology, processes and infrastructure to meet the needs of our business.

 

A key element to our continued growth is the ability to quickly and efficiently quote an increasing number of product developer and engineer submissions across geographic regions and to manufacture the related parts. This will require us to timely and effectively scale and adapt our existing technology, processes and infrastructure to meet the needs of our business. With respect to our websites and quoting technology, it may become increasingly difficult to maintain and improve their performance, especially during periods of heavy usage and as our solutions become more complex and our user traffic increases across geographic regions. Similarly, our manufacturing automation technology may not enable us to process the large numbers of unique designs and efficiently manufacture the related parts in a timely fashion to meet the needs of product developers and engineers as our business continues to grow. Any failure in our ability to timely and effectively scale and adapt our existing technology, processes and infrastructure could negatively impact our ability to retain existing customers and attract new customers, damage our reputation and brand, result in lost revenue, and otherwise substantially harm our business and results of operations.

 

 

Economic uncertainty arising from the recent COVID-19 pandemic has adversely affected our business and results of operations and could continue to do so in the future.

 

On March 11, 2020, the World Health Organization declared the outbreak of the novel coronavirus (COVID-19) a pandemic. The COVID-19 pandemic and associated counter-acting measures implemented by governments around the world, as well as increased business uncertainty, has adversely affected our business and results of operations and could continue to do so in the future. The Company is monitoring the global COVID-19 pandemic and has taken steps to mitigate the risks to our employees, customers, suppliers and other stakeholders. The current business environment and quickly evolving market conditions require significant management judgment to interpret and quantify the actual and potential impact on our assumptions about future financial performance and operating cash flows. To the extent that changes in the current business environment continue to impact our ability to achieve levels of forecasted operating results and cash flows, if our stock price were to trade below book value per share for an extended period of time and/or should other events occur indicating the carrying value of our assets might be impaired, we may be required to recognize impairment losses on goodwill, intangible and tangible assets.

 

Numerous factors may cause us not to maintain the revenue growth that we have historically experienced.

 

Although our revenue has grown over the past five years from $344.5 million for the year ended December 31, 2017 to $488.1 million for the year ended December 31, 2021, we may not be able to maintain our historical rate of revenue growth. We believe that our continued revenue growth will depend on many factors, a number of which are out of our control, including among others, our ability to:

 

 

retain and further penetrate existing customer companies, as well as attract new customer companies;

 

 

 

 

consistently execute on custom part orders in a manner that satisfies product developers’ and engineers’ needs and provides them with a superior experience;

 

 

 

 

develop new technologies or manufacturing processes and broaden the range of parts we offer;

 

 

 

 

successfully execute on our international strategy and expand into new geographic markets;

 

 

 

 

capitalize on product developer and engineer expectations for access to comprehensive, user-friendly e-commerce capabilities 24 hours per day, 7 days per week;

 

 

 

 

increase the strength and awareness of our brand across geographic regions;

 

 

 

 

respond to changes in product developer and engineer needs, technology and our industry;

     
  successfully integrate operations and offerings of acquisitions;
 

 

 

 

react to challenges from existing and new competitors;

 

 

 

  continue to attract and retain R&D professionals who will continue to expand our technologies; and
     
 

respond to an economic recession which negatively impacts manufacturers' ability to innovate and bring new products to market.

 

We cannot assure you that we will be successful in addressing the factors above and continuing to grow our business and revenue.

 

 

Interruptions to, or other problems with, our website and interactive user interface, information technology systems, manufacturing processes or other operations could damage our reputation and brand and substantially harm our business and results of operations.

 

The satisfactory performance, reliability, consistency, security and availability of our websites and interactive user interface, information technology systems, manufacturing processes and other operations are critical to our reputation and brand, and to our ability to effectively service product developers and engineers. Any interruptions or other problems that cause any of our websites, interactive user interface or information technology systems to malfunction or be unavailable, or negatively impact our manufacturing processes or other operations, may damage our reputation and brand, result in lost revenue, cause us to incur significant costs seeking to remedy the problem and otherwise substantially harm our business and results of operations.

 

A number of factors or events could cause such interruptions or problems, including among others: human and software errors, design faults, challenges associated with upgrades, changes or new facets of our business, power loss, telecommunication failures, fire, flood, extreme weather, political instability, acts of terrorism, war, break-ins and security breaches, contract disputes, labor strikes and other workforce-related issues, capacity constraints due to an unusually large number of product developers and engineers accessing our websites or ordering parts at the same time, and other similar events. These risks are augmented by the fact that our customers come to us largely for our quick-turn manufacturing capabilities and that accessibility and turnaround speed are often of critical importance to these product developers and engineers. We are dependent upon our facilities through which we satisfy all of our production demands and in which we house all of the computer hardware necessary to operate our websites and systems as well as managerial, customer service, sales, marketing and other similar functions, and we have not identified alternatives to these facilities or established fully redundant systems in multiple locations. However, we have back-up computing systems for each of our United States, European and Japanese operations. In addition, we are dependent in part on third parties for the implementation and maintenance of certain aspects of our communications and production systems, and therefore preventing, identifying and rectifying problems with these aspects of our systems is to a large extent outside of our control.

 

Moreover, the business interruption insurance that we carry may not be sufficient to compensate us for the potentially significant losses, including the potential harm to the future growth of our business that may result from interruptions in our product lines as a result of system failures.

 

We store confidential customer information in our systems that, if breached or otherwise subjected to unauthorized access, may harm our reputation or brand or expose us to liability.

 

Our system stores, processes and transmits our customers’ confidential information, including the intellectual property in their part designs and other sensitive data. We rely on encryption, authentication and other technologies licensed from third parties, as well as administrative and physical safeguards, to secure such confidential information. Any compromise of our information security could damage our reputation and brand and expose us to a risk of loss, costly litigation and liability that would substantially harm our business and operating results. We may not have adequately assessed the internal and external risks posed to the security of our company’s systems and information and may not have implemented adequate preventative safeguards or take adequate reactionary measures in the event of a security incident. In addition, most states have enacted laws requiring companies to notify individuals and often state authorities of data security breaches involving their personal data. These mandatory disclosures regarding a security breach often lead to widespread negative publicity, which may cause our existing and prospective customers to lose confidence in the effectiveness of our data security measures. Any security breach, whether successful or not, would harm our reputation and brand and could cause the loss of customers.

 

Aspects of our business are subject to privacy, data use and data security regulations, which may impact the way we use data to target customers.

 

Privacy and security laws and regulations may limit the use and disclosure of certain information and require us to adopt certain cybersecurity and data handling practices that may affect our ability to effectively market our services to current, past or prospective customers. In many jurisdictions consumers must be notified in the event of a data security breach, and such notification requirements continue to increase in scope and cost. The changing privacy laws in the United States, Europe and elsewhere—including the General Data Protection Regulation (GDPR) in the European Union, which became effective May 25, 2018, and the California Consumer Privacy Act of 2018, which was enacted on June 28, 2018, and became effective on January 1, 2020—create new individual privacy rights and impose increased obligations, including disclosure obligations, on companies handling personal data. The impact of these continuously evolving laws and regulations could have a material adverse effect on the way we use data to digitally market and pursue our customers.

 

 

Global economic conditions may harm our ability to do business, increase our costs and negatively affect our stock price.

 

The prospects for economic growth in regions where we operate remain uncertain and could worsen. Economic concerns and other issues such as reduced access to capital for businesses may cause product developers and engineers to further delay or reduce the product development projects that our business supports. Given the continued uncertainty concerning the global economy, we face risks that may arise from financial difficulties experienced by our suppliers, product developers, and engineers and other related risks to our business.

 

We operate a global business that exposes us to additional risks.

 

We have established our operations in the United States, Europe and Japan and are seeking to further expand our international operations. In addition to English, our website is available in British English, French, German, Italian, Japanese and Spanish. Our international revenue accounted for approximately 21%, 20% and 22% of our total revenue in the years ended December 31, 2021, 2020 and 2019, respectively. The future growth and profitability of our international business is subject to a variety of risks and uncertainties. Many of the following factors have adversely affected our international operations and sales to customers located outside of the United States and may again in the future:

 

 

difficulties in staffing and managing foreign operations, particularly in new geographic locations;

 

 

 

 

challenges in providing solutions across a significant distance, in different languages and among different cultures;

 

 

 

 

rapid changes in government, economic and political policies and conditions, political or civil unrest or instability, terrorism or epidemics, and other similar outbreaks or events;

 

 

 

 

economic uncertainty, including significant volatility in global stock markets and currency exchange rates, resulting from Brexit;

 

 

 

 

fluctuations in foreign currency exchange rates;

 

 

 

 

differences in product developer and engineer preferences and means of procuring parts;

 

 

 

 

compliance with and changes in foreign laws and regulations, as well as U.S. laws affecting the activities of U.S. companies abroad, including those associated with export controls, tariffs and embargoes, other trade restrictions and antitrust and data privacy concerns;

 

 

 

 

different, complex and changing laws governing intellectual property rights, sometimes affording companies lesser protection in certain areas;

 

 

 

 

differing levels of use of the Internet or 3D CAD software;

 

 

 

 

seasonal reductions in business activity in certain parts of the world, particularly during the summer months in Europe and holiday season;

 

 

 

 

higher costs of doing business internationally;

 

 

 

 

interruptions resulting from any events affecting raw material supply or manufacturing capabilities abroad;

 

 

 

 

protectionist laws and business practices that favor local producers and service providers;

 

 

 

 

taxation;

 

 

 

 

energy costs;

 

 

 

 

restrictions imposed by local labor practices and laws on our business and operations;

 

 

 

 

workforce uncertainty in countries where labor unrest is more common than in the United States;

 

 

 

 

transportation delays; and

 

 

 

 

increased payment risk and higher levels of payment fraud.

 

Our business depends on product developers’ and engineers’ demand for our product lines, the general economic health of current and prospective customers, and companies’ desire or ability to make investments in new products. A deterioration of global, regional or local political, economic or social conditions could affect potential customers in ways that reduce demand for our product lines, disrupt our manufacturing and sales plans and efforts or otherwise negatively impact our business. Acts of terrorism, wars, public health issues and increased energy costs could disrupt commerce in ways that could impair our ability to get products to our customers and increase our manufacturing and delivery costs. We have not undertaken hedging transactions to cover our foreign currency exposure, and changes in foreign currency exchange rates may negatively impact reported revenue and expenses. In addition, our sales are often made on unsecured credit terms, and a deterioration of political, economic or social conditions in a given country or region could reduce or eliminate our ability to collect accounts receivable in that country or region. In any of these events, our results of operations could be materially and adversely affected.

 

 

 

Climate change, or legal, regulatory or market measures to address climate change, may materially adversely affect our financial condition and business operations.

 

Climate change resulting from increased concentrations of carbon dioxide and other greenhouse gases in the atmosphere could present risks to our future operations from natural disasters and extreme weather conditions, such as hurricanes, tornadoes, earthquakes, wildfires or flooding. Such extreme weather conditions could pose physical risks to our facilities and disrupt operation of our supply chain and may increase operational costs. Concern over climate change could result in new legal or regulatory requirements designed to mitigate the effects of climate change on the environment. If such laws or regulations are more stringent than current legal or regulatory requirements, we may experience increased compliance burdens and costs to meet the regulatory obligations and raw material sourcing, manufacturing operations and the distribution of our products may be affected.

 

If a natural or man-made disaster strikes any of our manufacturing facilities, we will be unable to manufacture our products for a substantial amount of time and our sales will decline.

 

All of our in-house manufacturing products are produced in 10 manufacturing facilities, located in Rosemount, Minnesota; Plymouth, Minnesota; Brooklyn Park, Minnesota; Cary, North Carolina; Nashua, New Hampshire (2 facilities); Telford, United Kingdom; Putzbrunn, Germany; Eschenlohe, Germany; and Zama, Kanagawa, Japan. These facilities and the manufacturing equipment we use would be costly to replace and could require substantial lead time to repair or replace. Our facilities may be harmed by natural or man-made disasters, including, without limitation, earthquakes, floods, tornadoes, fires, hurricanes, tsunamis and nuclear disasters.

 

In the event any of our facilities are affected by a disaster, we may:

 

 

be unable to meet the shipping deadlines of our customers;

 

 

 

 

experience disruptions in our ability to process submissions and generate quotations, manufacture and ship parts, provide marketing and sales support and customer service, and otherwise operate our business, any of which could negatively impact our business;

 

 

 

 

be forced to rely on third-party manufacturers;

 

 

 

 

need to expend significant capital and other resources to address any damage caused by the disaster; and

 

 

 

 

lose customers and be unable to regain those customers.

 

We mitigate such risks through the addition of access to a network of manufacturing partners via our acquisition of Hubs in 2021. Although we possess insurance for damage to our property and the disruption of our business from casualties, this insurance may not be sufficient to cover all of our potential losses and may not continue to be available to us on acceptable terms, or at all.

 

Any acquisition, strategic relationship, joint venture or investment could disrupt our business and harm our operating results and financial condition.

 

Our business and our customer base have been built primarily through organic growth. However, from time to time, we may selectively pursue acquisitions, strategic relationships, joint ventures or investments that we believe may allow us to complement our growth strategy, increase market share in our current markets or expand into other markets, or broaden our technology, intellectual property or product line capabilities. For example, in April 2014, we acquired FineLine to enable us to offer our customers 3D printing manufacturing processes; in October 2015, we acquired Alphaform to enable us to expand our 3D printing capabilities in Europe; in November 2017, we acquired RAPID to enable us to offer our customers Sheet Metal and expand our CNC Machining processes; and in 2021 we acquired Hubs to provide our customers with on-demand access to a global network of premium manufacturing partners. We cannot forecast the number, timing or size of any future acquisitions or other similar strategic transactions, or the effect that any such transactions might have on our operating or financial results. Such transactions may be complex, time consuming and expensive, and may present numerous challenges and risks including:

 

 

an acquired company, asset or technology not furthering our business strategy as anticipated;

 

 

 

 

difficulties entering and competing in new product or geographic markets and increased competition, including price competition;

 

 

 

 

integration challenges;

 

 

 

 

challenges in working with strategic partners and resolving any related disagreements or disputes;

 

 

 

 

high valuation for a company, asset or technology, or changes in the economic or market conditions or assumptions underlying our decision to acquire;

 

 

 

 

significant problems or liabilities associated with acquired businesses, assets or technologies, including increased intellectual property and employment related litigation exposure;

 

 

 

 

acquisition of a significant amount of goodwill, which could result in future impairment charges that would reduce our earnings; and

 

 

 

 

requirements to record substantial charges and amortization expenses related to certain purchased intangible assets, deferred stock compensation and other items, as well as other charges or expenses.

 

 

 

Any one of these challenges or risks could impair our ability to realize any benefit from our acquisitions, strategic relationships, joint ventures or investments after we have expended resources on them, as well as divert our management’s attention. Any failure to successfully address these challenges or risks could disrupt our business and harm our operating results and financial condition. Moreover, any such transaction may not be viewed favorably by investors or stakeholders.

 

In addition, from time to time we may enter into negotiations for acquisitions, relationships, joint ventures or investments that are not ultimately consummated. These negotiations could result in significant diversion of management time, as well as substantial out-of-pocket costs.

 

Our success depends on our ability to deliver products and product lines that meet the needs of product developers and engineers and to effectively respond to changes in our industry.

 

We derive almost all of our revenue from the manufacture and sale to product developers and engineers of quick-turn low volumes of custom parts for prototyping, support of internal manufacturing and limited quantity product release. Our business has been, and, we believe, will continue to be, affected by changes in product developer and engineering requirements and preferences, rapid technological change, new product and product line introductions and the emergence of new standards and practices, any of which could render our technology, products and product lines less attractive, uneconomical or obsolete. To the extent that our customers’ need for quick-turn parts decreases significantly for any reason, it would likely have a material adverse effect on our business and operating results and harm our competitive position. In addition, CAD simulation and other technologies may reduce the demand for physical prototype parts. Therefore, we believe that to remain competitive, we must continually enhance and improve our technology, product offerings and product lines.

 

In particular, we plan to increase our research and development efforts and to continue to focus a significant portion of those efforts to further develop our technology in areas such as our interactive user interface and manufacturing processes and broaden the range of parts that we are able to manufacture. We believe successful execution of this part of our business plan is critical for our ability to compete in our industry and grow our business, and there are no guarantees we will be able to do so in a timely fashion, or at all. Broadening the range of parts we offer is of particular importance since limitations in manufacturability are the primary reason we are not able to fulfill many quotation requests. There are no guarantees that the resources devoted to executing on this aspect of our business plan will improve our business and operating results or result in increased demand for our products and product lines. Failures in this area could adversely impact our operating results and harm our reputation and brand. Even if we are successful in executing in these areas, our industry is subject to rapid and significant technological change, and our competitors may develop new technologies, processes and product lines that are superior to ours. Our research and development costs were approximately $44.2 million, $36.9 million and $32.7 million for the years ended December 31, 2021, 2020 and 2019, respectively, and there is no guarantee that these costs will enable us to maintain or grow our revenue profitability. Refer to Item 7. “Management’s Discussion and Analysis of Financial Condition and Results of Operations” in this Annual Report on Form 10-K for additional discussion related to research and development costs.

 

Any failure to properly meet the needs of product developers and engineers or respond to changes in our industry on a cost-effective and timely basis, or at all, would likely have a material adverse effect on our business and operating results and harm our competitive position.

 

Our failure to meet our customers' expectations regarding quick turnaround time would adversely affect our business and results of operations.

 

We believe many product developers and engineers are facing increased pressure from global competitors to be first to market with their finished products, often resulting in a need for quick turnaround of custom parts. We believe our ability to quickly quote, manufacture and ship custom parts has been an important factor in our results to date. There are no guarantees we will be able to meet product developers’ and engineers’ increasing expectations regarding quick turnaround time, especially as we increase the scope of our operations. If we fail to meet our customers’ expectations regarding turnaround time in any given period, our business and results of operations will likely suffer.

 

Our failure to meet our customers’ price expectations would adversely affect our business and results of operations.

 

Demand for our product lines is sensitive to price. We believe our competitive pricing has been an important factor in our results to date. Therefore, changes in our pricing strategies can have a significant impact on our business and ability to generate revenue. Many factors, including our production and personnel costs and our competitors’ pricing and marketing strategies, can significantly impact our pricing strategies. If we fail to meet our customers’ price expectations in any given period, demand for our products and product lines could be negatively impacted and our business and results of operations could suffer.

 

Our failure to meet our customers' quality specifications would adversely affect our business and results of operations.

 

We believe many product developers and engineers have a need for specific quality of quick-turn, on-demand custom parts. We believe our ability to create parts with the specifications of the product developers and engineers is an important factor in our results to date. If we fail to meet our customers’ specifications in any given period, demand for our products and product lines could be negatively impacted and our business and results of operations could suffer.

 

 

 

The strength of our brand is important to our business, and any failure to maintain and enhance our brand would hurt our ability to retain and expand our customer base as well as further penetrate existing customers.

 

Since our products and product lines are sold primarily through our websites, the success of our business depends upon our ability to attract new and repeat customers to our websites in order to increase business and grow our revenue. Customer awareness and the perceived value of our brand will depend largely on the success of our marketing efforts, as well as our ability to consistently provide quality custom parts within the required timeframes and positive customer experiences, which we may not do successfully. A primary component of our business strategy is the continued promotion and strengthening of our brand, and we have incurred and plan to continue to incur substantial expense related to advertising and other marketing efforts directed toward enhancing our brand. We have initiated marketing efforts through social media, but this method of marketing may not be successful and subjects us to a greater risk of inconsistent messaging and bad publicity. We may choose to increase our branding expense materially, but we cannot be sure that this investment will be profitable. If we are unable to successfully maintain and enhance our brand, this could have a negative impact on our business and ability to generate revenue.

 

Our business depends in part on our ability to process a large volume of new part designs from a diverse group of product developers and engineers and successfully identify significant opportunities for our business based on those submissions.

 

We believe the volume of new part designs we process and the size and diversity of our customer base give us valuable insight into the needs of our prospective customers. We utilize this industry knowledge to determine where we should focus our development resources. If the number of new part designs we process or the size and diversity of our customer base decrease, our ability to successfully identify significant opportunities for our business and meet the needs of product developers and engineers could be negatively impacted. In addition, even if we do continue to process a large number of new part designs and work with a significant and diverse customer base, there are no guarantees that any industry knowledge we extract from those interactions will be successfully utilized to help us identify significant business opportunities or better understand the needs of product developers and engineers.

 

The loss of one or more key members of our management team or personnel, or our failure to attract, integrate and retain additional personnel in the future, could harm our business and negatively affect our ability to successfully grow our business.

 

We are highly dependent upon the continued service and performance of the key members of our management team and other personnel. The loss of any of these individuals, each of whom is “at will” and may terminate his or her employment relationship with us at any time, could disrupt our operations and significantly delay or prevent the achievement of our business objectives. We believe that our future success will also depend in part on our continued ability to identify, hire, train and motivate qualified personnel. A possible shortage of qualified individuals in the regions where we operate might require us to pay increased compensation to attract and retain key employees, thereby increasing our costs. In addition, we face intense competition for qualified individuals from numerous companies, many of whom have substantially greater financial and other resources and name recognition than us. We may be unable to attract and retain suitably qualified individuals who are capable of meeting our growing operational, managerial and other requirements, or we may be required to pay increased compensation in order to do so. Our failure to attract, hire, integrate and retain qualified personnel could impair our ability to achieve our business objectives.

  

If we fail to grow our business as anticipated, our net sales, gross margin and operating margin will be adversely affected.

 

We are attempting to grow our business substantially. To this end, we have made and expect to continue to make significant investments in our business, including investments in our infrastructure, technology, and marketing and sales efforts. These investments include dedicated facilities expansion and increased staffing, both domestic and international. If our business does not generate the level of revenue required to support our investment, our net sales and profitability will be adversely affected.

 

If we are unable to manage our growth and expand our operations successfully, our reputation and brand may be damaged, and our business and results of operations may be harmed.

 

Over the past several years, we have experienced rapid growth. For example, we have grown from 1,700 full-time employees as of January 1, 2017 to 2,663 full-time employees as of December 31, 2021. We have expanded internationally, including establishing manufacturing operations in Europe in 2005 and Japan in 2009. In 2014, we expanded our product lines with 3D Printing through our acquisition of FineLine. In 2015, we expanded our manufacturing operations and our 3D Printing product lines in Europe through our acquisition of Alphaform. In 2017, we expanded our product lines to include Sheet Metal through our acquisition of RAPID. In 2021, we expanded the breadth of products and lead times we offer through the acquisition of Hubs. We expect this growth to continue and the number of countries and facilities from which we operate to increase in the future. Our ability to effectively manage our anticipated growth and expansion of our operations will require us to do, among other things, the following:

 

 

enhance our operational, financial and management controls and infrastructure, human resource policies, and reporting systems and procedures, in particular as we continue to operate as a global organization;

 

 

 

 

effectively scale our operations, including accurately predicting the need for floor space, equipment, and additional staffing;

 

 

 

  integrate the offer and operations of acquisitions;
     
 

successfully identify, recruit, hire, train, develop, maintain, motivate and integrate additional employees; and

 

 

 

 

expand our international resources.

 

These enhancements and improvements will require significant capital expenditures and allocation of valuable management and employee resources. Furthermore, our growth, combined with the geographical dispersion of our operations, has placed, and will continue to place, a strain on our operational, financial and management infrastructure. Our future financial performance and our ability to execute on our business plan will depend, in part, on our ability to effectively manage any future growth and expansion. There are no guarantees we will be able to do so in an efficient or timely manner, or at all. Our failure to effectively manage growth and expansion could have a material adverse effect on our business, results of operations, financial condition, prospects, and reputation and brand, including impairing our ability to perform to our customers’ expectations.

 

 

If our present single or limited source suppliers become unavailable or inadequate, our customer relationships, results of operations and financial condition may be adversely affected.

 

We acquire substantially all of the manufacturing equipment and certain of our materials that are critical to the ongoing operation and future growth of our business from several third parties. We do not have long-term supply contracts with any of our suppliers and operate on a purchase-order basis. While most manufacturing equipment and materials for our products are available from multiple suppliers, certain of those items are only available from single or limited sources. Should any of our present single or limited source suppliers for manufacturing equipment or materials become unavailable or inadequate, or impose terms unacceptable to us such as increased pricing terms, we could be required to spend a significant amount of time and expense to develop alternate sources of supply, and we may not be successful in doing so on terms acceptable to us, or at all. Natural disasters, such as hurricanes, may affect our supply of materials, particularly resins, from time to time, and we may purchase larger amounts of certain materials in anticipation of future shortages or increases in pricing. Global supply chain disruptions may make scarce materials or supplies critical to our product offers and adversely impact our ability to manufacture and deliver products to our customers on time. In addition, if we were unable to find a suitable supplier for a particular type of manufacturing equipment or material, we could be required to modify our existing business processes and offerings to accommodate the situation. As a result, the loss of a single or limited source supplier could adversely affect our relationship with our customers and our results of operations and financial condition.

 

We may not be able to adequately protect or enforce our intellectual property rights, which could impair our competitive position.

 

Our success and future revenue growth will depend, in part, on our ability to protect our intellectual property. We rely primarily on patents, licenses, trademarks and trade secrets, as well as non-disclosure agreements and other methods, to protect our proprietary technologies and processes globally. Despite our efforts to protect our proprietary technologies and processes, it is possible that competitors or other unauthorized third parties may obtain, copy, use or disclose our technologies and processes. We cannot assure you that any of our existing or future patents will not be challenged, invalidated or circumvented. As such, any rights granted under these patents may not provide us with meaningful protection. We may not be able to obtain foreign patents corresponding to our United States patents. Even if foreign patents are granted, effective enforcement in foreign countries may not be available. If our patents and other intellectual property do not adequately protect our technology, our competitors may be able to offer product lines similar to ours. Our competitors may also be able to develop similar technology independently or design around our patents. Any of the foregoing events would lead to increased competition and lower revenue or gross margin, which would adversely affect our net income.

 

We may be subject to infringement claims.

 

We may be subject to intellectual property infringement claims from individuals, vendors and other companies who have acquired or developed patents in the fields of injection molding, CNC machining, 3D printing, sheet metal fabrication or part production for purposes of developing competing products or for the sole purpose of asserting claims against us. Any claims that our products or processes infringe the intellectual property rights of others, regardless of the merit or resolution of such claims, could cause us to incur significant costs in responding to, defending and resolving such claims, and may prohibit or otherwise impair our ability to commercialize new or existing products. If we are unable to effectively defend our processes, our market share, sales and profitability could be adversely impacted.

 

Our failure to expand our intellectual property portfolio could adversely affect the growth of our business and results of operations.

 

Expansion of our intellectual property portfolio is one of the available methods of growing our revenue and our profits. This involves a complex and costly set of activities with uncertain outcomes. Our ability to obtain patents and other intellectual property can be adversely affected by insufficient inventiveness of our employees, by changes in intellectual property laws, treaties, and regulations, and by judicial and administrative interpretations of those laws, treaties and regulations. Our ability to expand our intellectual property portfolio could also be adversely affected by the lack of valuable intellectual property for sale or license at affordable prices. There is no assurance that we will be able to obtain valuable intellectual property in the jurisdictions where we and our competitors operate or that we will be able to use or license that intellectual property.

 

 

We may be subject to product liability claims, which could result in material expense, diversion of management time and attention and damage to our business and reputation and brand.

 

The prototype parts we manufacture and the parts we manufacture in low volumes may contain undetected defects or errors that are not discovered until after the products have been installed and used by customers. This could result in claims from customers or others, damage to our business and reputation and brand, or significant costs to correct the defect or error.

 

We attempt to include provisions in our agreements with customers that are designed to limit our exposure to potential liability for damages arising from defects or errors in our products. However, it is possible that these limitations may not be effective as a result of unfavorable judicial decisions or laws enacted in the future.

  

The sale and support of our products entails the risk of product liability claims. Any product liability claim brought against us, regardless of its merit, could result in material expense, diversion of management time and attention, damage to our business and reputation and brand, and cause us to fail to retain existing customers or to fail to attract new customers.

 

Government regulation of the Internet and e-commerce is evolving, and unfavorable changes or failure by us to comply with these regulations could substantially harm our business and results of operations.

 

We are subject to general business regulations and laws as well as regulations and laws specifically governing the Internet and e-commerce. Existing and future laws and regulations may impede the growth of the Internet or other online services. These regulations and laws may cover taxation, restrictions on imports and exports, customs, tariffs, user privacy, data protection, pricing, content, copyrights, distribution, electronic contracts and other communications, consumer protection, the provision of online payment services, broadband residential Internet access and the characteristics and quality of products and product lines. It is not clear how existing laws governing issues such as property use and ownership, sales and other taxes, fraud, libel and personal privacy apply to the Internet and e-commerce, especially where these laws were adopted prior to the advent of the Internet and do not contemplate or address the unique issues raised by the Internet or e-commerce. Those laws that do reference the Internet are being interpreted by the courts and their applicability and reach are therefore uncertain. The costs of compliance with these regulations may increase in the future as a result of changes in the regulations or the interpretation of them. Further, any failures on our part to comply with these regulations may subject us to significant liabilities. Those current and future laws and regulations or unfavorable resolution of these issues may substantially harm our business and results of operations.

 

Changes in, or interpretation of, tax rules and regulations may impact our effective tax rate and future profitability.

 

We are a multinational company based in the United States and subject to tax in multiple tax jurisdictions, both domestic and abroad. Our future effective tax rates could be adversely affected by changes in statutory tax rates or interpretation of tax rules, including those set forth in the Tax Cuts and Jobs Act enacted in 2017, and regulations in jurisdictions in which we do business, changes in the amount of revenue or earnings in the countries with varying statutory tax rates, or by changes in the valuation of deferred tax assets and liabilities.

 

In addition, we are subject to audits and examinations of previously filed income tax returns by the Internal Revenue Service, or IRS, and other domestic and foreign tax authorities. We regularly assess the potential impact of such examinations to determine the adequacy of our provision for income taxes and have reserved for potential adjustments that may result from the current examinations. We believe such estimates to be reasonable; however, there is no assurance that the final determination of any examination will not have an adverse effect on our operating results and financial position.

 

We may require additional capital to support business growth, and this capital might not be available on acceptable terms, if at all.

 

We intend to continue to make investments to support our business growth and may require additional funds to respond to business challenges, including the need to complement our growth strategy, increase market share in our current markets or expand into other markets, or broaden our technology, intellectual property or product line capabilities. Accordingly, we may need to engage in equity or debt financings to secure additional funds. If we raise additional funds through future issuances of equity or convertible debt securities, our existing shareholders could suffer significant dilution, and any new equity securities we issue could have rights, preferences and privileges superior to those of holders of our common stock. Any debt financing we secure in the future could involve restrictive covenants relating to our capital raising activities and other financial and operational matters, which may make it more difficult for us to obtain additional capital and to pursue business opportunities, including potential acquisitions. We may not be able to obtain additional financing on terms favorable to us, if at all. If we are unable to obtain adequate financing or financing on terms satisfactory to us when we require it, our ability to continue to support our business growth and to respond to business challenges could be significantly impaired, and our business may be harmed.

 

 

Our operating results and financial condition may fluctuate on a quarterly and annual basis.

 

Our operating results and financial condition may fluctuate from quarter to quarter and year to year, and are likely to continue to vary due to a number of factors, some of which are outside of our control. In addition, our actual or projected operating results may fail to match our past performance. These events could in turn cause the market price of our common stock to fluctuate. If our operating results do not meet the expectations of securities analysts or investors, who may derive their expectations by extrapolating data from recent historical operating results, the market price of our common stock will likely decline.

 

Our operating results and financial condition may fluctuate due to a number of factors, including those listed below and those identified throughout this “Risk Factors” section:

 

 

the development of new competitive systems or processes by others;

 

 

 

 

the entry of new competitors into our market, whether by established companies or by new companies;

     
  ability to economically source products manufactured by our network of premium manufacturing partners;
     
 

changes in the size and complexity of our organization, including our international operations;

 

 

 

 

levels of sales of our products and product lines to new and existing customers;

 

 

 

 

the geographic distribution of our sales;

 

 

 

 

changes in product developer and engineer preferences or needs;

 

 

 

 

changes in the amount that we invest to develop, acquire or license new technologies and processes, which we anticipate will generally increase and may fluctuate in the future;

 

 

 

 

delays between our expenditures to develop, acquire or license new technologies and processes, and the generation of sales related thereto;

 

 

 

 

our ability to timely and effectively scale our business during periods of sequential quarterly or annual growth;

 

 

 

 

limitations or delays in our ability to reduce our expenses during periods of declining sequential quarterly or annual revenue;

 

 

 

 

changes in our pricing policies or those of our competitors, including our responses to price competition;

 

 

 

 

changes in the amount we spend in our marketing and other efforts;

 

 

 

 

unexpected increases in expenses as compared to our related accounting accruals or operating plan;

 

 

 

 

the volatile global economy;

 

 

 

 

general economic and industry conditions that affect customer demand and product development trends;

 

 

 

 

interruptions to or other problems with our website and interactive user interface, information technology systems, manufacturing processes or other operations;

 

 

 

 

changes in accounting rules and tax and other laws; and

 

 

 

 

plant shutdowns due to health or weather conditions.

 

Due to all of the foregoing factors and the other risks discussed in this “Risk Factors” section, you should not rely on quarter-to-quarter or year-to-year comparisons of our operating results as an indicator of future performance.

 

 

Our business involves the use of hazardous materials, and we and our suppliers must comply with environmental laws and regulations, which can be expensive and restrict how we do business.

 

Our business involves the controlled storage, use and disposal of hazardous materials. We and our suppliers are subject to federal, state and local as well as foreign laws and regulations governing the use, manufacture, storage, handling and disposal of these hazardous materials. Although we believe that the safety procedures utilized by us and our suppliers for handling and disposing of these materials comply with the standards prescribed by these laws and regulations, we cannot eliminate the risk of accidental contamination or injury from these materials. In the event of an accident, state, federal or foreign authorities may curtail the use of these materials and interrupt our business operations. We do not currently maintain hazardous materials insurance coverage. If we are subject to any liability as a result of activities involving hazardous materials, our business and financial condition may be adversely affected and our reputation and brand may be harmed.

 

If we are unable to meet quality standards applicable to our manufacturing and quality processes for the parts we manufacture, our business, financial condition or operating results could be harmed.

 

As a manufacturer of CNC-machined and injection-molded custom parts, we conform to certain international standards, including International Organization for Standardization, or ISO, 9001:2015 for our injection molding facilities and the AS9001D standard for our CNC-machined facilities in Minnesota. In North Carolina, we conform to the ISO 9001:2015 standard for our plastics manufacturing and the AS9100D standard for our metals manufacturing. In New Hampshire, we conform to the ISO 9001:2015 for our sheet metal custom parts and the AS9100D standards for our CNC-machined custom parts. We also conform to international standard ISO 9001:2015 at our manufacturing facilities in Putzbrunn, Germany and Eschenlohe, Germany. Additionally, we conform to international standard ISO 13485 at our manufacturing facility in Eschenlohe, Germany and international standard ISO 14001 at our manufacturing facility in Putzbrunn, Germany. Lastly, we conform to international standards ISO 9001, ISO 14001 and ISO 27001 at our facilities in Japan. If any system inspection reveals that we are not in compliance with applicable standards, registrars may take action against us, including issuing a corrective action request or discontinuing our certifications. If any of these actions were to occur, it could harm our reputation as well as our business, financial condition and operating results.

 

We are subject to payment-related risks.

 

We accept payments using a variety of methods, including credit card, customer invoicing, physical bank check and payment upon delivery. As we offer new payment options to our customers, we may be subject to additional regulations, compliance requirements and fraud risk. For certain payment methods, including credit and debit cards, we pay interchange and other fees, which may increase over time and raise our operating costs and lower profitability. We rely on third parties to provide payment processing services, including the processing of credit cards, debit cards or electronic checks, and it could disrupt our business if these companies become unwilling or unable to provide these services to us. We are also subject to payment card association operating rules, certification requirements and rules governing electronic funds transfers, which could change or be reinterpreted to make it difficult or impossible for us to comply. If we fail to comply with these rules or requirements, we may be subject to fines and higher transaction fees and lose our ability to accept credit and debit card payments from our customers, process electronic funds transfers, or facilitate other types of online payments, and our business and operating results could be adversely affected.

 

 

Risks Relating to Ownership of Our Common Stock

 

Our stock price has been and may continue to be volatile.

 

In the year ended December 31, 2021, our common stock traded as high as $286.57 and as low as $47.57. The market for our common stock may become less active, liquid or orderly, which could depress the trading price of our common stock. Some of the factors, many of which are outside of our control, that may cause the market price of our common stock to fluctuate include:

 

 

fluctuations in our financial condition and operating results;

 

 

 

 

our ability to retain and attract customers and increase net sales;

 

 

 

 

pricing pressures due to competition or otherwise and changes in gross margins;

 

 

 

 

changes in general economic and market conditions, economic uncertainty and changes in product development activity levels;

 

 

 

 

announcements by us or our competitors of technological innovations or new product or product lines offerings or significant acquisitions;

 

 

 

 

timing, effectiveness, and costs of expansion and upgrades of our offerings, systems and infrastructure;

 

 

 

 

changes in key personnel;

 

 

 

 

success in entry into new markets and expansion efforts;

 

 

 

 

the public’s response to press releases or other public announcements by us or third parties, including our filings with the Securities and Exchange Commission and announcements relating to litigation;

 

 

 

 

the projections we may provide to the public, any changes in these projections or our failure to meet these projections;

 

 

 

 

the issuance of new or updated research or reports by any securities or industry analysts who follow our common stock, changes in analysts’ financial estimates or ratings, and failure of securities analysts to initiate or maintain coverage of our common stock;

 

 

 

 

changes in the market valuations of similar companies;

 

 

 

 

significant lawsuits, including patent or shareholder litigation;

 

 

 

 

changes in laws or regulations applicable to us;

 

 

 

 

changes in accounting principles;

 

 

 

 

the sustainability of an active trading market for our common stock;

 

 

 

 

future sales of our common stock by us or our shareholders, including sales by our officers, directors and significant shareholders;

 

 

 

 

share price and volume fluctuations attributable to inconsistent trading levels of our shares; and

 

 

 

 

other events or factors, including those resulting from war, acts of terrorism, natural disasters or responses to these events.

 

In addition, the stock markets have experienced extreme price and volume fluctuations that have affected and continue to affect the market prices of equity securities of many companies. In the past, shareholders have instituted securities class action litigation following periods of market volatility. If we were to become involved in securities litigation, we could incur substantial costs and our resources and the attention of management could be diverted from our business.

 

 

If securities or industry analysts publish inaccurate or unfavorable research or reports about our business, our stock price and trading volume could decline.

 

The trading market for our common stock depends, in part, on the research and reports that securities or industry analysts publish about us or our business. We do not have any control over these analysts. If one or more of the analysts who covers us downgrades our common stock, changes their opinion of our shares or publishes inaccurate or unfavorable research about our business, our stock price would likely decline. If one or more of these analysts ceases coverage of us or fails to publish reports on us regularly, demand for our common stock could decrease and we could lose visibility in the financial markets, which could cause our stock price and trading volume to decline.

 

Our failure to maintain proper and effective internal controls over financial reporting and otherwise comply with Section 404 of the Sarbanes-Oxley Act or prevent or detect misstatements in our financial statements in the future could harm our business and cause a decrease in our stock price.

 

Ensuring that we have internal financial and accounting controls and procedures adequate to produce accurate financial statements on a timely basis is a costly and time-consuming effort that needs to be re-evaluated frequently. The Sarbanes-Oxley Act requires, among other things, that we maintain effective internal control over financial reporting and disclosure controls and procedures. In particular, we are required to perform annual system and process evaluation and testing of our internal control over financial reporting to allow management and our independent registered public accounting firm to report on the effectiveness of our internal control over financial reporting, as required by Section 404 of the Sarbanes-Oxley Act. If we are not able to comply with the requirements of Section 404 in the future, or if we fail to prevent or detect misstatements in the financial statements we include in our reports filed with the SEC, our business could be harmed and the market price of our common stock could decline.

 

Anti-takeover provisions in our charter documents and Minnesota law might discourage or delay acquisition attempts for us that you might consider favorable.

 

Our Third Amended and Restated Articles of Incorporation, as amended, and Amended and Restated By-Laws contain provisions that may make the acquisition of our company more difficult without the approval of our board of directors. These provisions:

 

 

permit our board of directors to issue up to 10,000,000 shares of preferred stock, with any rights, preferences and privileges as our board may designate, including the right to approve an acquisition or other change in our control;

 

 

 

 

provide that the authorized number of directors may be changed by resolution of the board of directors;

 

 

 

 

provide that all vacancies, including newly created directorships, may, except as otherwise required by law, be filled by the affirmative vote of a majority of directors then in office, even if less than a quorum;

 

 

 

 

provide that shareholders seeking to present proposals before a meeting of shareholders or to nominate candidates for election as directors at a meeting of shareholders must provide notice in writing in a timely manner, and also specify requirements as to the form and content of a shareholder’s notice; and

 

 

 

 

do not provide for cumulative voting rights.

 

We are subject to the provisions of Section 302A.673 of the Minnesota Statutes, which regulates business combinations. Section 302A.673 generally prohibits any business combination by an issuing public corporation, or any of its subsidiaries, with an interested shareholder, which means any shareholder that purchases 10% or more of the corporation’s voting shares within four years following the date the person became an interested shareholder, unless the business combination is approved by a committee composed solely of one or more disinterested members of the corporation’s board of directors before the date the person became an interested shareholder.

 

These anti-takeover provisions could discourage, delay or prevent a transaction involving a change in control of our company, even if doing so would benefit our shareholders. These provisions could also discourage proxy contests and make it more difficult for you and other shareholders to elect directors of your choosing and to cause us to take other corporate actions you desire.

 

We do not expect to pay any cash dividends for the foreseeable future.

 

We have never declared or paid any cash dividends on our common stock, and we do not anticipate that we will pay any such cash dividends for the foreseeable future. We anticipate that we will retain all of our future earnings for use in the business and for general corporate purposes. Any determination to pay dividends in the future will be at the discretion of our board of directors and will depend upon results of operations, financial condition, contractual restrictions, restrictions imposed by applicable law and other factors our board of directors deems relevant.

 

 

Item 1B. Unresolved Staff Comments

 

None.

 

Item 2. Properties

 

We believe that our facilities are well maintained and of sufficient capacity to support our current operations. We have facilities in the following regions:

 

United States

 

Our corporate headquarters are located in Maple Plain, Minnesota in a facility we own encompassing approximately 95,000 square feet of office space. We also own a nearby facility encompassing approximately 35,000 square feet of manufacturing space. We own a facility in Rosemount, Minnesota that encompasses approximately 130,000 square feet of manufacturing and office space. We also own a facility in Plymouth, Minnesota that encompasses approximately 170,000 square feet of manufacturing and office space. In 2018, we purchased a facility in Brooklyn Park, Minnesota that encompasses approximately 215,000 square feet of manufacturing and office space.

 

We own a facility in Cary, North Carolina that encompasses approximately 77,000 square feet of manufacturing and office space. In October 2021, we entered into an agreement to expand our additive manufacturing footprint at a second location, which will add approximately 120,000 square feet at the end of 2022.

 

In 2021, we consolidated facilities in Nashua, New Hampshire reducing our total footprint by approximately 18,000 square feet. In May 2021, we purchased one of our previously leased facilities and continue to lease a second facility. The lease expires in 2026.  The New Hampshire facilities provide a total of approximately 128,000 square feet of manufacturing and office space.

 

In 2021, we leased a facility in Chicago, Illinois that encompasses approximately 10,000 square feet of office space utilized to support our outsourced manufacturing operations.  The lease expires in 2026.

 

Europe

 

Our European operations are headquartered in Telford, United Kingdom in a facility we own encompassing approximately 163,000 square feet of office and manufacturing space. In 2021, we constructed a new facility we own in Putzbrunn, Germany which encompasses approximately 70,000 square feet of office and manufacturing space.

 

We also lease office space in Mosbach, Germany; Le Bourget du Lac, France; Novara, Italy and Nacka, Sweden for sales, customer service and technical support staff. The leases expire at various times from 2023 to 2025. We also lease a manufacturing and office facility encompassing approximately 21,000 square feet in Eschenlohe, Germany. The lease expires in 2024.

 

Our outsourced manufacturing operations are headquartered in Amsterdam, Netherlands in a leased facility encompassing approximately 12,000 square feet of office space.  The lease expires in 2022.

 

Japan

 

Our Japan operations are headquartered in Zama, Kanagawa, Japan (southwest of Tokyo) in a leased facility encompassing approximately 88,000 square feet of office and manufacturing space. The lease expires in 2023.

 

 

Item 3. Legal Proceedings

 

From time to time, we are subject to various legal proceedings and claims that arise in the ordinary course of our business activities. Although the results of litigation and claims cannot be predicted with certainty, as of the date of this Annual Report on Form 10-K, we do not believe we are party to any litigation the outcome of which, if determined adversely to us, would individually or in the aggregate be reasonably expected to have a material adverse effect on our business.

 

Item 4. Mine Safety Disclosures

 

Not applicable.

 

 

PART II

 

Item 5. Market for Registrant’s Common Equity, Related Stockholder Matters and Issuer Purchases of Equity Securities

 

Our common stock has traded on the New York Stock Exchange (NYSE) under the symbol “PRLB” since February 24, 2012. Prior to that date, there was no public market for our common stock.

 

As of February 9, 2022, we had 12 holders of record of our common stock. The actual number of shareholders is greater than this number of record holders, and includes shareholders who are beneficial owners, but whose shares are held in street name by brokers and other nominees.

 

We have never declared or paid any cash dividends on our capital stock and we do not intend to pay cash dividends on our common stock for the foreseeable future. Any future determination related to our dividend policy will be made at the discretion of our board of directors and will depend on then-existing conditions, including our financial condition, operating results, contractual restrictions, capital requirements, business prospects and other factors our board of directors may deem relevant.

 

 

Performance Graph

 

The following graph shows a comparison from December 31, 2016 through December 31, 2021 of the cumulative total return for our common stock, the S&P 500 Index and the Russell 2000 Index. We have selected the Russell 2000 Index because the Russell 2000 Index measures the performance of the small market capitalization segment of U.S. equity instruments and we are a member company included in the Russell 2000 Index. Such returns are based on historical results and are not intended to suggest future performance. Data for the S&P 500 Index and the Russell 2000 Index assume reinvestment of dividends.

 

graph01.jpg

 

Index

 

12/31/16

   

06/30/17

   

12/31/17

   

06/30/18

   

12/31/18

   

06/30/19

   

12/31/19

   

06/30/20

   

12/31/20

   

06/30/21

   

12/31/21

 

Proto Labs, Inc.

    100.00       130.96       200.58       231.65       219.65       225.94       197.76       219.03       298.73       178.77       100.00  

S&P 500

    100.00       108.24       119.42       121.42       111.97       131.40       144.31       138.48       167.77       191.95       212.89  

Russell 2000

    100.00       104.29       113.14       121.07       99.37       115.43       122.94       106.21       145.52       170.25       165.45  

 

 

Unregistered Sales of Equity Securities and Issuer Purchases of Equity Securities

 

On May 15, 2019, the Board of Directors authorized the repurchase of shares of the Company’s common stock from time to time on the open market or in privately negotiated purchases, at an aggregate purchase price of up to $100 million. On December 8, 2021, the Board of Directors of the Company approved an increase to the total expenditure authorized to $150 million. We have $61.9 million remaining under this authorization. The timing and amount of any share repurchases will be determined by our management based on market conditions and other factors. The term of the program runs through December 31, 2023. 

 

During the year ended December 31, 2021, we repurchased 351,582 shares at an average price of $66.19 per share for an aggregate purchase price of $23.3 million.

 

Period

 

Total Number of Shares Purchased

   

Average Price Paid per Share

   

Total Number of Shares Purchased as Part of Publicly Announced Plans or Programs

   

Maximum Dollar Value of Shares that May Yet Be Purchased Under the Plans or Programs (in thousands)

 

October 1, 2021 through October 31, 2021

    63,819     $ 68.06       63,819     $ 17,800  

November 1, 2021 through November 30, 2021

    47,737     $ 50.84       47,737     $ 15,372  

December 1, 2021 through December 31, 2021

    68,612     $ 50.53       68,612     $ 61,905  
      180,168     $ 56.82       180,168     $ 61,905  

 

 

Item 6. [Reserved]

 

 

Item 7. Management’s Discussion and Analysis of Financial Condition and Results of Operations

 

The following discussion and analysis of our financial condition and results of operations should be read in conjunction with the consolidated financial statements and related notes included elsewhere in this Annual Report on Form 10-K. This discussion and analysis contains forward-looking statements that involve risks and uncertainties. Our actual results may differ materially from those anticipated in these forward- looking statements as a result of various factors, including those set forth under “Risk Factors” and elsewhere in this Annual Report on Form 10-K.

 

Overview

 

We are one of the world’s largest and fastest digital manufacturers of custom prototypes and on-demand production parts. We manufacture prototypes and low-volume production parts for companies worldwide that are under increasing pressure to bring their finished products to market faster than their competition. We utilize injection molding, computer numerical control (CNC) machining, 3D printing and sheet metal fabrication to manufacture custom parts for our customers. Our proprietary technology eliminates most of the time-consuming and expensive skilled labor conventionally required to quote and manufacture parts. In January 2021, we acquired Hubs, a leading online manufacturing platform based in Amsterdam, Netherlands, that provides customers with on-demand access to a global network of premium manufacturing partners. This acquisition creates an extremely comprehensive digital manufacturing offer, offering the broadest set of manufacturing services with the help of a global network of premium manufacturing partners. Our customers conduct nearly all of their business with us over the Internet. We target our products at the millions of product developers and engineers who use three-dimensional computer-aided design (3D CAD) software to design products across a diverse range of end-markets.

 

We have experienced significant growth since our inception. Since we first introduced our Injection Molding product line in 1999, we have steadily expanded the size and geometric complexity of the injection-molded parts we are able to manufacture, and we continue to extend the diversity of materials we are able to support. Similarly, since first introducing our CNC Machining product line in 2007, we have expanded the range of part sizes, design geometries and materials we can support. In 2014, we acquired FineLine Prototyping, Inc. (FineLine) to expand the number of process types we offer to include stereolithography (SL), selective laser sintering (SLS) and direct metal laser sintering (DMLS). In 2017, we acquired RAPID to expand the number of process types we offer to include sheet metal fabrication and expand our CNC machining capability. In 2019, we added Carbon DLS to our 3D printing processes, introduced precision color matching on Injection Molding parts and launched production capabilities for metal 3D printing. In 2021, we acquired Hubs to provide customers with on-demand access to a global network of premium manufacturing partners. We also continually seek to enhance other aspects of our technology and manufacturing processes, including our interactive web-based and automated user interface and quoting system. We intend to continue to invest significantly to enhance our technology and manufacturing processes and expand the range of our existing capabilities with the aim of meeting the needs of a broader set of customers. As a result of the factors described above, many of our customers tend to return to Proto Labs to meet their ongoing needs, with approximately 93%, 93% and 92% of our revenue in 2021, 2020 and 2019, respectively, derived from existing customers.

 

We have established our operations in the United States, Europe and Japan, which we believe are three of the largest geographic markets where product developers and engineers are located. We entered the European market in 2005 and launched operations in Japan in late 2009. We further expanded our operations in the United States through our acquisitions of Fineline in 2014, RAPID in 2017 and Hubs in 2021. Our operations were further expanded in Europe through our acquisitions of Alphaform in 2015 and Hubs in 2021. Our revenue outside of the United States accounted for approximately 21%, 20% and 22% of our consolidated revenue in the years ended December 31, 2021, 2020 and 2019, respectively. We intend to continue to expand our international sales efforts and believe opportunities exist to serve the needs of product developers and engineers in select new geographic regions.

 

We have grown our total revenue from $344.5 million in 2017 to $488.1 million in 2021. During this period, our operating expenses increased from $121.6 million in 2017 to $182.3 million in 2021. Our recent growth in revenue has been accompanied by increased cost of revenues and operating expenses. We expect to increase investment in our operations to support anticipated future growth as discussed more fully below.

 

In addition, we believe that a number of trends affecting our industry have affected our results of operations and may continue to do so. For example, we believe that many of our target product developer and engineer customers are facing three mega trends, which are disrupting long-term product growth models. We believe our customers are facing increased pressure to shorten product life-cycles, to embed products with connectivity driven by the internet of things technology, and to deliver products that are personalized and customized to unique customer specifications. We believe we continue to be well positioned to benefit from these trends, given our proprietary technology that enables us to automate and integrate the majority of activities involved in procuring custom parts. The COVID-19 pandemic has also impacted the manufacturing environment. For example, the pandemic accelerated the digitization of manufacturing as companies pivoted to a work-from-home and socially-distanced manufacturing plant environment. As a result, the adoption of e-commerce was accelerated, which allows opportunity for us to provide valuable solutions to manufacturers looking to build resiliency in their supply chains through fast, on-demand manufacturers. While our business may be positively affected by these trends, our results may also be favorably or unfavorably impacted by other trends that affect product developer and engineer orders for custom parts in low volumes, including, among others, economic conditions, changes in product developer and engineer preferences or needs, developments in our industry and among our competitors, and developments in our customers' industries. For a more complete discussion of the risks facing our business, see Part I, Item 1A. “Risk Factors” of this Annual Report on Form 10-K.

 

 

Key Financial Measures and Trends

 

Revenue

 

Our operations are comprised of three geographic operating segments in the United States, Europe and Japan. Revenue is derived from our Injection Molding, CNC Machining, 3D Printing and Sheet Metal product lines. Injection Molding revenue consists of sales of custom injection molds and injection-molded parts. CNC Machining revenue consists of sales of CNC-machined custom parts. 3D Printing revenue consists of sales of custom 3D-printed parts. Sheet Metal revenue consists of sales of fabricated sheet metal custom parts and assemblies. Our revenue is generated from a diverse customer base, with no single customer company representing more than 3% of our total revenue in 2021. Our historical and current efforts to increase revenue have been directed at gaining new customers and selling to our existing customer base by increasing marketing and selling activities, including:

 

  expanding the breadth and scope of our products by adding more sizes and materials to our offerings;
     
 

the introduction of our 3D Printing product line through our acquisition of FineLine in 2014;

 

 

 

 

expanding 3D printing to Europe through our acquisition of Alphaform in October 2015;

 

 

 

 

the introduction of our Sheet Metal product line through our acquisition of RAPID in 2017;

 

 

 

 

continuously improving the usability of our product lines such as our web-centric applications; and

 

 

 

 

providing customers with on-demand access to a global network of premium manufacturing partners through our acquisition of Hubs in January 2021.

 

During 2021, we served 55,330 unique product developers and engineers who purchased our products through our web-based customer interface, an increase of 26.3% over the same period in 2020. The increase in product developers served was driven primarily by our acquisition of Hubs. Excluding the impact of Hubs, our product developers served increased 5.2% over the same period in 2020.

 

During 2020, we served 43,808 unique product developers and engineers who purchased our products through our web-based customer interface, a decrease of 15.7% over the same period in 2019. The unique product developers and engineers served for the year ended December 31, 2020 has been restated to include unique product developers and engineers who purchased injection molding parts only. Historically we included only those developers who purchased injection molds in our metric. In 2020, the economic uncertainty arising from the COVID-19 pandemic impacted the number of product developers and engineers who purchased our products. 

 

Cost of Revenue, Gross Profit and Gross Margin

 

Cost of revenue consists primarily of raw materials, equipment depreciation, employee compensation including benefits and stock-based compensation, facilities costs and overhead allocations associated with the manufacturing process for molds and custom parts. We expect our personnel-related costs to increase in order to retain and attract top talent and remain competitive in the market. Overall, we expect cost of revenue to increase in absolute dollars.

 

Our business model requires that we invest in our capacity well in advance of demand to ensure we can fulfill the expectations for quick delivery of our products to our customers. Therefore, over the last several years, we have made significant investments in additional factory space, equipment and infrastructure across our geographic segments. We expect to continue to grow in future periods, which will result in the need for additional investments in factory space and equipment. We expect that these additional costs for factory and equipment expansion can be absorbed by revenue growth, and allow gross margins by product line to remain relatively consistent over time. Our addition of Hubs in 2021 provides a complementary opportunity to add revenue growth through the use of premium manufacturing partners, without the significant investments required by our legacy business model.

 

We define gross profit as our revenue less our cost of revenue, and we define gross margin as gross profit expressed as a percentage of revenue. Our gross profit and gross margin are affected by many factors, including our mix of revenue by product line, pricing, sales volume, manufacturing costs, the costs associated with increasing production capacity, the mix between domestic and foreign revenue sources, the mix between revenue produced in our internal manufacturing operations and outsourced to our external manufacturing partners, and foreign exchange rates.

 

 

Operating Expenses

 

Operating expenses consist of marketing and sales, research and development and general and administrative expenses. Personnel-related costs are the most significant component in each of these categories.

 

Our recent growth in operating expenses is mainly due to the launch of our PL 2.0 project, an internal business systems initiative impacting both external customer-facing and internal back-end systems, in the fourth quarter of 2020. During the development of PL 2.0, certain research and development personnel costs were capitalizable as a software development asset. Since the system was placed in service in November 2020, the personnel costs have been expensed as incurred. In addition, amortization expense for the software asset is now being recorded over the systems’ estimated useful lives of seven to ten years. Our business strategy is to continue to be a leading online and technology-enabled manufacturer of quick-turn, on-demand injection-molded, CNC-machined, 3D-printed and sheet metal custom parts for prototyping and low-volume production. In order to achieve our goals, we anticipate continued substantial investments in technology and personnel, resulting in increased operating expenses.

 

Marketing and sales. Marketing and sales expense consists primarily of employee compensation, benefits, commissions, stock-based compensation, marketing programs such as electronic, print and pay-per-click advertising, trade shows and other related overhead, which includes an allocation of information technology expense including amortization of PL 2.0 software assets. We expect sales and marketing expense to increase in the future as we increase the number of marketing and sales professionals and marketing programs targeted to increase our customer base and grow revenue.

 

Research and development. Research and development expense consists primarily of personnel and outside service costs related to the development of new processes and product lines, enhancement of existing product lines, software developed for internal use, maintenance of internally developed software, quality assurance and testing. Costs for internal use software are evaluated by project and capitalized where appropriate under Accounting Standards Codification (ASC) 350-40, Intangibles — Goodwill and Other, Internal-Use Software. We expect research and development expense to increase in the future as we seek to enhance our e-commerce interface technology, internal software and supporting business systems, and continue to expand our product lines.

 

General and administrative. General and administrative expense consists primarily of employee compensation, benefits, stock-based compensation, professional service fees related to accounting, tax and legal and other related overhead, which includes an allocation of information technology expense including amortization of PL 2.0 software assets. We expect general and administrative expense to increase in the future as we continue to grow and expand as a global organization.

 

Other Income, Net

 

Other income, net primarily consists of foreign currency-related gains and losses and interest income on cash balances and investments. Our foreign currency-related gains and losses will vary depending upon movements in underlying exchange rates. Our interest income will vary each reporting period depending on our average cash balances during the period, composition of our marketable security portfolio and the current level of interest rates.

 

Provision for Income Taxes

 

Provision for income taxes is comprised of federal, state, local and foreign taxes based on pre-tax income. Overall, our effective tax rate for 2021 and beyond may differ from historical effective tax rates due to increases in losses in foreign operations that are not eligible for tax benefits on account of valuation allowances, as well as any future tax law changes that may impact the effective tax rate.

 

 

Results of Operations

 

The following table summarizes our results of operations and the related changes for the periods indicated. The results below are not necessarily indicative of the results for future periods.

 


 

   

Year Ended

                   

Year Ended

                 
   

December 31,

   

Change

   

December 31,

   

Change

 

(dollars in thousands)

 

2021

   

2020

   

$

   

%

   

2020

   

2019

   

$

   

%

 
                                                                                                 

Revenue

  $ 488,098       100.0 %   $ 434,395       100.0 %   $ 53,703       12.4     $ 434,395       100.0 %   $ 458,728       100.0 %   $ (24,333 )     (5.3 )

Cost of revenue

    265,407       54.4       216,568       49.9       48,839       22.6       216,568       49.9       223,438       48.7       (6,870 )     (3.1 )

Gross profit

    222,691       45.6       217,827       50.1       4,864       2.2       217,827       50.1       235,290       51.3       (17,463 )     (7.4 )

Operating expenses:

                                                                                               

Marketing and sales

    82,175       16.8       69,309       16.0       12,866       18.6       69,309       16.0       72,976       15.9       (3,667 )     (5.0 )

Research and development

    44,241       9.1       36,940       8.5       7,301       19.8       36,940       8.5       32,692       7.1       4,248       13.0  

General and administrative

    68,436       14.0       51,742       11.9       16,694       32.3       51,742       11.9       49,766       10.9       1,976       4.0  

Changes in fair value of contingent consideration

    (12,503 )     (2.6 )     -       -       (12,503 )     *       -       -       -       -       -       -  

Total operating expenses

    182,349       37.3       157,991       36.4       24,358       15.4       157,991       36.4       155,434       33.9       2,557       1.6  

Income from operations

    40,342       8.3       59,836       13.8       (19,494 )     (32.6 )     59,836       13.8       79,856       17.4       (20,020 )     (25.1 )

Other income, net

    (158 )     -       3,109       0.7       (3,267 )     (105.1 )     3,109       0.7       1,337       0.3       1,772       132.5  

Income before income taxes

    40,184       8.2       62,945       14.5       (22,761 )     (36.2 )     62,945       14.5       81,193       17.7       (18,248 )     (22.5 )

Provision for income taxes

    6,812       1.4       12,078       2.8       (5,266 )     (43.6 )     12,078       2.8       17,538       3.8       (5,460 )     (31.1 )

Net income

  $ 33,372       6.8 %   $ 50,867       11.7 %   $ (17,495 )     (34.4 %)   $ 50,867       11.7 %   $ 63,655       13.9 %   $ (12,788 )     (20.1 %)

 


*Percentage change not meaningful

 

Stock-based compensation expense included in the statements of comprehensive income data above is as follows:

 


 

   

Year Ended December 31,

 

(dollars in thousands)

 

2021

   

2020

   

2019

 
                         

Stock options and grants

  $ 17,553     $ 13,327     $ 9,591  

Employee stock purchase plan

    1,542       1,346       1,190  

Total stock-based compensation expense

  $ 19,095     $ 14,673     $ 10,781  
                         

Cost of revenue

  $ 2,595     $ 2,451     $ 2,056  

Operating expenses:

                       

Marketing and sales

    3,736       3,121       2,632  

Research and development

    2,833       2,440       1,851  

General and administrative

    9,931       6,661       4,242  

Total stock-based compensation expense

  $ 19,095     $ 14,673     $ 10,781  

 


 

Comparison of Years Ended December 31, 2021 and 2020

 

Revenue

 

Revenue by reportable segment and the related changes for 2021 and 2020 is summarized as follows:


 

   

Year Ended December 31,

                 
   

2021

   

2020

   

Change

 

(dollars in thousands)

 

$

   

% of Total Revenue

   

$

   

% of Total Revenue

   

$

   

%

 
                                                 

Revenue

                                               

United States

  $ 384,458       78.8 %   $ 345,708       79.6 %   $ 38,750       11.2 %

Europe

    90,399       18.5       74,796       17.2       15,603       20.9  

Japan

    13,241       2.7       13,891       3.2       (650 )     (4.7 )

Total revenue

  $ 488,098       100.0 %   $ 434,395       100.0 %   $ 53,703       12.4 %

 

 

Our revenue increased $53.7 million, or 12.4%, for 2021 compared with 2020. Our revenue for 2021 includes revenue of $33.3 million provided by our acquisition of Hubs. By reportable segment, revenue in the United States increased $38.8 million, or 11.2%, for 2021 compared with 2020. Revenue in Europe increased $15.6 million, or 20.9%, for 2021 compared with 2020. Revenue in Japan decreased $0.7 million, or 4.7%, for 2021 compared with 2020. Excluding Hubs, revenue in the United States increased $21.1 million, or 6.1%, and revenue in Europe decreased $0.1 million, or 0.2%, for 2021 compared to the same period in 2020. International revenue was positively impacted by $3.3 million during 2021 compared to the same period in 2020 as a result of foreign currency movements, primarily the strengthening of the British Pound and Euro relative to the United States Dollar.

 

 

During 2021, we served 55,330 unique product developers and engineers, an increase of  26.3% over 2020. The increase in product developers served was driven primarily by our acquisition of Hubs. Excluding the impact of Hubs, our product developers served increased 5.2% over the same period in 2020. Our growth in product developers and engineers served increased at a greater rate than our revenue growth, resulting in a decrease in the average spend per product developer and engineer. The decrease in average spend per product developer and engineer was driven by a change in the mix of products with a lower average order size purchased during the year by product developers and engineers we serve.

 

Revenue by product line and the related changes for 2021 and 2020 is summarized as follows:

 


 

   

Year Ended December 31,

                 
   

2021

   

2020

   

Change

 

(dollars in thousands)

 

$

   

% of Total Revenue

   

$

   

% of Total Revenue

   

$

   

%

 
                                                 

Revenue

                                               

Injection Molding

  $ 226,117       46.3 %   $ 217,992       50.2 %   $ 8,125       3.7 %

CNC Machining

    166,811       34.2       131,587       30.3       35,224       26.8  

3D Printing

    72,721       14.9       62,502       14.4       10,219       16.3  

Sheet Metal

    20,397       4.2       18,838       4.3       1,559       8.3  

Other Revenue

    2,052       0.4       3,476       0.8       (1,424 )     (41.0 )

Total revenue

  $ 488,098       100.0 %   $ 434,395       100.0 %   $ 53,703       12.4 %

 


 

By product line, our revenue increase was driven by a 26.8% increase in CNC Machining revenue, a 16.3% increase in 3D Printing revenue, a 3.7% increase in Injection Molding revenue, and an 8.3% increase in Sheet Metal revenue, which was partially offset by a 41.0% decrease in Other Revenue, in each case for 2021 compared with 2020.

 

Cost of Revenue, Gross Profit and Gross Margin

 

Cost of Revenue. Cost of revenue increased $48.8 million, or 22.6%, for 2021 compared to 2020, which was greater than the rate of revenue increase of 12.4% for 2021 compared to 2020. The increase in cost of revenue was driven by a $28.2 million increase resulting from our acquisition of Hubs.  The $20.6 million increase in cost of revenue in our legacy business was driven by increased volumes and labor shortage resulting in wage inflation, increased overtime and increased recruiting costs, leading to personnel and related cost increases of $12.1 million and an increase in raw material and product costs of $9.6 million, which were partially offset by a decrease in equipment and facility related costs of $1.1 million.

 

Gross Profit and Gross Margin. Gross profit increased from $217.8 million in 2020 to $222.7 million in 2021. Gross margin decreased from 50.1% of revenue in 2020 to 45.6% of revenue in 2021 primarily due to labor and materials cost inflation and the mix of revenue.

 

Operating Expenses

 

Marketing and Sales. Marketing and sales expense increased $12.9 million, or 18.6%, for 2021 compared to 2020. In our legacy business, the increase was driven by personnel and related cost increases of $3.0 million and information technology allocation cost increases, including amortization of PL 2.0 software assets, of $4.4 million. In addition, our acquisition of Hubs provided $5.5 million in marketing and sales expense during 2021.

 

Research and Development. Our research and development expense increased $7.3 million, or 19.8%, for 2021 compared to 2020 primarily due to personnel and related cost increases of $4.2 million driven by personnel and contractor resources dedicated to the launch of our PL 2.0 system. During the development of PL 2.0, certain research and development personnel costs were capitalizable as a software development asset. Since the system was placed in service in November 2020, the continuing personnel costs have been expensed as incurred. In addition, increases of $3.2 million resulted from our acquisition of Hubs.

 

General and Administrative. Our general and administrative expense increased $16.7 million, or 32.3%, for 2021 compared to 2020 primarily due to an increase of $9.3 million resulting from our acquisition of Hubs, other professional service cost increases of $5.0 million, stock-based compensation cost increases of $0.9 million, and personnel and related cost increases of $1.6 million.

 

Changes in fair value of contingent consideration. The fair value of contingent consideration associated with the acquisition of Hubs decreased $12.5 million during 2021. We had no contingent consideration liabilities recorded during 2020.

 

 

Income from Operations

 

Income from operations decreased $19.5 million, or 32.6%, for 2021 compared with 2020. By reportable segment, income from operations for the United States and Europe decreased 0.8% and 93.8%, respectively, and loss from operations and expenses included in Corporate Unallocated and Japan increased 15.3% for 2021 compared with 2020. The decrease in income from operations is primarily driven by the acquisition of Hubs, increases in cost of revenue due to wage and material inflation and the additional costs of PL 2.0, including the amortization of the software asset.

 

Other (Expense) Income, Net and Provision for Income Taxes

 

Other (Expense) Income, Net. We recognized other expense, net of $0.2 million in 2021, a decrease of $3.3 million compared to other income, net of $3.1 million for 2020. Other expense, net for 2021 primarily consisted of a $0.9 million loss on foreign currency, which is partially offset by a $0.2 million in interest income and $0.5 million in other income. Other income, net for 2020 primarily consisted of $1.4 million in interest income on investments and a $1.5 million gain on foreign currency.

 

Provision for Income Taxes. Our income tax provision decreased by $5.3 million for 2021 compared to 2020. The decrease in the provision is primarily due to lower taxable income and the lower effective tax rate. Our effective tax rate of  17.0% for 2021 decreased 2.2% compared to 19.2% for the same period in 2020.

 

Comparison of Years Ended December 31, 2020 and 2019

 

For a comparison of our results of operations for fiscal years ended December 31, 2020 and December 31, 2019, see "Part II, Item 7 Management's Discussion and Analysis of Financial Condition and Results of Operations" of our Annual Report on Form 10-K for the fiscal year ended December 31, 2020, filed with the SEC on February 19, 2021.

 

 

Liquidity and Capital Resources

 

Cash Flows

 

The following table summarizes our cash flows for the years ended December 31, 2021, 2020 and 2019:

 


 

   

Year Ended December 31,

 

(dollars in thousands)

 

2021

   

2020

   

2019

 
                         

Net cash provided by operating activities

  $ 55,242     $ 106,969     $ 116,052  

Net cash used in investing activities

    (94,664 )     (95,473 )     (44,303 )

Net cash used in financing activities

    (22,198 )     (10,726 )     (31,617 )

Effect of exchange rates on cash and cash equivalents

    (54 )     1,608       47  

Net (decrease) increase in cash and cash equivalents

  $ (61,674 )   $ 2,378     $ 40,179  

 


 

Sources of Liquidity

 

We finance our operations and capital expenditures through cash flow from operations. We had cash and cash equivalents of $65.9 million as of December 31, 2021, a decrease of $61.7 million from December 31, 2020. The decrease in our cash was primarily due to cash used in investing activities for our acquisition of Hubs of $127.4 million, purchases of property, equipment and other capital assets of $34.2 million, and cash used in financing activities for repurchases of common stock of $23.3 million, which were partially offset by net proceeds from investments in marketable securities of $67.0 million and cash generated through operations of $55.2 million. We had cash and cash equivalents of $127.6 million as of December 31, 2020, an increase of $2.4 million from December 31, 2019. The increase in our cash was due primarily to cash generated through operations, partially offset by investing activity and repurchases of common stock. We had cash and cash equivalents of $125.2 million as of December 31, 2019, an increase of $40.2 million from December 31, 2018. The increase in our cash was due primarily to cash generated through operations.

 

As of December 31, 2021, the amount of cash and cash equivalents held by foreign subsidiaries was $20.6 million. Our intent is to continue to permanently reinvest these funds outside the U.S. and our current plans do not demonstrate a need to repatriate them to fund our domestic operations. We believe that our existing cash and cash equivalents together with cash generated from operations will be sufficient to meet our working capital expenditure requirements for at least the next 12 months.

 

Cash Flows from Operating Activities

 

Cash flow from operating activities of $55.2 million during 2021 primarily consisted of net income of $33.4 million, adjusted for certain non-cash items, including depreciation and amortization of $40.5 million and stock-based compensation expense of $19.1 million, which were partially offset by a decrease in the fair value of contingent consideration of $13.3 million and changes in operating assets and liabilities and other items totaling $24.5 million. The cash flow from operating activities during 2021 compared to 2020 decreased $51.7 million primarily due to decreases in net income of $17.5 million, increases in accounts receivable of $20.1 million driven by timing of cash receipts, a decrease in the fair value of contingent consideration of $13.3 million, decreases in deferred taxes of $7.2 million, and decreases of $6.0 million in other items, which were partially offset by increases in depreciation and amortization of $7.9 million and increases in stock-based compensation of $4.4 million.

 

Cash flow from operating activities of $107.0 million during 2020 primarily consisted of net income of $50.9 million, adjusted for certain non-cash items, including depreciation and amortization of $32.6 million, stock-based compensation expense of $14.7 million and deferred taxes of $7.6 million and changes in operating assets and liabilities and other items totaling $1.3 million. The cash flow from operating activities during 2020 compared to 2019 decreased $9.1 million due to decreases in net income of $12.8 million and changes in operating assets and liabilities and other items of $3.8 million, which were partially offset by increases in stock-based compensation expenses of $3.9 million, increases in deferred taxes of $1.5 million, increases in depreciation and amortization of $1.7 million driven by an increase in capital investments and increases in amortization of held-to-maturity securities of $0.4 million.

 

 

Cash Flows from Investing Activities

 

Cash used in investing activities was $94.7 million for the year ended December 31, 2021, consisting of $127.4 million in cash used for acquisitions, net of cash acquired and $34.2 million for the purchases of property, equipment and other capital assets, which were partially offset by $67.0 million of net proceeds from investments in marketable securities.

 

Cash used in investing activities was $95.5 million for the year ended December 31, 2020, consisting of $47.0 million for the purchase of property, equipment and other capital assets, $113.2 million for the purchase of marketable securities and $3.0 in other investing activities, which were partially offset by $67.7 million in proceeds from maturities of marketable securities.

 

Cash Flows from Financing Activities

 

Cash used in financing activities was $22.2 million for the year ended December 31, 2021, consisting of $23.3 million in repurchases of common stock, $4.2 million in shares withheld for tax obligations associated with equity transactions, and $0.6 million for repayments of finance lease obligations, which were partially offset by $5.9 million in proceeds from the exercise of stock options.

 

Cash used in financing activities was $10.7 million for the year ended December 31, 2020, consisting of $14.7 million in repurchases of common stock, $3.4 million in purchases of shares withheld for tax obligations associated with equity transactions and $0.2 million in principal repayments of finance lease obligations, partially offset by $7.6 million in proceeds from exercises of stock options.

 

Operating and Capital Expenditure Requirements

 

We believe, based on our current operating plan, that our cash balances and cash generated through operations and interest income will be sufficient to meet our anticipated cash requirements through at least the next 12 months. From time to time we may seek to sell equity or convertible debt securities or enter into credit facilities. The sale of equity and convertible debt securities may result in dilution to our shareholders. If we raise additional funds through the issuance of convertible debt securities or enter into credit facilities, these securities and debt holders could have rights senior to those of our common stock, and this debt could contain covenants that would restrict our operations. We may require additional capital beyond our currently forecasted amounts. Any such required additional capital may not be available on terms acceptable to us, or at all.

 

Our future capital requirements will depend on many factors, including the following:

 

 

the revenue growth in Injection Molding, CNC Machining, 3D Printing and Sheet Metal product lines;

 

 

 

 

costs of operations, including costs relating to expansion and growth;

 

 

 

 

the emergence of competing or complementary technological developments;

 

 

 

 

the costs of filing, prosecuting, defending and enforcing any patent claims and other intellectual product rights, or participating in litigation-related activities; and

 

 

 

 

the acquisition of businesses, products and technologies, although we currently have no commitments or agreements relating to any of these types of transactions.

 

Our recent annual capital expenditures have varied between 7% and 20% of annual revenue. We believe future growth capital expenditures, excluding any expenditures for buildings and maintenance capital we might purchase for our operations, are likely to vary between approximately 8% and 12% of annual revenue.

 

 

Contractual Obligations

 

As of December 31, 2021, our contractual obligations are $7.4 million related to current and long-term operating and finance lease liabilities.

 

Financing Arrangements

  

We had no financing arrangements as of December 31, 2021 and 2020.

 

Inflation

 

We experience normal inflation and changing prices, primarily on our production materials and labor. In 2021 and 2020, wage inflation contributed to our lower gross margin. We do not believe inflation and changing prices had a material effect on our financial condition in 2019. 

 

Off-Balance Sheet Arrangements

 

Since our inception, we have not engaged in any off-balance sheet arrangements, including the use of structured finance, special purpose entities or variable interest entities.

 

Critical Accounting Policies and Use of Estimates

 

The discussion and analysis of our financial condition and results of operations is based upon our consolidated financial statements, which have been prepared in accordance with accounting principles generally accepted in the United States. The preparation of these financial statements requires us to make estimates, judgments and assumptions that affect the reported amount of assets, liabilities, revenue, expenses and related disclosures. On an ongoing basis, we evaluate our estimates, including those related to revenue recognition, goodwill, capitalized software costs, other intangible assets, stock-based compensation, and income taxes. We base our estimates of the carrying value of certain assets and liabilities on historical experience and on various other assumptions that we believe to be reasonable under the circumstances. In many cases, we could reasonably have used different accounting policies and estimates. In some cases, changes in the accounting estimates are reasonably likely to occur from period to period. Management has discussed the development, selection and disclosure of these estimates with the audit committee of our board of directors. Our actual results may differ significantly from these estimates under different assumptions or conditions.

 

We believe the following critical accounting policies affect our more significant judgments used in the preparation of our consolidated financial statements. See the Notes to Consolidated Financial Statements included in Item 8. “Financial Statements and Supplementary Data” in this Annual Report on Form 10-K for additional information about these critical accounting policies, as well as a description of our other accounting policies.

 

 

Revenue Recognition

 

We recognize revenue for our internal and outsourced manufacturing operations in accordance with ASC 606, Revenue from Contracts with Customers. We manufacture custom parts to specific customer orders that have no alternative use to us, and we believe there is a legally enforceable right to payment for performance completed to date on internally and outsourced manufactured parts. For manufactured parts that meet these two criteria, we will recognize revenue over time. Revenue is recognized over time using the input method based on time in production as a percentage of total estimated production time to measure progress toward satisfying performance obligations using the estimated total time necessary to complete the parts per the customer's order and an estimate of inventory and production costs incurred to date. The input method requires an analysis of the incurred time in production and an estimate of the total time necessary to complete the total parts per the customer's order. The majority of our CNC machining, 3D printing, and sheet metal contracts have a single performance obligation. The majority of our injection molding contracts have multiple performance obligations including one obligation to produce the mold and a second obligation to produce parts. For injection molding contracts with multiple performance obligations, we allocate revenue to each performance obligation based on its relative standalone selling price. We generally determine standalone selling price based on the price charged to customers.

 

Goodwill

 

We recognize goodwill in accordance with ASC 350, Intangibles—Goodwill and Other. Goodwill is the excess of cost of an acquired entity over the amounts assigned to assets acquired and liabilities assumed in a business combination. Goodwill is allocated to our reporting units, which are determined by the discrete financial information available for the component and whether it is regularly reviewed by segment management. Our reporting units are the United States, Europe and Japan. Goodwill is not amortized.

 

Goodwill is tested for impairment annually at the beginning of the fourth quarter, and is tested for impairment between annual tests if an event occurs or circumstances change that would indicate the carrying amount may be impaired. An impairment charge for goodwill is recognized only when the estimated fair value of a reporting unit, including goodwill, is less than its carrying amount. In 2021, we performed a quantitative analysis based on the performance of Europe in 2021 and the amount of goodwill recorded during the year from the Hubs acquisition. The quantitative impairment test requires judgment, including the identification of reporting units, the assignment of assets, liabilities and goodwill to reporting units, and the determination of fair value of each reporting unit. The impairment test requires the comparison of the fair value of each reporting unit with its carrying amount, including goodwill. In performing the impairment test, we determined the fair value of its reporting units through a combination of  the income approach by using discounted cash flow (DCF) analyses and the market approach through the guideline company method. Determining fair value requires us to make judgments about appropriate discount rates, perpetual growth rates and the amount and timing of expected future cash flows. The cash flows employed in the DCF analysis for each reporting unit are based on the reporting unit's budget, long-term business plan and recent operating performance. Discount rate assumptions are based on an assessment of the risk inherent in the future cash flows of the respective reporting unit and market conditions. Given the inherent uncertainty in determining the assumptions underlying a DCF analysis, actual results may differ from those used in our valuations. In assessing the reasonableness of the determined fair values, we also reconciled the aggregate determined fair value of the Company to the Company's market capitalization, which, at the date of its 2021 impairment test, included a 16 percent control discount. Significant assumptions used in the DCF analysis included long-term revenue growth rates. As a result of the analyses, no impairment was identified.

 

Capitalized Software Costs

 

We follow ASC 350-40, Intangibles – Goodwill and Other, Internal-Use Software, in accounting for internally developed software. Costs for internal-use software are evaluated by projected and capitalized where appropriate.

 

Other Intangible Assets

 

We recognize other intangibles assets in accordance with ASC 350, Intangibles—Goodwill and Other. Other intangible assets include software technology, customer relationships and other intangible assets acquired from independent parties. We used a multi-period excess earnings method under the income approach to measure the software platform. The significant assumptions used to estimate the value of the software platform included forecasted annual revenue growth, gross margin rates, operating expenses as a percentage of sales and the weighted-average cost of capital, which are affected by our business plans and expectations about future market or economic conditions. Other intangible assets with a definite life are amortized over a period ranging from two to 12 years on a straight line basis, and are tested for impairment whenever events or circumstances indicate that the carrying amount of an asset (asset group) may not be recoverable. An impairment loss is recognized when the carrying amount of an asset exceeds the estimated undiscounted cash flows generated by the asset. As of December 31, 2021 no impairment charges for intangible assets have been recognized.

 

Stock-Based Compensation

 

We determine our stock-based compensation in accordance with ASC 718, Compensation—Stock Compensation (ASC 718), which requires the measurement and recognition of compensation expense for all share-based payment awards made to employees and non-employee directors based on the grant date fair value of the award.

 

Determining the appropriate fair value model and calculating the fair value of stock option grants requires the input of subjective assumptions. We use the Black-Scholes option pricing model to value our stock option awards. Stock-based compensation expense is significant to our consolidated financial statements and is calculated using our best estimates, which involve inherent uncertainties and the application of management’s judgment. Significant estimates include our expected term and stock price volatility. If different estimates and assumptions had been used, our common stock valuations could be significantly different and related stock-based compensation expense may be materially impacted.

 

The Black-Scholes option pricing model requires inputs such as the risk-free interest rate, expected term, expected volatility and expected dividend yield. We base the risk-free interest rate that we use in the Black-Scholes option pricing model on zero coupon U.S. Treasury instruments with maturities similar to the expected term of the award being valued. The expected term of stock options is estimated from the vesting period of the award and represents the weighted average period that our stock options are expected to be outstanding. We estimated the volatility of our stock price based on the historic volatility of our common stock. We have never paid and do not anticipate paying any cash dividends in the foreseeable future and, therefore, we use an expected dividend yield of zero in the option pricing model. We account for forfeitures as they occur.

 

 

The fair value of each new employee option awarded was estimated on the date of grant for the periods below using the Black-Scholes option pricing model with the following assumptions:

 


 

   

Year Ended December 31,

 
   

2021

   

2020

   

2019

 
                         

Risk-free interest rate

    0.80 - 1.12%       0.50 - 1.47%       2.35 - 2.58%  

Expected life (years)

    6.25       6.25       6.25  

Expected volatility

    45.28 - 45.53%       42.40 - 43.83%       42.52 - 42.74%  

Expected dividend yield

    0%       0%       0%  

Weighted average grant date fair value

    $128.14       $45.32       $47.84  

 


 

Our 2012 Employee Stock Purchase Plan (ESPP) allows eligible employees to purchase a variable number of shares of our common stock during each offering period at a discount through payroll deductions of up to 15% of their eligible compensation, subject to plan limitations. The ESPP provides for six-month offering periods with a single purchase period. At the end of each offering period, employees are able to purchase shares at 85% of the lower of the fair market value of our common stock on the first trading day of the offering period or on the last trading day of the offering period. We determine the fair value stock-based compensation related to our ESPP in accordance with ASC 718 using the component measurement approach and the Black-Scholes standard option pricing model.

 

The fair value of each offering period was estimated using the Black-Scholes option pricing model with the following assumptions:

 


 

   

Year Ended December 31,

 
   

2021

   

2020

   

2019

 
                         

Risk-free interest rate

    0.06 - 0.17%       0.12 - 0.17%       1.59 - 2.35%  

Expected life (months)

    6.00       6.00       6.00  

Expected volatility

    53.44 - 65.53%       50.85 - 59.99%       42.63 - 53.57%  

Expected dividend yield

    0%       0%       0%  

 


 

 There are significant differences among option valuation models, and this may result in a lack of comparability with other companies that use different models, methods and assumptions. If factors change and we employ different assumptions in the application of ASC 718 in future periods, or if we decide to use a different valuation model, such as a lattice model, the stock-based compensation expense that we record in the future under ASC 718 may differ significantly from what we have recorded using the Black-Scholes option pricing model and could materially affect our operating results.

 

We recognize stock-based compensation expense on a straight-line basis over the requisite service period. We recorded stock-based compensation expense relating to stock options, restricted stock awards, performance stock units and our ESPP of $19.1 million, $14.7 million and $10.8 million during the years ended December 31, 2021, 2020 and 2019, respectively. As of December 31, 2021, we had $4.3 million of unrecognized stock-based compensation costs related to unvested stock options that are expected to be recognized over a weighted average period of 2.6 years. We issued options to purchase 57,901, 60,065 and 53,708 shares of our common stock in 2021, 2020 and 2019, respectively. As of December 31, 2021, we had $26.0 million of unrecognized stock-based compensation costs related to non-vested restricted stock, which is expected to be recognized over a weighted average period of 2.4 years. We issued restricted stock awards of 205,996, 108,179 and 115,471 shares of our common stock in 2021, 2020 and 2019, respectively. As of December 31, 2021, we had $0.8 million of unrecognized stock-based compensation costs related to non-vested performance stock, which is expected to be recognized over a weighted average period of 1.8 years. We issued performance stock awards of 15,078, 19,956 and 21,434 shares of our common stock in 2021, 2020 and 2019, respectively.

 

In future periods, our stock-based compensation expense is expected to increase due to our existing unrecognized stock-based compensation and the issuance of additional stock-based awards to continue to attract and retain employees and non-employee directors.

 

Income Taxes

 

We account for income taxes in accordance with ASC 740, Income Taxes (ASC 740). Under this method, we determine tax assets and liabilities based upon the differences between the financial statement carrying amounts and the tax basis of assets and liabilities using enacted tax rates in effect for the year in which the differences are expected to affect taxable income. The tax consequences of most events recognized in the current year’s financial statements are included in determining income taxes currently payable. However, because tax laws and financial accounting standards differ in their recognition and measurement of assets, liabilities and equity, revenues, expenses, gains and losses, differences arise between the amount of taxable income and pretax financial income for a year and between the tax basis of assets or liabilities and their reported amounts in the financial statements. Because we assume that the reported amounts of assets and liabilities will be recovered and settled, respectively, a difference between the tax basis of an asset or liability and its reported amount in the balance sheet will result in a taxable or a deductible amount in some future years when the related liabilities are settled or the reported amounts of the assets are recovered, giving rise to a deferred tax asset or liability. We establish a valuation allowance for any portion of our deferred tax assets that we believe will not be recognized.

 

 

ASC 740 also clarifies the accounting for uncertainty in income taxes recognized in an enterprise’s financial statements by defining a criterion that an individual tax position must meet for any part of the benefit of that position to be recognized in an enterprise’s financial statements. The Company recognizes the effect of income tax positions only if sustaining those positions is more likely than not. The Company records penalties and interest related to unrecognized tax benefits in income taxes in the Company’s Consolidated Statements of Income. Including interest and penalties, we have established a liability for uncertain tax positions of $5.7 million as of December 31, 2021.

 

The effective tax rate decreased by 2.2% for the year ended December 31, 2021 when compared to 2020 primarily due to a one-time benefit from the revaluation of contingent consideration and a benefit from the decrease in the tax liability for uncertain tax positions resulting from the expiration of the statute of limitations. These benefits were partially offset by an increase in the valuation allowances on losses from foreign operations. 

 

Recently adopted accounting pronouncements

 

In December 2019, the Financial Accounting Standards Board issued Accounting Standards Update (ASU) 2019-12, Income Taxes (Topic 740): Simplifying the Accounting for Income Taxes (ASU 2019-12). ASU 2019-12 attempts to simplify aspects of accounting for franchise taxes and enacted changes in tax laws or rates, and clarifies the accounting for transactions that result in a step-up in the tax basis of goodwill. ASU 2019-12 is effective for public business entities for fiscal years beginning after December 15, 2020, including interim periods within that fiscal year. The Company adopted ASU 2019-12 on January 1, 2021 and there was no material impact on the Company’s consolidated financial statements.

 

 

 

Item 7A. Quantitative and Qualitative Disclosures About Market Risk

 

Quantitative and Qualitative Disclosure of Market Risks

 

Our exposure to market risk is confined to our cash and cash equivalent balances and investments. The primary goals of our investment policy are preservation of capital, fulfillment of liquidity needs and fiduciary control of cash and cash equivalent balances. We also seek to maximize income from our investments without assuming significant risk. To achieve our goals, we maintain a portfolio of debt securities with various maturities ranging from one to three years. Due to the nature of our investment portfolio, we are subject to interest rate risks, which we mitigate by holding our investments to maturity. In future periods, we will continue to evaluate our investment policy in order to continue our overall goals.

 

Foreign Currency Risk

 

As a result of our foreign operations, we have revenue, expenses, assets and liabilities that are denominated in foreign currencies. We generate revenue and incur production costs and operating expenses in British Pound, Euro and Japanese Yen.

 

Our operating results and cash flows are adversely impacted when the United States dollar appreciates relative to other foreign currencies. Additionally, our operating results and cash flows are adversely impacted when the British Pound appreciates relative to the Euro. As we expand internationally, our results of operations and cash flows will become increasingly subject to changes in foreign currency exchange rates.

 

We have not used forward contracts or currency borrowings to hedge our exposure to foreign currency risk. Foreign currency risk can be assessed by estimating the change in results of operations or financial position resulting from a hypothetical 10% adverse change in foreign exchange rates. We believe such a change would generally not have a material impact on our financial position, but could have a material impact on our results of operations. We recognized foreign currency losses of $0.9 million for the year ended December 31, 2021 and foreign currency gains of $1.5 million for the year ended December 31, 2020.

 

 

Item 8. Financial Statements and Supplementary Data

 

Proto Labs, Inc.

Index to Consolidated Financial Statements

 

       

Page

Report of Independent Registered Public Accounting Firm on Consolidated Financial Statements

 

50

Report of Independent Registered Public Accounting Firm (PCAOB ID: 42)

 

52

Consolidated Balance Sheets at December 31, 2021 and 2020

 

53

Consolidated Statements of Comprehensive Income for the years ended December 31, 2021, 2020 and 2019

 

54

Consolidated Statements of Shareholders' Equity for the years ended December 31, 2021, 2020 and 2019

 

55

Consolidated Statements of Cash Flows for the years ended December 31, 2021, 2020 and 2019

 

56

Notes to Consolidated Financial Statements

 

57

 

 

Report of Independent Registered Public Accounting Firm

 

To the Shareholders and the Board of Directors of Proto Labs, Inc.

 

Opinion on the Financial Statements

 

We have audited the accompanying consolidated balance sheets of Proto Labs, Inc. (the Company) as of December 31, 2021 and 2020, the related consolidated statements of comprehensive income, shareholders' equity and cash flows for each of the three years in the period ended December 31, 2021, and the related notes (collectively referred to as the “consolidated financial statements”). In our opinion, the consolidated financial statements present fairly, in all material respects, the financial position of the Company at December 31, 2021 and 2020, and the results of its operations and its cash flows for each of the three years in the period ended December 31, 2021, in conformity with U.S. generally accepted accounting principles.

 

We also have audited, in accordance with the standards of the Public Company Accounting Oversight Board (United States) (PCAOB), the Company's internal control over financial reporting as of December 31, 2021, based on criteria established in Internal Control-Integrated Framework issued by the Committee of Sponsoring Organizations of the Treadway Commission (2013 framework), and our report dated February 18, 2022 expressed an unqualified opinion thereon.

 

Basis for Opinion

 

These financial statements are the responsibility of the Company's management. Our responsibility is to express an opinion on the Company’s financial statements based on our audits. We are a public accounting firm registered with the PCAOB and are required to be independent with respect to the Company in accordance with the U.S. federal securities laws and the applicable rules and regulations of the Securities and Exchange Commission and the PCAOB.

 

We conducted our audits in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audit to obtain reasonable assurance about whether the financial statements are free of material misstatement, whether due to error or fraud. Our audits included performing procedures to assess the risks of material misstatement of the financial statements, whether due to error or fraud, and performing procedures that respond to those risks. Such procedures included examining, on a test basis, evidence regarding the amounts and disclosures in the financial statements. Our audits also included evaluating the accounting principles used and significant estimates made by management, as well as evaluating the overall presentation of the financial statements. We believe that our audits provide a reasonable basis for our opinion.

 

Critical Audit Matter

 

The critical audit matter communicated below is a matter arising from the current period audit of the consolidated financial statements that was communicated or required to be communicated to the audit committee and that: (1) relates to accounts or disclosures that are material to the consolidated financial statements and (2) involved our especially challenging, subjective or complex judgments. The communication of the critical audit matter does not alter in any way our opinion on the consolidated financial statements, taken as a whole, and we are not, by communicating the critical audit matter below, providing a separate opinion on the critical audit matter or on the accounts or disclosures to which it relates.

 

 

 

   

Revenue Recognition – Revenue Recognized Over Time

 

Description of the Matter  

 

As discussed in Notes 2 and 3 to the consolidated financial statements, the Company provides quality, quick-turn prototyping and on-demand manufacturing services.  The majority of revenue recognized in a reporting period is based on completed, invoiced contracts.  The Company manufactures custom parts to specific customer orders that have no alternative use to the Company, and the Company believes that there is a legally enforceable right to payment for performance completed to date on these manufactured parts.  Revenue is recognized over time for manufactured parts which meet these two criteria.  For revenue recognized over time, management uses the input method based on time in production as a percentage of total estimated production time to measure progress toward satisfying performance obligations using the estimated total time necessary to complete the parts per the customer's order and an estimate of inventory and production costs incurred to date.

 

Auditing revenue recognized over time was challenging because the relevant accounting standard requires the Company to estimate the progress towards satisfaction of performance obligations, applying a single appropriate method to measure progress. The input method requires an analysis of the incurred time in production and an estimate of the total time necessary to complete the total parts per the customer’s order. The Company also estimates inventory and production costs incurred to date. These estimates are based on management’s assessment of the current status of production as well as historical results.

     

How We Addressed the Matter in Our Audit

 

We obtained an understanding, evaluated the design and tested the operating effectiveness of controls over the Company’s process for recognizing revenue over time. This included testing controls over management’s evaluation of contract terms, the estimation of production time incurred to date and total production time used in the input method, estimation of a reasonable profit margin and the completeness and accuracy of the data used in the input method.   

To test the Company’s revenue recognition over time, we performed audit procedures that included, among others, inspecting a sample of contracts to evaluate the existence of an enforceable right to payment for performance completed to-date, evaluating the progress towards completion of orders in process through examination of a sample of product shipments subsequent to the end of the reporting period, evaluating the reasonableness of management’s estimate of profit margins based on a comparison to historical margins, testing the appropriateness of the timing and amount of revenue recognized over time based on the underlying inputs, and performing an independent sensitivity analysis to evaluate the impact on revenues of changes in significant assumptions.

 

 

/s/ Ernst & Young LLP

 

We have served as the Company’s auditor since 2011.

 

Minneapolis, Minnesota

February 18, 2022

 

 

Report of Independent Registered Public Accounting Firm

 

To the Shareholders and the Board of Directors of Proto Labs, Inc.

 

Opinion on Internal Control over Financial Reporting 

 

We have audited Proto Labs, Inc.’s internal control over financial reporting as of December 31, 2021, based on criteria established in Internal Control—Integrated Framework issued by the Committee of Sponsoring Organizations of the Treadway Commission (2013 framework) (the COSO criteria). In our opinion, Proto Labs, Inc. (the Company) maintained, in all material respects, effective internal control over financial reporting as of December 31, 2021, based on the COSO criteria.

 

As indicated in the accompanying Management’s Annual Report on Internal Control Over Financial Reporting, management’s assessment of and conclusion on the effectiveness of internal control over financial reporting did not include the internal controls of 3D Hubs, Inc. (Hubs), which is included in the 2021 consolidated financial statements of the Company and constituted 4% of total assets as of December 31, 2021 and 7% of revenues for the year then ended. Our audit of internal control over financial reporting of the Company also did not include an evaluation of the internal control over financial reporting of Hubs.

 

We also have audited, in accordance with the standards of the Public Company Accounting Oversight Board (United States) (PCAOB), the consolidated balance sheets of Proto Labs, Inc. as of December 31, 2021 and 2020, the related consolidated statements of comprehensive income, shareholders' equity and cash flows for each of the three years in the period ended December 31, 2021, and the related notes and our report dated February 18, 2022 expressed an unqualified opinion thereon.

 

Basis for Opinion

 

The Company’s management is responsible for maintaining effective internal control over financial reporting and for its assessment of the effectiveness of internal control over financial reporting included in the accompanying Management’s Annual Report on Internal Control Over Financial Reporting. Our responsibility is to express an opinion on the Company’s internal control over financial reporting based on our audit. We are a public accounting firm registered with the PCAOB and are required to be independent with respect to the Company in accordance with the U.S. federal securities laws and the applicable rules and regulations of the Securities and Exchange Commission and the PCAOB.

 

We conducted our audit in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audit to obtain reasonable assurance about whether effective internal control over financial reporting was maintained in all material respects.

 

Our audit included obtaining an understanding of internal control over financial reporting, assessing the risk that a material weakness exists, testing and evaluating the design and operating effectiveness of internal control based on the assessed risk, and performing such other procedures as we considered necessary in the circumstances. We believe that our audit provides a reasonable basis for our opinion.

 

Definition and Limitations of Internal Control Over Financial Reporting

 

A company’s internal control over financial reporting is a process designed to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles. A company’s internal control over financial reporting includes those policies and procedures that (1) pertain to the maintenance of records that, in reasonable detail, accurately and fairly reflect the transactions and dispositions of the assets of the company; (2) provide reasonable assurance that transactions are recorded as necessary to permit preparation of financial statements in accordance with generally accepted accounting principles, and that receipts and expenditures of the company are being made only in accordance with authorizations of management and directors of the company; and (3) provide reasonable assurance regarding prevention or timely detection of unauthorized acquisition, use, or disposition of the company’s assets that could have a material effect on the financial statements.

 

Because of its inherent limitations, internal control over financial reporting may not prevent or detect misstatements. Also, projections of any evaluation of effectiveness to future periods are subject to the risk that controls may become inadequate because of changes in conditions, or that the degree of compliance with the policies or procedures may deteriorate.

 

/s/ Ernst & Young LLP

 

Minneapolis, Minnesota

February 18, 2022

 

 

 

Proto Labs, Inc.

Consolidated Balance Sheets

(In thousands, except share and per share amounts)

 

 

  

December 31,

 
  

2021

  

2020

 
         

Assets

        

Current assets

        

Cash and cash equivalents

 $65,929  $127,603 

Short-term marketable securities

  11,580   34,088 

Accounts receivable, net of allowance for doubtful accounts of $1,948 and $1,781 as of December 31, 2021 and December 31, 2020, respectively

  80,051   57,877 

Inventory

  13,161   10,862 

Prepaid expenses and other current assets

  11,450   11,032 

Income taxes receivable

  1,321   540 

Total current assets

  183,492   242,002 

Property and equipment, net

  280,346   282,666 

Goodwill

  400,610   128,752 

Other intangible assets, net

  37,998   14,350 

Long-term marketable securities

  14,340   59,357 

Operating lease assets

  5,578   9,855 

Finance lease assets

  1,898   2,396 

Other long-term assets

  4,320   4,826 

Total assets

 $928,582  $744,204 
         

Liabilities and shareholders' equity

        

Current liabilities

        

Accounts payable

 $25,364  $18,248 

Accrued compensation

  13,704   11,989 

Accrued liabilities and other

  11,980   16,193 

Current operating lease liabilities

  3,298   3,272 

Current finance lease liabilities

  550   552 

Total current liabilities

  54,896   50,254 

Long-term operating lease liabilities

  2,245   7,586 

Long-term finance lease liabilities

  1,351   1,919 

Long-term deferred tax liabilities

  35,892   33,854 

Other long-term liabilities

  5,705   6,235 

Total liabilities

  100,089   99,848 
         

Shareholders' equity

        

Preferred stock, $0.001 par value, authorized 10,000,000 shares; issued and outstanding 0 shares as of December 31, 2021 and December 31, 2020, respectively

  -   - 

Common stock, $0.001 par value, authorized 150,000,000 shares; issued and outstanding 27,465,945 and 26,776,796 shares as of December 31, 2021 and December 31, 2020, respectively

  28   27 

Additional paid-in capital

  468,548   284,848 

Retained earnings

  376,734   362,901 

Accumulated other comprehensive loss

  (16,817)  (3,420)

Total shareholders' equity

  828,493   644,356 

Total liabilities and shareholders' equity

 $928,582  $744,204 

 


 

The accompanying notes are an integral part of these consolidated financial statements.

 

 

 

Proto Labs, Inc.

Consolidated Statements of Comprehensive Income

(In thousands, except share and per share amounts)

 

 

   

Year Ended December 31,

 
   

2021

   

2020

   

2019

 
                         

Statements of Operations:

                       

Revenue

  $ 488,098     $ 434,395     $ 458,728  

Cost of revenue

    265,407       216,568       223,438  

Gross profit

    222,691       217,827       235,290  

Operating expenses

                       

Marketing and sales

    82,175       69,309       72,976  

Research and development

    44,241       36,940       32,692  

General and administrative

    55,933       51,742       49,766  

Total operating expenses

    182,349       157,991       155,434  

Income from operations

    40,342       59,836       79,856  

Other (expense) income, net

    (158 )     3,109       1,337  

Income before income taxes

    40,184       62,945       81,193  

Provision for income taxes

    6,812       12,078       17,538  

Net income

  $ 33,372     $ 50,867     $ 63,655  
                         

Net income per share:

                       

Basic

  $ 1.21     $ 1.90     $ 2.37  

Diluted

  $ 1.21     $ 1.89     $ 2.35  
                         

Shares used to compute net income per share:

                       

Basic

    27,617,627       26,737,425       26,866,985  

Diluted

    27,653,099       26,896,357       27,049,423  
                         

Other Comprehensive Income (Loss), net of tax

                       

Foreign currency translation adjustments

  $ (13,278 )   $ 3,598     $ 1,474  

Net unrealized gains (losses) on investments in securities

    (119 )     -       -  

Comprehensive income

  $ 19,975     $ 54,465     $ 65,129  

 


 

The accompanying notes are an integral part of these consolidated financial statements.

 

 

 

Proto Labs, Inc.

Consolidated Statements of Shareholders' Equity

(In thousands, except share amounts)

 

 

   

Common Stock

   

Additional

           

Accumulated Other

         
                   

Paid-In

   

Retained

   

Comprehensive

         
   

Shares

   

Amount

   

Capital

   

Earnings

   

Loss

   

Total

 
                                                 

Balance at January 1, 2019

    26,984,747       27       258,502       291,460       (8,492 )     541,497  

Common shares issued on exercise of options and other, net of shares withheld for tax obligations

    128,174       -       1,904       -       -       1,904  

Stock-based compensation expense

    -       -       10,781       -       -       10,781  

Repurchases of Common Stock

    (326,462 )     -       (3,128 )     (30,393 )     -       (33,521 )

Net income

    -       -       -       63,655       -       63,655  

Other comprehensive income

                                               

Foreign currency translation adjustment

    -       -       -       -       1,474       1,474  

Comprehensive income

                                            65,129  

Balance at December 31, 2019

    26,786,459     $ 27     $ 268,059     $ 324,722     $ (7,018 )   $ 585,790  

Common shares issued on exercise of options and other, net of shares withheld for tax obligations

    189,951       -       4,114       -       -       4,114  

Stock-based compensation expense

    -       -       14,673       -       -       14,673  

Repurchases of Common Stock

    (199,614 )     -       (1,998 )     (12,688 )     -       (14,686 )

Net income

                            50,867               50,867  

Other comprehensive income

                                               

Foreign currency translation adjustment

    -       -       -       -       3,598       3,598  

Comprehensive income

                                    54,465  

Balance at December 31, 2020

    26,776,796     $ 27     $ 284,848     $ 362,901     $ (3,420 )   $ 644,356  

Common shares issued on exercise of options and other, net of shares withheld for tax obligations

    176,736       -       1,637       -       -       1,637  

Common shares issued for Hubs acquisition

    863,995       1       166,708       -       -       166,709  

Stock-based compensation expense

    -       -       19,095       -       -       19,095  

Repurchases of Common Stock

    (351,582 )     -       (3,740 )     (19,539 )     -       (23,279 )

Net income

    -       -       -       33,372       -       33,372  

Other comprehensive income

                                               

Foreign currency translation adjustment

    -       -       -       -       (13,278 )     (13,278 )

Net unrealized gains (losses) on investments in securities

    -       -       -       -       (119 )     (119 )

Comprehensive income

                                    19,975  

Balance at December 31, 2021

    27,465,945     $ 28     $ 468,548     $ 376,734     $ (16,817 )   $ 828,493  

 


 

The accompanying notes are an integral part of these consolidated financial statements.

 

 

 

Proto Labs, Inc.

Consolidated Statements of Cash Flows

(In thousands)

 


 

   

Year Ended December 31,

 
   

2021

   

2020

   

2019

 
                         

Operating activities

                       

Net income

  $ 33,372     $ 50,867     $ 63,655  

Adjustments to reconcile net income to net cash provided by operating activities:

                       

Depreciation and amortization

    40,488       32,594       30,864  

Stock-based compensation expense

    19,095       14,673       10,781  

Deferred taxes

    339       7,577       6,106  

Amortization of marketable securities

    -       415       5  

Realized loss on available-sale-securities

    567       -       -  

Changes in fair value of contingent consideration

    (13,253 )     -       -  

Other

    275       (336 )     391  

Changes in operating assets and liabilities, net of acquisitions:

                       

Accounts receivable

    (20,112 )     (91 )     1,848  

Inventories

    (2,390 )     (662 )     60  

Prepaid expenses and other

    64       (1,680 )     545  

Income taxes

    (774 )     (1,960 )     6,555  

Accounts payable

    4,654       1,492       (719 )

Accrued liabilities and other

    (7,083 )     4,080       (4,039 )

Net cash provided by operating activities

    55,242       106,969       116,052  
                         

Investing activities

                       

Purchases of property, equipment and other capital assets

    (34,209 )     (47,010 )     (62,230 )

Cash used for acquisitions, net of cash acquired

    (127,413 )     -       -  

Purchases of other assets and investments

    -       (3,000 )     (4,000 )

Purchases of marketable securities

    (16,159 )     (113,200 )     (46,403 )

Proceeds from sales of marketable securities

    64,913       -       -  

Proceeds from maturities of marketable securities

    18,204       67,737       68,330  

Net cash used in investing activities

    (94,664 )     (95,473 )     (44,303 )
                         

Financing activities

                       

Proceeds from exercises of stock options

    5,862       7,557       4,391  

Purchases of shares withheld for tax obligations

    (4,225 )     (3,443 )     (2,487 )

Repurchases of common stock

    (23,279 )     (14,686 )     (33,521 )

Principal repayments of finance lease obligations

    (552 )     (154 )     -  

Other

    (4 )     -       -  

Net cash used in financing activities

    (22,198 )     (10,726 )     (31,617 )

Effect of exchange rate changes on cash and cash equivalents

    (54 )     1,608       47  

Net (decrease) increase in cash and cash equivalents

    (61,674 )     2,378       40,179  

Cash and cash equivalents, beginning of period

    127,603       125,225       85,046  

Cash and cash equivalents, end of period

  $ 65,929     $ 127,603     $ 125,225  
                         

Supplemental cash flow disclosure

                       

Cash paid for interest

  $ 28     $ 23     $ 14  

Cash paid for taxes

  $ 7,583     $ 5,650     $ 4,002  

 



The accompanying notes are an integral part of these consolidated financial statements.

 

 

Proto Labs, Inc.

Notes to Consolidated Financial Statements

 

Note 1 — Nature of Business

 

Organization and business

 

Proto Labs, Inc. and its subsidiaries (Proto Labs, the Company, we, us, or our) is a digital manufacturer of custom prototypes and on-demand production parts. The Company utilizes injection molding, computer numerical control (CNC) machining, 3D printing and sheet metal fabrication to manufacture custom parts for its customers. The Company's customers conduct nearly all of their business over the internet. The Company targets its products to the millions of product developers and engineers who use three-dimensional computer-aided design (3D CAD) software to design products across a diverse range of end-markets. In addition, the Company serves procurement and supply chain professionals seeking to manufacture custom parts on-demand. The Company has established operations in the United States, Europe and Japan, which the Company believes are among the largest geographic markets where these product developers and engineers are located. Through the acquisition of Hubs in 2021, the Company is able to provide its customers access to a global network of premium manufacturing partners who reside across North America, Europe and Asia, complementing its in-house manufacturing. Proto Labs, Inc. is headquartered in Maple Plain, Minnesota. The Company’s subsidiaries are:

 


  

 

Name

   

Location

         
 

PL-US International LLC

   

United States

 

Hubs Manufacturing Inc.

     

United States

 
 

3D Hubs Manufacturing LLC

     

United States

 
 

Proto Labs Ltd.

   

United Kingdom

 

PL International Holdings, UK, Ltd.

   

United Kingdom

 

PL Euro Services Limited

   

United Kingdom

 

Proto Labs GmbH

   

Germany

 

Proto Labs Tooling GmbH

   

Germany

 

3D Hubs B.V.

     

Netherlands

 
 

Proto Labs, G.K.

   

Japan

 


 

 

 

Note 2 — Summary of Significant Accounting Policies

 

Principles of consolidation

 

The consolidated financial statements include the accounts of the Company and its wholly-owned subsidiaries, as listed within “Organization and business” above. All intercompany accounts and transactions have been eliminated in consolidation.

 

Comprehensive income

 

Components of comprehensive income include net income, foreign currency translation adjustments and net unrealized gains and losses on investments in securities. Comprehensive income is disclosed in the accompanying Consolidated Statements of Comprehensive Income and Consolidated Statements of Shareholders’ Equity.

 

57

 

Proto Labs, Inc.

Notes to Consolidated Financial Statements

 

Accounting estimates

 

The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America (U.S. GAAP) requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and related disclosures at the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from those estimates.

 

Cash and cash equivalents

 

Cash and cash equivalents include cash and other investments, including marketable securities, with maturities of three months or less at the date of purchase. The Company maintains its cash in bank deposit accounts, which, at times, may exceed federally insured limits. The Company has not experienced any losses on such accounts.

 

Marketable securities

 

As of December 31, 2021, marketable securities are categorized as available-for-sale and are recorded at fair value.  In the first quarter of 2021, the Company sold held-to-maturity securities in order to partially fund the acquisition of Hubs. As a result of the sale, all remaining marketable securities were reclassified to available-for-sale securities and reported at fair value. Management determines the appropriate classification of debt securities at the time of purchase and reevaluates such designation as of each balance sheet date. The classification of marketable securities as current or non-current is dependent upon the security’s maturity date. Securities with maturities of three months or less at the time of purchase are categorized as cash equivalents as described above.

 

As of December 31, 2020, marketable securities included held-to-maturity debt securities recorded at amortized cost. Debt securities were classified as held-to-maturity when the Company had the positive intent and ability to hold the securities to maturity. Held-to-maturity securities were stated at amortized cost, adjusted for amortization of premiums and accretion of discounts to maturity computed under the effective interest method. Such amortization was included in other income, net. Interest on securities classified as held to maturity was included in other income, net. During the first quarter of 2020, the Company adopted the FASB ASU 2016-13, Financial Instruments – Credit Losses. The Company calculated the expected credit loss for each security in its portfolio using the probability-of-default method. The Company concluded the adoption of the guidance had no material impact on its consolidated financial statements.

 

Accounts receivable and allowance for doubtful accounts

 

Accounts receivable are reported at the invoiced amount less an allowance for doubtful accounts. As of each balance sheet date, the Company evaluates its accounts receivable and establishes an allowance for doubtful accounts based on a combination of specific customer circumstances and credit conditions taking into account the history of write-offs and collections. A receivable is considered past due if payment has not been received within the period agreed upon in the invoice. Accounts receivable are written off after all collection efforts have been exhausted. Recoveries of trade receivables previously written off are recorded when received.

 

Inventory

 

Inventory consists primarily of raw materials, which are recorded at the lower of cost or market, using the standard cost method, which approximates first-in, first-out (FIFO) cost. The Company periodically reviews its inventory for slow-moving, damaged and discontinued items and provides allowances to reduce such items identified to their recoverable amounts.

 

Property, equipment and leasehold improvements

 

Property, equipment and leasehold improvements are stated at cost. Major improvements that substantially extend an asset’s useful life are capitalized. Repairs, maintenance and minor improvements are charged to operations as incurred. Depreciation, including amortization of leasehold improvements and assets recorded under capital leases, is calculated using the straight-line method over the estimated useful lives of the individual assets and ranges from 3 to 39 years. Manufacturing equipment is depreciated over 3 to 15 years, office furniture and equipment are depreciated over 3 to 7 years, computer hardware and software are depreciated over 3 to 5 years, building costs are depreciated over 39 years, leasehold improvements are depreciated over the estimated lives of the related assets or the life of the lease, whichever is shorter, and building and land improvements are depreciated over 10 to 39 years. Assets not in service are not depreciated until the asset is put into use.

 

The Company follows ASC 350-40, Internal-Use Software, in accounting for internally developed software. As of December 31, 2021 and 2020, $49.4 million of software development costs were capitalized.

 

58

 

Proto Labs, Inc.

Notes to Consolidated Financial Statements

 

Goodwill

 

The Company recognizes goodwill in accordance with ASC 350, Intangibles—Goodwill and Other. Goodwill is the excess of cost of an acquired entity over the amounts assigned to assets acquired and liabilities assumed in a business combination. Goodwill is allocated to the Company's reporting units, which are determined by the discrete financial information available for the component and whether it is regularly reviewed by segment management. The Company's reporting units are the United States, Europe and Japan. Goodwill is not amortized.

 

Goodwill is tested for impairment annually at the beginning of the fourth quarter, and is tested for impairment between annual tests if an event occurs or circumstances change that would indicate the carrying amount may be impaired. An impairment charge for goodwill is recognized only when the estimated fair value of a reporting unit, including goodwill, is less than its carrying amount. In 2021, the Company performed a quantitative analysis based on the performance of Europe in 2021 and the amount of goodwill recorded during the year from the Hubs acquisition. The quantitative impairment test requires judgment, including the identification of reporting units, the assignment of assets, liabilities and goodwill to reporting units, and the determination of fair value of each reporting unit. The impairment test requires the comparison of the fair value of each reporting unit with its carrying amount, including goodwill. In performing the impairment test, the Company determined the fair value of its reporting units through a combination of the income approach by using discounted cash flow (DCF) analyses and the market approach through the guideline company method. Determining fair value requires the Company to make judgments about appropriate discount rates, perpetual growth rates and the amount and timing of expected future cash flows. The cash flows employed in the DCF analysis for each reporting unit are based on the reporting unit's budget, long-term business plan and recent operating performance. Discount rate assumptions are based on an assessment of the risk inherent in the future cash flows of the respective reporting unit and market conditions. Given the inherent uncertainty in determining the assumptions underlying a DCF analysis, actual results may differ from those used in the Company's valuations. In assessing the reasonableness of the determined fair values, the Company also reconciled the aggregate determined fair value of the Company to the Company's market capitalization, which, at the date of its 2021 impairment test, included a 16 percent control discount. Significant assumptions used in the DCF analysis included long-term revenue growth rates. As a result of the analyses, no impairment was identified.

 

Capitalized Software Costs

 

The Company follows ASC 350-40, Intangibles – Goodwill and Other, Internal-Use Software, in accounting for internally developed software. Costs for internal use software are evaluated by projected and capitalized where appropriate.

  

Other Intangible Assets

 

Other intangible assets include software technology, customer relationships and other intangible assets acquired from other independent parties. Other intangible assets with a definite life are amortized over a period ranging from two to 12 years on a straight line basis, and are tested for impairment whenever events or circumstances indicate that the carrying amount of an asset (asset group) may not be recoverable. An impairment loss is recognized when the carrying amount of an asset exceeds the estimated undiscounted cash flows generated by the asset. The amount of the impairment loss recorded is calculated by the excess of the asset’s carrying value over its fair value.

 

Accounting for long-lived assets

 

The Company periodically reviews the carrying amount of its property, equipment and leasehold improvements to determine if circumstances exist indicating an impairment or if depreciation periods should be modified. If facts or circumstances indicate that an impairment may exist, the Company will prepare a projection of the undiscounted future cash flows of the specific assets to determine if the assets are recoverable. If impairment exists based on these projections, an adjustment will be made to reduce the carrying amount of the specific assets to fair value.

 

Revenue recognition

 

The Company recognizes revenue for its internal and outsourced manufacturing operations in accordance with ASC 606, Revenue from Contracts with Customers. The Company manufactures custom parts to specific customer orders that have no alternative use to the Company, and the Company believes there is a legally enforceable right to payment for performance completed to date on internally and outsourced manufactured parts. For manufactured parts that meet these two criteria, the Company will recognize revenue over time. Revenue is recognized over time using the input method based on time in production as a percentage of total estimated production time to measure progress toward satisfying performance obligations using the estimated total time necessary to complete the parts per the customer's order and an estimate of inventory and production costs incurred to date. The input method requires an analysis of the incurred time in production and an estimate of the total time necessary to complete the total parts per the customer's order. The majority of the Company’s injection molding contracts have multiple performance obligations including one obligation to produce the mold and a second obligation to produce parts. For injection molding contracts with multiple performance obligations, the Company allocates revenue to each performance obligation based on its relative standalone selling price. The Company generally determines standalone selling price based on the price charged to customers.

 

Leases

 

The Company accounts for leases in accordance with ASC 842, Leases, which requires the balance sheet recognition of lease assets and lease liabilities by lessees for those leases classified as operating and finance leases. The Company determines if an arrangement is a lease at inception. Operating leases are included in operating lease assets, current operating lease liabilities and long-term operating lease liabilities in the Consolidated Balance Sheets and are recognized based on the present value of lease payments over the lease term at the commencement date. Finance leases are included in finance lease assets, current finance lease liabilities and long-term finance lease liabilities in the Consolidated Balance Sheets and are recognized based on the present value of lease payments over the lease term at commencement date. The majority of the Company’s leases do not provide an implicit rate of return, therefore, the Company uses its incremental borrowing rate based on the information available at commencement date in determining the present value of lease payments. Lease agreements that contain non-lease components, with the exception of certain real estate leases, are accounted for as a single lease component.

 

The Company has operating leases for office space, manufacturing facilities and certain company vehicles and equipment and finance leases for certain company equipment. The leases have remaining lease terms of one year to eight years. Leases with an initial term of 12 months or less are not recorded on the balance sheet; we recognize lease expense for these leases on a straight-line basis over the lease term. For purposes of calculating operating lease liabilities, lease terms may be deemed to include options to extend or terminate the lease when it is reasonably certain that the Company will exercise that option. As of December 31, 2021, the operating lease liability does not include any options to extend or terminate leases.

 

59

 

Proto Labs, Inc.

Notes to Consolidated Financial Statements

 

Income taxes

 

The Company accounts for income taxes in accordance with ASC 740, Income Taxes (ASC 740). Under this method, the Company determines tax assets and liabilities based upon the differences between the financial statement carrying amounts and the tax basis of assets and liabilities using enacted tax rates in effect for the year in which the differences are expected to affect taxable income. The tax consequences of most events recognized in the financial statements are included in determining income taxes currently payable. However, because tax laws and financial accounting standards differ in their recognition and measurement of assets, liabilities and equity, revenues, expenses, gains and losses, differences arise between the amount of taxable income and pretax financial income for a year and between the tax basis of assets or liabilities and their reported amounts in the financial statements. Because the Company assumes that the reported amounts of assets and liabilities will be recovered and settled, respectively, a difference between the tax basis of an asset or liability and its reported amount in the balance sheet will result in a taxable or a deductible amount in some future years when the related liabilities are settled or the reported amounts of the assets are recovered, giving rise to a deferred tax asset or liability. The Company establishes a valuation allowance for any portion of its deferred tax assets that the Company believes  may not be recognized.

 

ASC 740 also clarifies the accounting for uncertainty in income taxes recognized in an enterprise’s financial statements by requiring that individual tax positions are recorded only when they meet a more-likely-than-not criterion. The Company recognizes the effect of income tax positions only if sustaining those positions is more likely than not. The Company records penalties and interest related to unrecognized tax benefits in income taxes in the Company’s Consolidated Statements of Income.

 

Stock-based compensation

 

The Company accounts for stock-based compensation in accordance with ASC 718, Compensation—Stock Compensation (ASC 718). Under the fair value recognition provisions of ASC 718, the Company measures stock-based compensation cost at the grant date fair value and recognizes the compensation expense over the requisite service period, which is the vesting period, using a straight-line attribution method. The amount of stock-based compensation expense recognized during a period is based on the portion of the awards that are ultimately expected to vest. The Company accounts for forfeitures as they occur. Ultimately, the total expense recognized over the vesting period will only be for those awards that vest. The Company’s awards are not eligible to vest early in the event of retirement, however, the awards vest early in the event of a change in control.

 

In determining the compensation cost of the options granted, the fair value of options granted has been estimated on the date of grant using the Black-Scholes option-pricing model.

 

Advertising costs

 

Advertising is expensed as incurred and was approximately $11.6 million, $11.5 million and $13.0 million for the years ended December 31, 2021, 2020 and 2019, respectively.

 

Research and development

 

Research and development expenses consist primarily of personnel and outside service costs related to the development of new processes and product lines, enhancements of existing product lines, development of software for internal use, maintenance of internally developed software, quality assurance and testing. Costs for internal use software are evaluated by project and capitalized where appropriate under ASC 350-40, Intangibles - Goodwill and Other, Internal-Use Software. Research and development costs were approximately $44.2 million, $36.9 million and $32.7 million for the years ended December 31, 2021, 2020 and 2019, respectively.

 

Foreign currency translation/transactions

 

The Company translated the balance sheets of its foreign subsidiaries at period-end exchange rates and the income statement at the average exchange rates in effect throughout the period. The Company has recorded the translation adjustment as a separate component of consolidated shareholders’ equity. Foreign currency transaction gains and losses are recognized in the Consolidated Statements of Comprehensive Income.

 

Recently adopted accounting pronouncements

 

In  December 2019, the Financial Accounting Standards Board issued Accounting Standards Update (ASU) 2019-12, Income Taxes (Topic 740): Simplifying the Accounting for Income Taxes (ASU 2019-12). ASU 2019-12 attempts to simplify aspects of accounting for franchise taxes and enacted changes in tax laws or rates, and clarifies the accounting for transactions that result in a step-up in the tax basis of goodwill. ASU 2019-12 is effective for public business entities for fiscal years beginning after  December 15, 2020, including interim periods within that fiscal year. The Company adopted ASU 2019-12 on  January 1, 2021 and there was no material impact on the Company’s consolidated financial statements.

 

60

 

Proto Labs, Inc.

Notes to Consolidated Financial Statements

 

 

 

Note 3 – Revenue

 

The Company accounts for revenue in accordance with ASC 606, Revenue from Contracts with Customers. The Company provides quality, quick-turn prototyping and on-demand manufacturing services. As a result, the majority of revenue recognized in a reporting period is based on completed, invoiced contracts. 

 

A performance obligation is a promise in a contract to transfer a distinct good or service to the customer, and is the unit of account in ASC 606. The majority of the Company’s CNC machining, 3D printing, and sheet metal contracts have a single performance obligation. The majority of the Company’s injection molding contracts have multiple performance obligations including one obligation to produce the mold and a second obligation to produce parts. For injection molding contracts with multiple performance obligations, we allocate revenue to each performance obligation based on its relative standalone selling price. We generally determine standalone selling price based on the price charged to customers.

 

The Company manufactures parts that have no alternative use to the Company since the parts are custom made to specific customer orders, and the Company believes there is a legally enforceable right to payment for performance completed to date on these manufactured parts. For manufactured parts that meet these two criteria, the Company will recognize revenue over time. Revenue is recognized over time using the input method based on time in production as a percentage of total estimated production time to measure progress toward satisfying performance obligations using the estimated total time necessary to complete the parts per the customer's order and an estimate of inventory and production costs incurred to date. The input method requires an analysis of the incurred time in production and an estimate of the total time necessary to complete the total parts per the customer's order.

 

Revenue by geographic region for the years ended December 31, 2021, 2020 and 2019 was as follows:

 


 

  

Year Ended December 31,

 

(in thousands)

 

2021

  

2020

  

2019

 

Revenue:

            

United States

 $384,458  $345,708  $360,205 

Europe

  90,399   74,796   82,805 

Japan

  13,241   13,891   15,718 

Total revenue

 $488,098  $434,395  $458,728 

 


 

Revenue by product line for the years ended December 31, 2021, 2020 and 2019 was as follows:

 


 

  

Year Ended December 31,

 

(in thousands)

 

2021

  

2020

  

2019

 

Revenue:

            

Injection Molding

 $226,117  $217,992  $217,415 

CNC Machining

  166,811   131,587   155,473 

3D Printing

  72,721   62,502   61,352 

Sheet Metal

  20,397   18,838   21,000 

Other Revenue

  2,052   3,476   3,488 

Total revenue

 $488,098  $434,395  $458,728 

 


 

The Company generally expenses sales commissions when incurred because the amortization period would have been one year or less. These costs are recorded within marketing and sales expenses. The value of unsatisfied performance obligations for contracts with an original expected length of one year or less is not material.

 

61

 

Proto Labs, Inc.

Notes to Consolidated Financial Statements

 

 

 

Note 4 – Net Income Per Common Share

 

Basic net income per share is computed based on the weighted average number of common shares outstanding. Diluted net income per share is computed based on the weighted average number of common shares outstanding, increased by the number of additional shares that would have been outstanding had the potentially dilutive common shares been issued and reduced by the number of shares the Company could have repurchased from the proceeds from issuance of the potentially dilutive shares. Potentially dilutive shares of common stock include stock options and other stock-based awards granted under stock-based compensation plans and shares committed to be purchased under the employee stock purchase plan. For the year ended December 31, 2021, 113,043 anti-dilutive options were excluded from the calculation of diluted weighted average shares outstanding.

  

The following table presents the calculation of net income per basic and diluted share attributable to common shareholders:

 


 

   

Year Ended December 31,

 

(in thousands, except share and per share amounts)

 

2021

   

2020

   

2019

 
                         

Net Income

  $ 33,372     $ 50,867     $ 63,655  
                         

Basic - weighted-average shares outstanding:

    27,617,627       26,737,425       26,866,985  

Effect of dilutive securities:

                       

Employee stock options and other

    35,472       158,932       182,438  

Diluted - weighted-average shares outstanding:

    27,653,099       26,896,357       27,049,423  

Net income per share attributable to common shareholders:

                       

Basic

  $ 1.21     $ 1.90     $ 2.37  

Diluted

  $ 1.21     $ 1.89     $ 2.35  

 


 

 

 

 

Proto Labs, Inc.

Notes to Consolidated Financial Statements

 

 

 Note 5 Business Combinations

 

On January 22, 2021, the Company acquired all of the outstanding shares of 3D Hubs, Inc. (Hubs), for $294.1 million, consisting of $127.4 million in cash and 863,995 shares of the Company's common stock valued at $166.7 million on the closing date. The purchase agreement included additional contingent consideration of up to $52.8 million subject to the achievement of performance-based targets during fiscal 2021 and fiscal 2022. The contingent consideration consisted of up to $25.0 million in cash and up to 143,983 shares of the Company's common stock valued at $27.8 million on the closing date.

 

Hubs is based in Amsterdam, Netherlands and is a leading online manufacturing platform that provides customers with on-demand access to a global network of premium manufacturing partners. The acquisition enhances the Company’s value proposition by expanding the customer offerings, enabling the Company to more holistically serve its customers.

 

The fair value of the consideration paid for this acquisition has been allocated to the assets purchased and liabilities assumed based on their fair values as of the acquisition date, with any excess recorded as goodwill.  The goodwill associated with the acquisition represents both the strategic and growth opportunities by significantly expanding the customer offering with a network of premium manufacturing partners. The goodwill related to the acquisition is not deductible for tax purposes. 

 

The Company recorded a contingent consideration liability of $13.6 million as of the acquisition date representing the estimated fair value of the amounts payable to former shareholders, as outlined under the terms of the merger agreement, payable subject to the satisfaction of performance-based targets during fiscal year 2021 and fiscal year 2022, as noted above. The fair value of the contingent consideration (Level 3) was determined using a Monte Carlo pricing model. During the year ended December 31, 2021, the Company reversed all previously recorded contingent consideration due to the performance-based targets not being met for fiscal 2021 and those targets would not be met during fiscal 2022. The reversal of the contingent consideration was recorded as a decrease in general and administrative expense in the Consolidated Statements of Comprehensive Income.

 

The results of Hubs since the date of acquisition have been included within the Company's results. Pro forma disclosures of the consolidated results of the Company with the full year effects of Hubs, as if the acquisition had occurred on January 1, 2020, are not required and have not been separately presented since the impact to the Company's results of operations was not material.

 

The acquisition has been accounted for under the acquisition method of accounting in accordance with ASC 805, Business Combinations. Throughout fiscal 2021 the Company recorded adjustments to the preliminary allocation of the purchase price due to changes to the preliminary valuation and finalization of the working capital calculation. Adjustments from the original amounts recorded included a $3.9 million decrease to intangible assets, a $5.5 million increase to goodwill, a $3.3 million increase to contingent consideration, a $1.4 million decrease to deferred tax liabilities, and a decrease to cash paid of $0.3 million. The final purchase price allocation is as follows:

 


 

(in thousands)

       

Assets acquired:

       

Current assets

  $ 2,497  

Intangible assets

    30,770  

Goodwill

    280,925  

Other long-term assets

    1,139  

Total assets acquired

    315,331  
         

Liabilities assumed:

       

Current contingent consideration

    7,093  

Current liabilities

    5,666  

Long-term contingent consideration

    6,507  

Long-term deferred tax liabilities

    1,688  

Other long-term liabilities

    255  

Total liabilities assumed

    21,209  

Net assets acquired

  $ 294,122  
         

Cash paid

  $ 133,847  

Cash acquired

    (6,434 )

Net cash consideration

    127,413  

Equity portion of purchase price

    166,709  

Total purchase consideration

  $ 294,122  

 


 

 

63

 

Note 6 – Goodwill and Other Intangible Assets

 

The changes in the carrying amount of goodwill for the years ended December 31, 2021 and 2020 were as follows:

 


 

(in thousands)

 

Dec. 31, 2019

  

Goodwill acquired during 2020

  

Dec. 31, 2020

  

Goodwill acquired during 2021

  

Foreign currency translation adjustments during 2021

  

Dec. 31, 2021

 
                         

United States

 $123,883  $-  $123,883  $151,276  $-  $275,159 

Europe

  4,239   -   4,239   129,649   (9,067)  124,821 

Japan

  630   -   630   -   -   630 

Total goodwill

 $128,752  $-  $128,752  $280,925  $(9,067) $400,610 

 


 

Goodwill increased $280.9 million for the year ended December 31, 2021 as a result of our acquisition of Hubs. Goodwill has been allocated to the acquired Hubs entities consisting of goodwill of €106.5 million in Europe and $151.3 million in the United States as of the date of the acquisition. The Euro denominated goodwill is translated at the end of each period using the current exchange rates resulting in a foreign currency translation adjustment that is recorded as a component of Other Comprehensive Income.

 

Intangible assets other than goodwill for the years ended December 31, 2021 and 2020 were as follows: 

 


 

  

Year Ended December 31, 2021

  

Year Ended December 31, 2020

      

Weighted Average Useful Life

 

(in thousands)

 

Gross

  

Accumulated Amortization

  

Net

  

Gross

  

Accumulated Amortization

  

Net

  

Useful Life (in years)

  

Remaining (in years)

 
                                 

Marketing assets

 $930  $(713) $217  $930  $(620) $310   10.0   2.3 

Non-compete agreement

  842   (363)  479   270   (238)  32   2.0 - 5.0   2.9 

Software technology

  13,229   (5,014)  8,215   13,229   (3,645)  9,584   10.0   6.5 

Software platform

  26,725   (2,262)  24,463   -   -   -   12.0   11.1 

Tradenames

  359   (114)  245   -   -   -   3.0   2.1 

Customer relationships

  12,252   (7,873)  4,379   10,070   (5,646)  4,424   3.0 - 9.0   1.8 

Total intangible assets

 $54,337  $(16,339) $37,998  $24,499  $(10,149) $14,350         

 


 

Amortization expense for intangible assets for the years ended December 31, 2021, 2020 and 2019 was $6.2 million, $3.0 million and $3.5 million, respectively. The Euro denominated intangible assets are translated at the end of each period using the current exchange rates resulting in a foreign currency translation adjustment that is recorded as a component of Other Comprehensive Income. For the year ended December 31, 2021, the foreign currency translation adjustment was $0.9 million.  There were no foreign currency translation adjustments for the years ended December 31, 2020 and 2019.

 

Estimated aggregated amortization expense based on the current carrying value of the amortizable intangible assets is as follows:

 


 

(in thousands)

 Estimated Amortization Expense 

2022

 $6,172 

2023

  5,968 

2024

  3,790 

2025

  3,690 

2026

  3,586 

Thereafter

  14,792 

Total estimated amortization expense

 $37,998 

 


 

64

 

Proto Labs, Inc.

Notes to Consolidated Financial Statements

 

 

 

Note 7 – Fair Value Measurements

 

ASC 820, Fair Value Measurement (ASC 820), defines fair value as the exchange price that would be received for an asset or paid to transfer a liability (an exit price) in the principal or most advantageous market for the asset or liability in an orderly transaction between market participants on the measurement date. ASC 820 also establishes a fair value hierarchy which requires classification based on observable and unobservable inputs when measuring fair value. There are three levels of inputs that may be used to measure fair value:

 

Level 1—Quoted prices in active markets for identical assets or liabilities.

 

Level 2—Observable inputs other than Level 1 prices such as quoted prices for similar assets or liabilities; quoted prices in markets that are not active; or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities.

 

Level 3—Unobservable inputs that are supported by little or no market activity and that are significant to the fair value of the assets or liabilities.

 

The Company's assets and liabilities that are required to be measured or disclosed at fair value on a recurring basis include cash and cash equivalents and marketable securities. The Company’s cash consists of bank deposits. The Company’s cash equivalents measured at fair value consist of money market mutual funds. The Company determines the fair value of these investments using Level 1 inputs. The Company's marketable securities consist of short-term and long-term agency, municipal, corporate and other debt securities. Fair value for the corporate debt securities is primarily determined based on quoted market prices (Level 1). Fair values for the U.S. municipal securities, U.S. government agency securities, certificates of deposit and U.S. treasury securities are primarily determined using dealer quotes or quoted market prices for similar securities (Level 2). The Company's contingent consideration is the current fair value estimate of amounts owed to the former shareholders of Hubs and is determined using the Monte Carlo pricing model (Level 3). The Company had no contingent consideration as of December 31, 2021.

 

The following tables summarizes financial assets as of December 31, 2021 and 2020 measured at fair value on a recurring basis:

 


 

  

December 31, 2021

  

December 31, 2020

 

(in thousands)

 

Level 1

  

Level 2

  

Level 3

  

Level 1

  

Level 2

  

Level 3

 
                         

Financial Assets:

                        

Cash and cash equivalents

 $65,637  $-  $-  $72,225  $-  $- 

Money market mutual fund

  292   -   -   55,378   -   - 

Marketable securities

  7,602   18,318   -   -   -   - 

Total

 $73,531  $18,318  $-  $127,603  $-  $- 

 


 

 

65

 

Proto Labs, Inc.

Notes to Consolidated Financial Statements

 

 

 

Note 8 – Marketable Securities

 

The Company invests in short-term and long-term agency, municipal, corporate and other debt securities. As of December 31, 2021, the securities are categorized as available-for-sale and are recorded at fair value. As of  December 31, 2020, the securities were categorized as held-to-maturity and were recorded at amortized cost, net of an allowance for credit losses. The change in categorization was a result of the sale of securities in the first quarter of 2021 in order to partially fund the acquisition of Hubs and did not have a material impact on our financial statements. 

 

Information regarding the Company’s short-term and long-term marketable securities as of December 31, 2021 and 2020 is as follows:

 


 

  

December 31, 2021

 

(in thousands)

 

Amortized Cost

  

Unrealized Gains

  

Unrealized Losses

  

Fair Value

 
                 

U.S. government agency securities

 $2,500  $-  $(12) $2,488 

Corporate debt securities

  9,303   -   (44)  9,259 

U.S. municipal securities

  12,549   -   (70)  12,479 

Commercial paper

  -   -   -   - 

Certificates of deposit/time deposits

  1,687   7   -   1,694 

Total marketable securities

 $26,039  $7  $(126) $25,920 

 


 

 


 

  

December 31, 2020

 

(in thousands)

 

Amortized Cost

  

Unrealized Gains

  

Unrealized Losses

  

Fair Value

 
                 

U.S. government agency securities

 $18,500  $6  $(10) $18,496 

Corporate debt securities

  42,048   211   (11)  42,248 

U.S. municipal securities

  25,003   83   (2)  25,084 

Commercial paper

  2,499   -   -   2,499 

Certificates of deposit/time deposits

  5,395   93   -   5,488 

Total marketable securities

 $93,445  $393  $(23) $93,815 

 


 

Fair values for the corporate debt securities are primarily determined based on quoted market prices (Level 1). Fair values for the U.S. government agency securities, U.S. municipal securities, commercial paper and certificates of deposit are primarily determined using dealer quotes or quoted market prices for similar securities (Level 2).

 

During the first quarter of 2020, the Company adopted the FASB ASU 2016-13, Financial Instruments – Credit Losses. The Company calculated the expected credit loss for each security in its portfolio using the probability-of-default method. The Company concluded the adoption of the guidance had no material impact on its consolidated financial statements.

 

Classification of marketable securities as current or non-current is based upon the security’s maturity date as of the date of these financial statements.

 

66

 

Proto Labs, Inc.

Notes to Consolidated Financial Statements

 

The December 31, 2021 balance of available-for-sale debt securities by contractual maturity is shown in the following table at fair value. Actual maturities may differ from contractual maturities because the issuers of the securities may have the right to prepay obligations without prepayment penalties.

 


 

  

December 31,

 

(in thousands)

 

2021

 
     

Due in one year or less

 $11,580 

Due after one year through five years

  14,340 

Total marketable securities

 $25,920 

 


 

 

 

Note 9 – Property and Equipment

 

Property and equipment consists of the following:

 


 

   

December 31,

 

(in thousands)

 

2021

   

2020

 
                 

Land

  $ 15,009     $ 14,028  

Buildings and improvements

    107,241       77,285  

Machinery and equipment

    234,900       221,301  

Computer hardware and software

    81,889       79,207  

Leasehold improvements

    8,373       7,821  

Construction in progress

    14,489       33,780  

Total

    461,901       433,422  

Accumulated depreciation and amortization

    (181,555 )     (150,756 )

Property and equipment, net

  $ 280,346     $ 282,666  

 


 

 Depreciation expense for the years ended December 31, 2021, 2020 and 2019 was $34.3 million, $29.6 million and $27.4 million, respectively.

 

 

 

Note 10 – Inventory

 

Inventory consists primarily of raw materials, which are recorded at the lower of cost or market using the standard cost method, which approximates first-in, first-out (FIFO) cost. The Company periodically reviews its inventory for slow-moving, damaged and discontinued items and provides allowances to reduce such items identified to their recoverable amounts.

 

The Company’s inventory consists of the following:

 


 

  

December 31,

 

(in thousands)

 

2021

  

2020

 
         

Total inventory

  13,474   11,122 

Allowance for obsolescence

  (313)  (260)

Inventory, net of allowance

 $13,161  $10,862 

 


 

67

 

Proto Labs, Inc.

Notes to Consolidated Financial Statements

 

 

 

Note 11 – Financing Obligations

 

The Company had no financing obligations as of December 31, 2021 and 2020. 

 

 

Note 12 – Employee Benefit Plans

 

The Company maintains a 401(k) retirement plan that covers employees in the United States. Under the plan, a full-time or regular part-time (over 20 hours/week) employee becomes a participant after completing three months of employment. Employees may elect to contribute up to 50 percent of regular gross pay, subject to federal law limits on the dollar amount that participants may contribute to the plan, each calendar year. The Company matches part of the employee contributions and may make a discretionary contribution to the plan. Total employer contributions were approximately $3.7 million, $3.3 million and $3.1 million for the years ended December 31, 2021, 2020 and 2019, respectively.

 

The Company also sponsors a defined contribution retirement plan that covers the employees in the United Kingdom. Total employer contributions were approximately $0.4 million, $0.5 million and $0.3 million for the years ended December 31, 2021, 2020 and 2019, respectively.

 

 

Note 13 – Stock-Based Compensation

 

The Company has two equity incentive plans: the 2000 Stock Option Plan (2000 Plan) and the 2012 Long-Term Incentive Plan (2012 Plan). Upon the adoption of the 2012 Plan on February 12, 2012, all shares that were reserved but not issued under the 2000 Plan were assumed by the 2012 Plan. No additional awards will be issued under the 2000 Plan. Under the 2012 Plan, the Company has the ability to grant stock options, stock appreciation rights (SARs), restricted stock, performance stock, stock units, other stock-based awards and cash incentive awards. Awards under the 2012 Plan have a maximum term of ten years from the date of grant. The compensation committee of the board of directors may provide that the vesting or payment of any award will be subject to the attainment of specified performance measures in addition to the satisfaction of any continued service requirements, and the compensation committee will determine whether such measures have been achieved. The per share exercise price of stock options and SARs granted under the 2012 Plan generally may not be less than the fair market value of a share of our common stock on the date of the grant. Restricted stock is valued at fair market value on the date of grant.

 

68

 

Proto Labs, Inc.

Notes to Consolidated Financial Statements

 

The Company’s 2012 Employee Stock Purchase Plan (ESPP) allows eligible employees to purchase a variable number of shares of the Company’s common stock at a discount through payroll deductions of up to 15 percent of their eligible compensation, subject to plan limitations. The ESPP provides for six-month offering periods with a single purchase period, and at the end of each offering period, employees are able to purchase shares at 85 percent of the lower of the fair market value of the Company’s common stock on the first trading day of the offering period or on the last trading day of the offering period. The Company determines the fair value stock-based compensation related to its ESPP in accordance with ASC 718 using the component measurement approach and the Black-Scholes standard option pricing model.

 

Employees purchased 67,729 and 42,235 shares of common stock under the ESPP at an average exercise price of $61.96 and $85.85 during 2021 and 2020, respectively. As of December 31, 2021, 1,058,866 shares remained available for future issuance under the ESPP.

 

The Company determines its stock-based compensation in accordance with ASC 718, which requires the measurement and recognition of compensation expense for all share-based payment awards made to employees and non-employee directors based on fair value.

 

Determining the appropriate fair value model and calculating the fair value of stock option grants requires the input of subjective assumptions. The Company uses the Black-Scholes option pricing model to value its stock option awards. Stock-based compensation expense is calculated using the Company’s best estimates, which involve inherent uncertainties and the application of management’s judgment. Significant estimates include its expected term and stock price volatility.

  

The expected term of stock options is estimated from the vesting period of the award and represents the weighted average period that the Company's stock options are expected to be outstanding. The Company estimates the volatility of its stock price based on the historic volatility of its common stock. The Company bases the risk-free interest rate that it uses in the Black-Scholes option pricing model on U.S. Treasury instruments with maturities similar to the expected term of the award being valued. The Company has never paid and does not anticipate paying, any cash dividends in the foreseeable future and, therefore, the Company uses an expected dividend yield of zero in the option pricing model. The Company accounts for forfeitures as they occur. The Company recognizes stock-based compensation expense on a straight-line basis over the requisite service period.

 

The following table summarizes stock-based compensation expense for the years ended December 31, 2021, 2020 and 2019, respectively:

 


 

  

Year Ended December 31,

 

(in thousands)

 

2021

  

2020

  

2019

 
             

Stock options and other

 $17,553  $13,327  $9,591 

Employee stock purchase plan

  1,542   1,346   1,190 

Total stock-based compensation expense

 $19,095  $14,673  $10,781 
             

Cost of revenue

 $2,595  $2,451  $2,056 

Operating expenses:

            

Marketing and sales

  3,736   3,121   2,632 

Research and development

  2,833   2,440   1,851 

General and administrative

  9,931   6,661   4,242 

Total stock-based compensation expense

 $19,095  $14,673  $10,781 

 


 

69

 

Proto Labs, Inc.

Notes to Consolidated Financial Statements

 

Stock Options

 

The following table provides the assumptions used in the Black-Scholes option pricing model for the years ended December 31, 2021, 2020 and 2019:

 


 

  

Year Ended December 31,

 
  

2021

  

2020

  

2019

 
             

Risk-free interest rate

  0.80 - 1.12%   0.50 - 1.47%   2.35 - 2.58% 

Expected life (years)

  6.25   6.25   6.25 

Expected volatility

  45.28 - 45.53%   42.40 - 43.83%   42.52 - 42.74% 

Expected dividend yield

  0%   0%   0% 

Weighted average grant date fair value

  $128.14   $45.32   $47.84 

 


 

The following table summarizes stock option activity and the weighted average exercise price for the years ended December 31, 2021, 2020 and 2019:

 


 

      

Weighted-

 
      

Average

 
  

Stock Options

  

Exercise Price

 
         

Options outstanding at January 1, 2019

  252,616  $64.71 

Granted

  53,708   105.81 

Exercised

  (16,079)  48.67 

Cancelled

  (13,979)  89.50 

Options outstanding at December 31, 2019

  276,266   72.38 

Granted

  60,065   105.79 

Exercised

  (68,958)  57.00 

Cancelled

  (37,842)  67.92 

Options outstanding at December 31, 2020

  229,531   86.46 

Granted

  57,901   128.14 

Exercised

  (28,991)  58.78 

Cancelled

  (25,057)  109.31 

Options outstanding at December 31, 2021

  233,384  $97.78 
         

Exercisable at December 31, 2021

  115,700  $81.30 

 


 

The outstanding options have a term of 10 years. For employees, options that have been granted become exercisable ratably over the vesting period, which is generally a four- or five-year period, beginning on the first anniversary of the grant date, subject to the employee’s continuing service to the Company. For directors, options generally become exercisable in full on the first anniversary of the grant date.

 

The total intrinsic value of options exercised during the years ended December 31, 2021, 2020 and 2019, was $3.8 million, $5.4 million and $0.9 million, respectively. The aggregate intrinsic value represents the cumulative difference between the fair market value of the underlying common stock and the option exercise prices.

 

For options outstanding at December 31, 2021, the weighted-average remaining contractual term was 6.7 years and the aggregate intrinsic value was $0.1 million. For options exercisable at December 31, 2021, the weighted-average remaining contractual term was 5.0 years and the aggregate intrinsic value was $0.1 million. Refer to the table below for additional information.

 

70

 

Proto Labs, Inc.

Notes to Consolidated Financial Statements

 

The following table summarizes information about stock options outstanding at December 31, 2021:

 


 

  

Options Outstanding, Vested and Expected to Vest

  

Options Exercisable

 

Range of Exercise Prices

 Number Outstanding  Weighted Average Remaining Contractual Life  

Weighted Average Exercise Price ($)

  Number Exercisable  

Weighted Average Exercise Price ($)

 
                  

$7.76 to $31.43

 4,624  0.35  

30.58

  4,624  

30.58

 

$31.44 to $66.87

 50,159  3.58  

57.13

  45,986  

57.02

 

$66.88 to $96.20

 41,586  7.82  

89.95

  9,570  

71.68

 

$96.21 to $180.46

 137,015  7.67  

117.31

  55,520  

107.28

 

 


 

The fair value of share-based payment transactions is recognized in the Consolidated Statements of Comprehensive Income. As of December 31, 2021, there was $4.3 million of total unrecognized compensation cost related to unvested stock options, which is expected to be recognized over a weighted average period of 2.6 years. The total fair value of options vested was $2.1 million, $1.8 million and $1.5 million for the years ended December 31, 2021, 2020 and 2019, respectively.

 

Restricted Stock

 

The 2012 Plan provides for the award of restricted stock or restricted stock units. Restricted stock awards are share settled and restrictions lapse ratably over the vesting period, which is generally a three- to five-year period, beginning on the first anniversary of the grant date, subject to the employee’s continuing service to the Company. For directors, restrictions generally lapse in full on the first anniversary of the grant date.

 

The following table summarizes restricted stock activity for the years ended December 31, 2021, 2020 and 2019

 


 

      

Weighted-

 
      

Average

 
      

Grant Date

 
  

Restricted

  

Fair Value

 
  

Stock Awards

  

Per Share

 
         

Restricted stock at January 1, 2019

  323,921  $79.85 

Granted

  115,471   106.35 

Restrictions lapsed

  (92,597)  77.25 

Forfeited

  (31,822)  87.58 

Restricted stock at December 31, 2019

  314,973   89.55 

Granted

  108,179   111.76 

Restrictions lapsed

  (101,941)  84.70 

Forfeited

  (14,012)  94.24 

Restricted stock at December 31, 2020

  307,199   98.87 

Granted

  205,996   123.61 

Restrictions lapsed

  (115,908)  91.26 

Forfeited

  (53,505)  128.05 

Restricted stock at December 31, 2021

  343,782  $111.79 

 


 

71

 

Proto Labs, Inc.

Notes to Consolidated Financial Statements

 

As of December 31, 2021, there was $26.0 million of unrecognized compensation expense related to non-vested restricted stock, which is expected to be recognized over a weighted-average period of 2.4 years.

 

Performance Stock

 

Performance stock units (PSUs) are expressed in terms of a target number of PSUs, with anywhere between 0 percent and 150 percent of that target number capable of being earned and vesting at the end of a three-year performance period depending on the Company’s performance in the final year of the performance period and the award recipient’s continued employment. The Company’s PSUs granted from 2017 to 2019 and certain PSUs granted in 2021 are based on performance conditions and the related compensation cost is based on the probability that the performance conditions will be achieved. The Company’s PSUs granted in 2020 and certain PSUs granted in 2021 are based on market conditions and the related compensation cost is based on the fair value at grant date calculated using a Monte Carlo pricing model.

 

The following table summarizes performance stock activity for the years ended December 31, 2021, 2020 and 2019

 


 

      

Weighted-

 
      

Average

 
      

Grant Date

 
  

Performance

  

Fair Value

 
  

Stock Awards

  

Per Share

 
         

Performance stock at January 1, 2019

  52,140  $76.54 

Granted

  21,434   104.99 

Restrictions lapsed

  -   - 

Performance change

  (61,816)  88.06 

Forfeited

  (2,375)  105.37 

Performance stock at December 31, 2019

  9,383   58.35 

Granted

  19,956   118.66 

Restrictions lapsed

  (7,113)  58.35 

Performance change

  -   - 

Forfeited

  (2,270)  58.35 

Performance stock at December 31, 2020

  19,956   118.66 

Granted

  15,078   203.64 

Restrictions lapsed

  -   - 

Performance change

  (10,366)  192.95 

Forfeited

  (7,829)  113.91 

Performance stock at December 31, 2021

  16,839  $115.56 

 


 

As of December 31, 2021, there was $0.8 million of unrecognized compensation expense related to non-vested performance stock, which is expected to be recognized over a weighted-average period of 1.8 years.

 

Employee Stock Purchase Plan

 

The following table presents the assumptions used to estimate the fair value of the ESPP during the years ended December 31, 2021, 2020 and 2019:

 


 

  

Year Ended December 31,

 
  

2021

  

2020

  

2019

 
          

Risk-free interest rate

 0.06 - 0.17%  0.12 - 0.17%  1.59 - 2.35% 

Expected life (months)

 6.00  6.00  6.00 

Expected volatility

 53.44 - 65.53%  50.85 - 59.99%  42.63 - 53.57% 

Expected dividend yield

 0%  0%  0% 

 


 

72

 
 

Note 14 – Leases

 

Supplemental balance sheet information related to leases was as follows:

 


 

  

December 31,

 

(in thousands)

 

2021

  

2020

 

Operating lease assets

 $5,578  $9,855 
         

Current operating lease liabilities

 $3,298  $3,272 

Long-term operating lease liabilities

  2,245   7,586 

Total operating lease liabilities

 $5,543  $10,858 
         
         

Finance lease assets

 $1,898  $2,396 
         

Current finance lease liabilities

 $550  $552 

Long-term finance lease liabilities

  1,351   1,919 

Total finance lease liabilities

 $1,901  $2,471 

 


 

Lease expense is recognized on a straight-line basis over the lease term, with variable payments recognized in the period those payments are incurred. The components of lease expense for the periods reported were as follows:

 


 

  

Twelve Months Ended December 31,

 

(in thousands)

 

2021

  

2020

 

Operating lease cost

 $3,391  $4,191 

Finance lease cost:

        

Amortization of right-of-use assets

 $498  $143 

Interest on lease obligations

 $9  $2 

Variable lease cost

  719   989 

Total lease cost

 $4,617  $5,325 

 


 

73

 

Maturities of operating and finance lease liabilities as of December 31, 2021 were as follows:

 


 

(in thousands)

 

Operating Leases

  

Finance Leases

 

Year Ending December 31,

        

2022

 $2,550  $561 

2023

  1,308   1,352 

2024

  751   - 

2025

  711   - 

2026

  344   - 

After 2027

  -   - 

Total future minimum lease payments

  5,664   1,913 

Less interest

  (121)  (12)

Present value of lease liabilities

 $5,543  $1,901 

 


 

As of December 31, 2021, we have no operating or finance leases that have not yet commenced.

 

Weighted average remaining lease term and discount rate was as follows: 

 


 

  

December 31,

 
  

2021

  

2020

 

Weighted Average Remaining Lease Term - operating leases (years)

  3.1   4.4 

Weighted Average Remaining Lease Term - finance leases (years)

  1.5   2.5 

Weighted Average Discount Rate - operating leases

  1.6%  2.6%

Weighted Average Discount Rate - finance leases

  0.4%  0.5%

 


 

Supplemental cash flow information related to leases was as follows:

 


 

  

Twelve Months Ended December 31,

 

(in thousands)

 

2021

  

2020

 

Cash paid for amounts included in the measurement of lease liabilities:

        

Operating cash flows from operating leases

 $10,477  $4,426 

Operating cash flows from finance leases

 $9  $2 

Financing cash flows from finance leases

 $552  $154 
         

Lease assets obtained in exchange for new operating lease liabilities

  5,293   1,506 

Lease assets obtained in exchange for new financing lease liabilities

  -   2,523 

 


 

74

 

Proto Labs, Inc.

Notes to Consolidated Financial Statements

 

 

 

Note 15 – Accumulated Other Comprehensive Loss

 

Other comprehensive loss is comprised of foreign currency translation adjustments and net unrealized gains (losses) on investments in securities. The following table presents the changes in accumulated other comprehensive loss balances for the years ending December 31, 2021, 2020 and 2019, respectively:

 


 

   

Year Ended December 31,

 

(in thousands)

 

2021

   

2020

   

2019

 
                         

Balance at beginning of period

  $ (3,420 )   $ (7,018 )   $ (8,492 )

Foreign currency translation adjustments

                       

Other comprehensive (loss) income before reclassifications

    (13,278 )     3,598       1,474  

Amounts reclassified from accumulated other comprehensive income (loss)

    -       -       -  

Net current-period other comprehensive (loss) income

    (13,278 )     3,598       1,474  

Net unrealized gains (losses) on investments in securities

                       

Other comprehensive (loss) income before reclassifications

    (119 )     -       -  

Amounts reclassified from accumulated other comprehensive income (loss)

    -       -       -  

Net current-period other comprehensive (loss) income

    (119 )     -       -  

Balance at end of period

  $ (16,817 )   $ (3,420 )   $ (7,018 )

 


 

 

 

Note 16 – Income Taxes

 

The Company is subject to income tax in multiple jurisdictions and the use of estimates is required to determine the provision for income taxes. For the years ended December 31, 2021, 2020 and 2019, the Company recorded an income tax provision of $6.8 million, $12.1 million and $17.5 million, respectively. The effective income tax rate for the years ended December 31, 2021, 2020 and 2019 was 17.0 percent, 19.2 percent and 21.6 percent, respectively.

 

75

 

Proto Labs, Inc.

Notes to Consolidated Financial Statements

 

The effective tax rate decreased by 2.2% for the year ended December 31, 2021 when compared to 2020 primarily due to a one-time benefit from the revaluation of contingent consideration and a benefit from the decrease in the tax liability for uncertain tax positions resulting from the expiration of the statute of limitations. These benefits were partially offset by an increase in the valuation allowances on losses from foreign operations. 

 

The Coronavirus Aid, Relief, and Economic Security (CARES) Act was signed into law on March 27, 2020. The CARES Act was meant to infuse companies with various income and payroll tax cash benefits to ease the impact of the pandemic. A technical correction to the Tax Cuts and Jobs Act of 2017 was included in the CARES Act allowing qualified improvement property to claim bonus depreciation for respective assets placed in service in 2018 and 2019. The impact of the CARES Act to the Company was a $2.9 million reduction to income taxes payable and a corresponding increase to deferred tax liability for the year ended December 31, 2020. In addition, the Company elected to defer deposits of the employer portion of the Social Security tax for the quarter ended March 31, 2020 through the quarter ended December 31, 2020. The Social Security taxes deferred in 2020 were paid in 2021.

 

The provision for income taxes is based on income before income taxes reported for financial statement purposes. The components of income before income taxes are as follows:

 


 

  

Year Ended December 31,

 

(in thousands)

 

2021

  

2020

  

2019

 
             

Domestic

 $42,449  $58,551  $74,841 

Foreign

  (2,265)  4,394   6,352 

Total

 $40,184  $62,945  $81,193 

 


 

Significant components of the provision for income taxes for the following periods are as follows:

 


 

  

Year Ended December 31,

 

(in thousands)

 

2021

  

2020

  

2019

 
             

Current:

            

Federal

 $5,552  $2,128  $6,991 

State

  975   1,136   2,882 

Foreign

  (64)  1,241   1,544 

Deferred

            

Federal

  (377)  6,904   5,121 

State

  (814)  (431)  269 

Foreign

  (1,181)  210   (809)

Valuation Allowance

  2,721   890   1,540 

Total

 $6,812  $12,078  $17,538 

 


 

76

 

A reconciliation of the federal statutory income tax rate to the effective tax rate is as follows:

 


 

  

Year Ended December 31,

 
  

2021

  

2020

  

2019

 
             

Federal tax statutory rate

  21.0%  21.0%  21.0%

State tax (net of federal benefit)

  2.1   2.1   2.1 

Share based compensation

  (2.3)  (1.3)  (0.5)

Valuation allowance against deferred tax assets

  8.9   2.0   1.4 

Contingent consideration reduction

  (7.0)  -   - 

Research and development credit

  (4.0)  (3.7)  (2.8)

Foreign rate differential

  (2.2)  (0.8)  (0.3)

Tax reserves

  (1.0)  1.4   1.1 

Provision to return difference

  (0.7)  (1.4)  - 

Miscellaneous

  2.2   (0.1)  (0.4)

Total

  17.0%  19.2%  21.6%

 


 

Significant components of deferred tax assets and liabilities are as follows:

 


 

  

December 31,

 

(in thousands)

 

2021

  

2020

 
         

Deferred tax assets:

        

Accrued expenses

 $2,511  $2,155 

Leases

  1,830   3,598 

Warrants and stock options

  4,271   3,356 

Intangible assets

  -   1,693 

Inventories

  205   172 

Research and development credit

  2,126   1,661 

Other assets

  1,111   129 

Net operating loss

  14,046   6,647 

Less valuation allowance

  (13,999)  (9,138)

Total deferred tax assets

  12,101   10,273 

Deferred tax liabilities:

        

Depreciation

  (31,897)  (32,671)

Goodwill

  (9,872)  (7,858)

Intangible assets

  (4,394)  - 

Leases

  (1,830)  (3,598)

Total deferred tax liabilities

  (47,993)  (44,127)

Net deferred tax liability

 $(35,892) $(33,854)

 


 

The Company has recorded no U.S. deferred taxes related to the undistributed earnings of its non-U.S. subsidiaries as of December 31, 2021. Such amounts are intended to be reinvested outside of the United States indefinitely. It is not practicable to estimate the amount of additional tax that might be payable on the foreign earnings. As of December 31, 2021, the Company had accumulated undistributed earnings in non-U.S. subsidiaries of $2.7 million.

  

As of December 31, 2021, the Company had estimated net operating loss carry forwards of $14.0 million for tax purposes. The net operating losses relate to operations in Japan, Germany and Netherlands. Japan losses can be carried forward for up to ten years. The remaining Japan net operating losses begin to expire at various dates between 2022 and 2031. The Company’s Japan operations are taxed both by local authorities and in the U.S. Germany net operating losses may be carried forward without any time limitations but are limited to €1 million, plus 60 percent of taxable income exceeding €1 million. Netherlands net operating losses may be carried forward without any time limitations, but are limited to €1 million, plus 50 percent of taxable income exceeding €1 million.

 

77

 

Proto Labs, Inc.

Notes to Consolidated Financial Statements

 

The Company establishes valuation allowances for deferred tax assets when, after consideration of all positive and negative evidence, it is considered more-likely-than-not that a portion of the deferred tax assets will not be realized. The Company's valuation allowances of $14.0 million and $9.1 million at December 31, 2021 and 2020, respectively, reduce the carrying value of deferred tax assets associated with certain net operating loss carry forwards and other assets with insufficient positive evidence for recognition. The increase in the valuation allowance is primarily attributable to the Netherlands net operating losses acquired in 2021 via the Hubs acquisition.

 

The Company files a U.S. federal income tax return and income tax returns in various states and foreign jurisdictions. With a few exceptions, the Company is no longer subject to U.S. federal, state, or foreign income tax examinations by tax authorities for years before 2017.

 

The Company has liabilities related to unrecognized tax benefits totaling $4.4 million and $4.8 million at December 31, 2021 and 2020, respectively, that if recognized would result in a reduction of the Company’s effective tax rate. The liabilities are classified as other long-term liabilities in the accompanying consolidated balance sheets. The Company recognizes interest and penalties related to income tax matters in income tax expense and reports the liability in current or long-term income taxes payable as appropriate. Interest and penalties were immaterial for each of the years ended December 31, 2021, 2020 and 2019.

 

A reconciliation of the beginning and ending amount of unrecognized tax benefits is as follows:

 


 

  

December 31,

 
  

2021

  

2020

 
         

Balance at beginning of period

 $4,830  $4,598 

Additions for tax positions of current year

  491   324 

Additions for tax positions of prior years

  781   475 

Decrease related to expiration of statutes of limitations

  (1,738)  (567)

Balance at period end

 $4,364  $4,830 

 


 

 

 

Note 17 – Litigation

 

From time to time, the Company may be subject to various legal proceedings and claims that arise in the ordinary course of its business. Although the results of litigation and claims cannot be predicted with certainty, the Company does not believe it is a party to any litigation the outcome of which, if determined adversely, would individually or in the aggregate be reasonably expected to have a material adverse effect on its business.

  

 

 

Note 18 – Segment Reporting

 

The Company’s reportable segments are based on the internal reporting used by the Company’s CEO, who is the chief operating decision maker (CODM), to assess operating performance and make decisions about the allocation of resources. The Company’s reportable segments are based upon geographic region, consisting of the United States and Europe. The Corporate Unallocated and Japan category includes non-reportable segments, as well as research and development and general and administrative costs that are global in nature and that the Company does not allocate directly to its operating segments.

  

Revenue in the United States is derived from Injection Molding, CNC Machining, 3D Printing and Sheet Metal product lines. Revenue in Europe is derived from Injection Molding, CNC Machining, and 3D Printing product lines. Revenue in Japan is derived from Injection Molding and CNC Machining product lines. Injection Molding revenue consists of sales of custom injection molds and injection-molded parts. CNC Machining revenue consists of sales of CNC-machined and lathe-turned customer parts. 3D Printing revenue consists of sales of 3D-printed parts. Sheet Metal revenue consists of sales of fabricated sheet metal parts.

 

78

 

Proto Labs, Inc.

Notes to Consolidated Financial Statements

 

The accounting policies of the reportable segments are the same as those described in Note 2 – Summary of Significant Accounting Policies. Intercompany transactions primarily relate to intercontinental activity and have been eliminated and are excluded from the reported amounts. The difference between income from operations and pre-tax income relates to foreign currency-related gains and losses and interest income on cash balances and investments, which are not allocated to business segments.

 

Beginning in 2020, the Company's CODM made a decision to view certain research and development costs by geographic region. As a result, costs previously included in the Corporate Unallocated and Japan category have been included in the respective geographic regions. All periods presented have been restated to reflect this change.

 

Revenue and income from operations by reportable segment are as follows:

 


 

  

Year Ended December 31,

 

(in thousands)

 

2021

  

2020

  

2019

 

Revenue:

            

United States

 $384,458  $345,708  $360,205 

Europe

  90,399   74,796   82,805 

Japan

  13,241   13,891   15,718 

Total revenue

 $488,098  $434,395  $458,728 

 


 

  

Year Ended December 31,

 

(in thousands)

 

2021

  

2020

  

2019

 

Income from Operations:

            

United States

 $98,001  $98,762  $108,594 

Europe

  730   11,707   15,077 

Corporate Unallocated and Japan

  (58,389)  (50,633)  (43,815)

Total income from operations

 $40,342  $59,836  $79,856 

 


 

Total long-lived assets, expenditures for additions to long-lived assets and depreciation and amortization expense are as follows:

 


 

  

December 31,

  

December 31,

  

December 31,

 

(in thousands)

 

2021

  

2020

  

2019

 

Long-lived assets:

            

United States

 $215,701  $215,721  $210,171 

Europe

  59,388   59,388   45,019 

Japan

  5,257   7,557   8,522 

Total long-lived assets

 $280,346  $282,666  $263,712 

  


 

  

Year Ended December 31,

 

(in thousands)

 

2021

  

2020

  

2019

 

Expenditures for additions to long-lived assets:

            

United States

 $26,698  $29,984  $45,123 

Europe

  7,378   16,574   14,743 

Japan

  133   452   2,364 

Total expenditures for additions to long-lived assets

 $34,209  $47,010  $62,230 

 


 

79

 

Proto Labs, Inc.

Notes to Consolidated Financial Statements

 


 

  

Year Ended December 31,

 

(in thousands)

 

2021

  

2020

  

2019

 

Depreciation and Amortization:

            

United States

 $31,642  $25,744  $24,767 

Europe

  7,101   5,024   4,746 

Japan

  1,745   1,826   1,351 

Total depreciation and amortization

 $40,488  $32,594  $30,864 

 


 
80

 

 

Item 9. Changes in and Disagreements with Accountants on Accounting and Financial Disclosure

 

Not applicable.

 

Item 9A. Controls and Procedures

 

Evaluation of Disclosure Controls and Procedures

 

Our management, with the participation of our Chief Executive Officer and Chief Financial Officer, has evaluated the effectiveness of the design and operation of our disclosure controls and procedures (as defined in Rule 13a-15(e) under the Securities Exchange Act of 1934 (Exchange Act)) as of the end of the period covered by this report. Based upon that evaluation, the Chief Executive Officer and Chief Financial Officer have concluded that, as of the end of the period covered by this Annual Report on Form 10-K, our disclosure controls and procedures were effective and provided reasonable assurance that information required to be disclosed by us in the reports that we file or submit under the Exchange Act is recorded, processed, summarized and reported accurately and within the timeframes specified in the SEC’s rules and forms and accumulated and communicated to our management, including our Chief Executive Officer and Chief Financial Officer, as appropriate to allow timely decisions regarding required disclosure.

 

Management’s Annual Report on Internal Control Over Financial Reporting

 

The Company’s management is responsible for establishing and maintaining an adequate system of internal control over financial reporting, as defined in the Exchange Act Rule 13a-15(f). Management conducted an assessment of the Company’s internal control over financial reporting based on the framework established by the Committee of Sponsoring Organizations of the Treadway Commission in Internal Control – Integrated Framework (2013 framework). Based on the assessment, management concluded that, as of December 31, 2021, the Company’s internal control over financial reporting is effective. The Company’s registered public accounting firm’s attestation report on the Company’s internal control over financial reporting is provided in Part II, Item 8 of this Annual Report on Form 10-K.

 

Management has excluded certain elements of Hubs from its assessment of internal control over financial reporting as of December 31, 2021. Those elements of the acquired business’s internal control over financial reporting that were not fully integrated into the Company’s existing internal control over financial reporting during 2021 have been excluded from management’s assessment of the effectiveness of internal control over financial reporting. Hubs is a wholly-owned subsidiary of the Company; its combined total assets (excluding goodwill) and total revenues excluded from our assessment represent approximately 4% and 7%, respectively, of the related consolidated financial statements amounts as of the year ended December 31, 2021.

 

Changes in Internal Control over Financial Reporting

 

During the first quarter of 2021, the Company completed the implementation of PL 2.0, an internal business systems initiative impacting both external customer-facing and internal back-end systems. Emphasis has been on the maintenance of effective internal controls throughout development and deployment of all phases. The Company evaluated and concluded the implementation of PL 2.0 has not materially affected the Company's internal control over financial reporting. Based on this evaluation, there have been no changes in our internal control over financial reporting (as such term is defined in Rule 13a-15(f) under the Exchange Act) during the period covered by this report that have materially affected, or are reasonably likely to materially affect, our internal control over financial reporting.

 

Item 9B. Other Information

 

None.

 

Item 9C. Disclosure Regarding Foreign Jurisdictions that Prevent Inspections

 

None.

 

 

PART III

 

Item 10. Directors, Executive Officers and Corporate Governance

 

The information required by this item with respect to Item 401 relating to executive officers is contained in Item 1 of this Annual Report on Form 10-K under the heading “Executive Officers of the Registrant” and with respect to other information relating to our directors will be set forth in our 2021 Proxy Statement under the caption “Proposal 1 — Election of Directors,” which will be filed no later than 120 days after the end of the fiscal year covered by this Annual Report on Form 10-K, and is incorporated herein by reference.

 

The information required by this item under Item 405 of Regulation S-K is incorporated herein by reference to the section titled “Corporate Governance — Section 16(a) Beneficial Ownership Reporting Compliance” of our 2022 Proxy Statement, which will be filed no later than 120 days after the end of the fiscal year covered by this Annual Report on Form 10-K. The information required by this item under Items 407 (c)(3), (d)(4) and (d)(5) of Regulation S-K is incorporated herein by reference to the section titled “Corporate Governance” of our 2015 Proxy Statement, which will be filed no later than 120 days after the end of the fiscal year covered by this Annual Report on Form 10-K.

 

We have adopted a Code of Ethics and Business Conduct that applies to all of our directors, officers and employees, including our principal executive officer and principal financial officer. The Code of Ethics and Business Conduct is available on our website at www.protolabs.com under the Investors Relations section. We plan to post to our website at the address described above any future amendments or waivers of our Code of Ethics and Business Conduct.

 

Item 11. Executive Compensation

 

Information related to this item is incorporated herein by reference to the sections titled “Compensation Discussion and Analysis,” “Corporate Governance — Compensation Committee Interlocks and Insider Participation,” and “Compensation Committee Report” of our 2022 Proxy Statement, which will be filed no later than 120 days after the end of the fiscal year covered by this Annual Report on Form 10-K.

 

Item 12. Security Ownership of Certain Beneficial Owners and Management

 

Information related to security ownership required by this item is incorporated herein by reference to the section titled “Security Ownership of Certain Beneficial Owners and Management” of our 2022 Proxy Statement, which will be filed no later than 120 days after the end of the fiscal year covered by this Annual Report on Form 10-K. Information related to our equity compensation plans required by this item is incorporated herein by reference to the section titled “Compensation Discussion and Analysis – Elements of Executive Compensation” of our 2022 Proxy Statement, which will be filed no later than 120 days after the end of the fiscal year covered by this Annual Report on Form 10-K.

 

Outstanding Equity Awards

 

The following table summarizes, as of December 31, 2021, information about shares of our common stock that may be issued under equity compensation plans approved by shareholders and plans not approved by shareholders:

 


 

Plan Category   Number of shares to be issued upon exercise of outstanding options, warrants and rights     Weighted-average exercise price of outstanding options, warrants and rights     Number of shares remaining available for future issuance under equity compensation plans (excluding shares in first column)  
                     
Equity compensation plans approved by shareholders(1)   594,005       $97.78     5,766,876(2)  

Equity compensation plans not approved by shareholders

 

None

      N/A    

None

 

 

(1)

Includes the 2000 Stock Option Plan, the 2012 Long-Term Incentive Plan and our Employee Stock Purchase Plan.

(2)

Includes 1,058,866 shares remaining available for issuance as of December 31, 2021 under our Employee Stock Purchase Plan.

 

Item 13. Certain Relationships and Related Transactions, and Director Independence

 

Information required by this item is incorporated herein by reference to the sections titled “Corporate Governance — Certain Relationships and Related Party Transactions,” and “Corporate Governance — Director Independence” of our 2022 Proxy Statement, which will be filed no later than 120 days after the end of the fiscal year covered by this Annual Report on Form 10-K.

 

Item 14. Principal Accountant Fees and Services

 

Information required by this item is incorporated herein by reference to the section titled “Fees Paid to Independent Registered Public Accounting Firm” of our 2022 Proxy Statement, which will be filed no later than 120 days after the end of the fiscal year covered by this Annual Report on Form 10-K.

 

 

PART IV

 

Item 15. Exhibits and Financial Statement Schedules

 

(a) The following documents are filed as part of this report:

 

1. Consolidated Financial Statements

 

See Index to Consolidated Financial Statement at Item 8 herein.

 

2. Financial Statement Schedules

 

Schedules not listed above have been omitted because the information required to be set forth therein is not applicable or is shown in the financial statement or notes herein.

 

3. Exhibits

 

See the Exhibit Index immediately following the signature page of this Annual Report on Form 10-K.

 

 

Exhibit Number

 

Description of Exhibit

2.1(28)

 

Agreement and Plan of Merger, dated January 18,2021, by and among 3D Hubs, Inc., Proto Labs, Inc., Lithium Merger Sub I, Inc., Lithium Merger Sub II, Inc. and Shareholder Representative Services, LLC

3.1(1)

 

Third Amended and Restated Articles of Incorporation of Proto Labs, Inc.

3.2(26)

 

Articles of Amendment to Third Amended and Restated Articles of Incorporation of Proto Labs, Inc. dated May 20, 2015

3.3(2)

 

Second Amended and Restated By-Laws of Proto Labs, Inc, as amended through November 8, 2016.

4.1(3)

 

Form of certificate representing common shares of Proto Labs, Inc.

4.2(30)   Description of Securities of Registrant

10.1(4)#

 

2012 Long-Term Incentive Plan, as amended as of August 5, 2015

10.2(5)#

 

Form of Incentive Stock Option Agreement under 2012 Long-Term Incentive Plan

10.3(6)#

 

Form of Non-Statutory Stock Option Agreement (Directors) under 2012 Long-Term Incentive Plan

10.4(7)#

 

Form of Non-Statutory Stock Option Agreement (U.S. Employees) under 2012 Long-Term Incentive Plan

10.5(8)#

 

Form of Non-Statutory Stock Option Agreement (U.K. Employees) under 2012 Long-Term Incentive Plan

10.6(9)#

 

Employee Stock Purchase Plan

10.7(10)

 

Stock Subscription Warrant issued to John B. Tumelty

10.8(11)#

 

2000 Stock Option Plan, as amended

10.9(12)#

 

Form of Incentive Stock Option Agreement under 2000 Stock Option Plan

10.10(13)#

 

Form of Non-Statutory Stock Option Agreement (Directors) under 2000 Stock Option Plan

10.11(14)#

 

Form of Non-Statutory Stock Option Agreement (U.S. Employees) under 2000 Stock Option Plan

10.12(15)#

 

Form of Non-Statutory Stock Option Agreement (U.S. Employees) under 2000 Stock Option Plan

10.13(16)#

 

Form of Non-Statutory Stock Option Agreement (U.K. Employees) under 2000 Stock Option Plan

10.14(17)#

 

Amended and Restated Credit Agreement, dated as of September 30, 2011, between Proto Labs, Inc. and Wells Fargo Bank, N.A.

10.15(18)#

 

Credit Agreement, dated November 27, 2017, by and among Proto Labs and Wells Fargo Bank, National Association

10.16(19)#

 

Form of U.S. Severance Agreement

10.17(20)#

 

Form of UK Severance Agreement

10.18(21)#

 

Amended and Restated Executive Employment Agreement, dated August 1, 2019, by and between Proto Labs, Inc. and Victoria M. Holt

10.19(22)#

 

Form of Restricted Stock Agreement under 2012 Long-Term Incentive Plan for the initial grant to Victoria M. Holt

10.20(23)#

 

Form of Restricted Stock Unit Agreement under 2012 Long-Term Incentive Plan (U.S. Employees)

10.21(24)#

 

Form of Restricted Stock Unit Agreement under 2012 Long-Term Incentive Plan (U.K. Employees)

10.22(25)#

 

Form of Restricted Stock Unit Agreement under 2012 Long-Term Incentive Plan (Directors)

10.24(27)#

 

Form of Performance Stock Unit Agreement under 2012 Long-Term Incentive Plan

10.25(29)#

 

Form of Deferred Stock Unit Agreement under 2012 Long-Term Incentive Plan

10.27(31)#   Form of Executive Severance Agreement
10.22(32)   Executive Employment Agreement, dated January 29, 2021, by and between Proto Labs, Inc. and Robert Bodor
10.23(33)   Consulting Agreement, dated February 4, 2021, by and between Proto Labs, Inc. and Victoria M. Holt

21.1

 

Subsidiaries of Proto Labs, Inc.

23.1

 

Consent of Ernst & Young LLP

24.1

 

Powers of Attorney

31.1

 

Certification of the Chief Executive Officer pursuant to Section 302 of the Sarbanes-Oxley Act

31.2

 

Certification of the Chief Financial Officer pursuant to Section 302 of the Sarbanes-Oxley Act

32.1*

 

Certification of the Chief Executive Officer and the Chief Financial Officer pursuant to Section 906 of the Sarbanes-Oxley Act

101.INS**

 

XBRL Instance Document- the instance document does not appear in the Interactive Data File because its XBRL tags are embedded within the Inline XBRL document.

101.SCH**

 

Inline XBRL Taxonomy Extension Schema Document

101.CAL**

 

Inline XBRL Taxonomy Extension Calculation Linkbase Document

101.DEF**

 

Inline XBRL Taxonomy Extension Definition Linkbase Document

101.LAB**

 

Inline XBRL Taxonomy Extension Label Linkbase Document

101.PRE**

 

Inline XBRL Taxonomy Extension Presentation Linkbase Document

104   Cover Page Interactive Data File (formatted as Inline XBRL and contained in Exhibit 101)

 

 

(1)

Incorporated by reference to Exhibit 3.2 to the Company’s Registration Statement on Form S-1/A (File No. 333-175745), filed with the Commission on February 13, 2012.

(2)

Incorporated by reference to Exhibit 3.1 to the Company’s Form 8-K, filed with the Commission on November 8, 2016.

(3)

Incorporated by reference to Exhibit 4.1 to the Company’s Registration Statement on Form S-1/A (File No. 333-175745), filed with the Commission on February 1, 2012.

(4)

Incorporated by reference to Exhibit 10.1 to the Company’s Form 10-Q, filed with the Commission on November 3, 2015.

(5)

Incorporated by reference to Exhibit 10.14 to the Company’s Registration Statement on Form S-1/A (File No. 333-175745), filed with the Commission on February 13, 2012.

(6)

Incorporated by reference to Exhibit 10.15 to the Company’s Registration Statement on Form S-1/A (File No. 333-175745), filed with the Commission on February 13, 2012.

(7)

Incorporated by reference to Exhibit 10.16 to the Company’s Registration Statement on Form S-1/A (File No. 333-175745), filed with the Commission on February 13, 2012.

(8)

Incorporated by reference to Exhibit 10.17 to the Company’s Registration Statement on Form S-1/A (File No. 333-175745), filed with the Commission on February 13, 2012.

(9)

Incorporated by reference to Exhibit 10.18 to the Company’s Registration Statement on Form S-1/A (File No. 333-175745), filed with the Commission on February 13, 2012.

(10)

Incorporated by reference to Exhibit 99.7 to the Company’s Registration Statement on Form S-8 (File No. 333-179651), filed with the Commission on February 23, 2012.

(11)

Incorporated by reference to Exhibit 10.7 to the Company’s Registration Statement on Form S-1 (File No. 333-175745), filed with the Commission on July 25, 2011.

(12)

Incorporated by reference to Exhibit 10.8 to the Company’s Registration Statement on Form S-1 (File No. 333-175745), filed with the Commission on July 25, 2011.

(13)

Incorporated by reference to Exhibit 10.9 to the Company’s Registration Statement on Form S-1 (File No. 333-175745), filed with the Commission on July 25, 2011.

(14)

Incorporated by reference to Exhibit 10.10 to the Company’s Registration Statement on Form S-1 (File No. 333-175745), filed with the Commission on July 25, 2011.

(15)

Incorporated by reference to Exhibit 10.11 to the Company’s Registration Statement on Form S-1 (File No. 333-175745), filed with the Commission on July 25, 2011.

(16)

Incorporated by reference to Exhibit 10.12 to the Company’s Registration Statement on Form S-1 (File No. 333-175745), filed with the Commission on July 25, 2011.

(17)

Incorporated by reference to Exhibit 10.19 to the Company’s Registration Statement on Form S-1/A (File No. 333-175745), filed with the Commission on October 26, 2011.

(18)

Incorporated by reference to Exhibit 10.1 to the Company’s Form 8-K, filed with the Commission on December 1, 2017.

(19)

Incorporated by reference to Exhibit 99.1 to the Company’s Form 8-K, filed with the Commission on March 1, 2013.

(20)

Incorporated by reference to Exhibit 10.2 to the Company’s Form 10-Q, filed with the Commission on May 8, 2013.

(21)

Incorporated by reference to Exhibit 10.1 to the Company’s Form 8-K, filed with the Commission on August 2, 2019.

(22)

Incorporated by reference to Exhibit 10.2 to the Company’s Form 8-K, filed with the Commission on February 6, 2014.

(23)

Incorporated by reference to Exhibit 10.1 to the Company’s Form 8-K, filed with the Commission on February 12, 2014.

(24)

Incorporated by reference to Exhibit 10.2 to the Company’s Form 8-K, filed with the Commission on February 12, 2014.

(25)

Incorporated by reference to Exhibit 99.6 to the Company's Registration Statement on Form S-8 (file No. 333-194272), filed with the Commission on March 3, 2014.

(26)

Incorporated by reference to Exhibit 3.1 to the Company’s Form 8-K, filed with the Commission on May 21, 2015.

(27)

Incorporated by reference to Exhibit 10.1 to the Company’s Form 8-K, filed with the Commission on February 17, 2017.

(28)

Incorporated by reference to Exhibit 2.1 to the Company’s Form 8-K, filed with the Commission on January 18, 2021.

(29)

Incorporated by reference to Exhibit 10.1 to the Company's Form 10-Q, filed with the Commission on August 1, 2018.

(30)

Incorporated by reference to Exhibit 4.2 to the Company's Form 10-K, filed with the Commission on February 26, 2020.

(31) Incorporated by reference to Exhibit 99.2 to the Company's Form 8-K, filed with the Commission on August 2, 2019.
(32) Incorporated by reference to Exhibit 10.1 to the Company's Form 8-K, filed with the Commission on February 4, 2021.
(33)

Incorporated by reference to Exhibit 10.2 to the Company's Form 8-K, filed with the Commission on February 4, 2021.

   

#

Indicates management contract or compensatory plan or arrangement.

 

 

*

The certifications furnished in Exhibit 32.1 hereto are deemed to accompany this Annual Report on Form 10-K and will not be deemed “filed” for purposes of Section 18 of the Securities Exchange Act of 1934, as amended. Such certifications will not be deemed to be incorporated by reference into any filings under the Securities Act of 1933, as amended, or the Securities Exchange Act of 1934, as amended, except to the extent that the registrant specifically incorporates it by reference.

 

 

**

Users of this data are advised that, pursuant to Rule 406T of Regulation S-T, these interactive data files are deemed not filed or part of a registration statement or prospectus for purposes of Sections 11 or 12 of the Securities Act of 1933 or Section 18 of the Securities Exchange Act of 1934 and otherwise are not subject to liability under these sections.

 

 

SIGNATURE

 

Pursuant to the requirements of Section 13 or 15(d) of the Securities Exchange Act of 1934, the Registrant has duly caused this report to be signed on its behalf by the undersigned thereunto duly authorized.

 

 

 

Proto Labs, Inc.

 

 

 

 

 

Date: February 18, 2022

 

/s/ Robert Bodor

 

 

 

Robert Bodor

 

 

 

President and Chief Executive Officer

(Principal Executive Officer)

 

 

 

 

 

Date: February 18, 2022

 

/s/ Daniel Schumacher

 

 

 

Daniel Schumacher

 

 

 

Interim Chief Financial Officer

(Principal Financial and Accounting Officer)

 

 

 

Pursuant to the requirements of the Securities Exchange Act of 1934, this report has been signed below by the following persons on behalf of the Registrant in the capacities and on the dates indicated.

 

Date: February 18, 2022

 

/s/ Robert Bodor

 

 

 

Robert Bodor

 

 

 

President and Chief Executive Officer and Director

(Principal Executive Officer)

 

 

 

 

 

Date: February 18, 2022

 

/s/ Daniel Schumacher

 

 

  Daniel Schumacher

 

 

 

Interim Chief Financial Officer

(Principal Financial and Accounting Officer)

 

 

Chairman of the Board of Directors:

Archie C. Black*

 

Directors:

Sujeet Chand*

Moonhie Chin*

Rainer Gawlick*

John B. Goodman*

Stacy Greiner*

Donald G. Krantz*

Sven A. Wehrwein*

 

 

*Robert Bodor, by signing his name hereto, does hereby sign this document on behalf of each of the above named officers and directors of the registrant pursuant to powers of attorney duly executed by such persons and filed as an exhibit hereto.

 

Date: February 18, 2022

 

/s/ Robert Bodor

 

 

 

Robert Bodor

 

 

 

President and Chief Executive Officer

(Principal Executive Officer)

 

 

86
EX-21.1 2 ex_313210.htm EXHIBIT 21.1 ex_313210.htm

 

Exhibit 21.1

 

SUBSIDIARIES OF THE REGISTRANT

 

All of the Company’s subsidiaries listed below are wholly owned.

 

 

Name

Jurisdiction of Incorporation or Organization

 

 

PL-US International LLC

United States

Hubs Manufacturing Inc. United States
3D Hubs Manufacturing LLC United States

Proto Labs, Ltd.

United Kingdom

PL International Holdings UK Ltd

United Kingdom

PL Euro Services Limited

United Kingdom
Proto Labs GmbH

Germany

Proto Labs Tooling GmbH Germany
3D Hubs B.V. Netherlands

Proto Labs, G.K.

Japan

 

 

 

 
EX-23.1 3 ex_313211.htm EXHIBIT 23.1 ex_313211.htm

 

Exhibit 23.1

 

Consent of Independent Registered Public Accounting Firm

 

We consent to the incorporation by reference in the Registration Statements (Form S-8 Nos. 333-179651, 333-194272 and 333-202486) pertaining to the 2012 Long-Term Incentive Plan, Employee Stock Purchase Plan, 2000 Stock Option Plan, and Stock Subscription Warrant of Proto Labs, Inc. and the Registration Statement (Form S-3 No. 333-253112) pertaining to the registration of 748,793 shares of common stock of our reports dated February 18, 2022, with respect to the consolidated financial statements of Proto Labs, Inc., and the effectiveness of internal control over financial reporting of Proto labs, Inc., included in this Annual Report (Form 10-K) for the year ended December 31, 2021.

 

/s/ Ernst & Young LLP

 

Minneapolis, Minnesota

February 18, 2022

 
EX-24.1 4 ex_313212.htm EXHIBIT 24.1 ex_313212.htm

 

Exhibit 24.1

 

PROTO LABS, INC.

POWER OF ATTORNEY OF DIRECTOR AND/OR OFFICER

 

Each of the undersigned directors and/or officers of Proto Labs, Inc., a Minnesota corporation (the “Company”), does hereby make, constitute and appoint Robert Bodor and Daniel Schumacher, and each of them, either of whom may act without the joinder of the other, the undersigned’s true and lawful attorney-in-fact and agent, with full power of substitution, for the undersigned and in the undersigned’s name, place and stead, to sign on his or her behalf, individually and in the capacities stated below, the Annual Report on Form 10-K for the year ended December 31, 2021 under the Securities Exchange Act of 1934, as amended, with any amendment or amendments thereto, with all exhibits thereto and other supporting documents, with the U.S. Securities and Exchange Commission, granting unto said attorneys-in-fact, and each of them, full power and authority to do and perform any and all acts necessary or incidental to the performance and execution of the powers herein expressly granted.

 

IN WITNESS WHEREOF, each of the undersigned directors and/or officers of Proto Labs, Inc. has hereunto set his or her hand this 18th day of February, 2022.

 

/s/ Archie C. Black

 

Chairman

Archie C. Black

 

 

 

 

 

 

 

 

/s/ Robert Bodor

 

President, Chief Executive Officer and Director

Robert Bodor

 

 

 

 

 

 

 

 

/s/ Daniel Schumacher

 

Interim Chief Financial Officer

Daniel Schumacher

 

 

 

 

 

 

 

 

/s/ Sven Wehrwein

 

Director

Sven Wehrwein

 

 

 

 

 

 

 

 

/s/ Rainer Gawlick

 

Director

Rainer Gawlick

 

 

 

 

 

 

 

 

/s/ John B. Goodman

 

Director

John B. Goodman

 

 

 

 

 

 

 

 

/s/ Stacy Greiner   Director
Stacy Greiner    
     
     

/s/ Donald G. Krantz

 

Director

Donald G. Krantz

 

 

 

 

 

 

 

 

/s/ Sujeet Chand

 

Director

Sujeet Chand

 

 

     
     
/s/ Moonhie Chin   Director

Moonhie Chin

 

 

 

     

 

 
EX-31.1 5 ex_313213.htm EXHIBIT 31.1 ex_313213.htm

 

Exhibit 31.1

 

CERTIFICATION PURSUANT TO RULE 13a-14(a) OR 15d-14(a) OF

THE SECURITIES EXCHANGE ACT OF 1934,

AS ADOPTED PURSUANT TO SECTION 302 OF

THE SARBANES-OXLEY ACT OF 2002

 

I, Robert Bodor, certify that:

 

1. I have reviewed this Annual Report on Form 10-K of Proto Labs, Inc.;

 

2. Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;

 

3. Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;

 

4. The registrant’s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:

 

 

a)

Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;

 

 

b)

Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;

 

 

c)

Evaluated the effectiveness of the registrant’s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and

 

 

d)

Disclosed in this report any change in the registrant’s internal control over financial reporting that occurred during the registrant’s most recent fiscal quarter (the registrant’s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant’s internal control over financial reporting; and

 

5. The registrant’s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant’s auditors and the audit committee of the registrant’s board of directors (or persons performing the equivalent functions):

 

 

a)

All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant’s ability to record, process, summarize and report financial information; and

 

 

b)

Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant’s internal control over financial reporting.

 

Date: February 18, 2022

By:

/s/ Robert Bodor

 

 

Robert Bodor

 

 

President and Chief Executive Officer

 

 

(Principal Executive Officer)

 

 
EX-31.2 6 ex_313214.htm EXHIBIT 31.2 ex_313214.htm

 

Exhibit 31.2

 

CERTIFICATION PURSUANT TO RULE 13a-14(a) OR 15d-14(a) OF

THE SECURITIES EXCHANGE ACT OF 1934,

AS ADOPTED PURSUANT TO SECTION 302 OF

THE SARBANES-OXLEY ACT OF 2002 

 

I, Daniel Schumacher, certify that:

 

1. I have reviewed this Annual Report on Form 10-K of Proto Labs, Inc.;

 

2. Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;

 

3. Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;

 

4. The registrant’s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:

 

 

a)

Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;

 

 

b)

Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;

 

 

c)

Evaluated the effectiveness of the registrant’s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and

 

 

d)

Disclosed in this report any change in the registrant’s internal control over financial reporting that occurred during the registrant’s most recent fiscal quarter (the registrant’s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant’s internal control over financial reporting; and

 

5. The registrant’s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant’s auditors and the audit committee of the registrant’s board of directors (or persons performing the equivalent functions):

 

 

a)

All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant’s ability to record, process, summarize and report financial information; and

 

 

b)

Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant’s internal control over financial reporting.

 

Date: February 18, 2022

By:

/s/ Daniel Schumacher

 

 

Daniel Schumacher

 

 

Interim Chief Financial Officer

 

 

(Principal Financial Officer)

 

 
EX-32.1 7 ex_313215.htm EXHIBIT 32.1 ex_313215.htm

 

Exhibit 32.1

 

 

CERTIFICATION OF CHIEF EXECUTIVE OFFICER AND CHIEF FINANCIAL OFFICER

PURSUANT TO

18 U.S.C. SECTION 1350,

AS ADOPTED PURSUANT TO

SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002

 

I, Robert Bodor, certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that the Annual Report of Proto Labs, Inc. on Form 10-K for the fiscal year ended December 31, 2021 fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934 and that information contained in such Annual Report on Form 10-K fairly presents in all material respects the financial condition and results of operations of Proto Labs, Inc.

 

Date: February 18, 2022

 

 

By:

/s/ Robert Bodor

 

Name:

Robert Bodor

 

Title:

President and Chief Executive Officer

 

 

 

I, Daniel Schumacher, certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that the Annual Report of Proto Labs, Inc. on Form 10-K for the fiscal year ended December 31, 2021 fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934 and that information contained in such Annual Report on Form 10-K fairly presents in all material respects the financial condition and results of operations of Proto Labs, Inc.

 

Date: February 18, 2022

 

 

By:

/s/ Daniel Schumacher

 

Name:

Daniel Schumacher

 

Title:

Interim Chief Financial Officer

 

 
EX-101.SCH 8 prlb-20211231.xsd XBRL TAXONOMY EXTENSION SCHEMA 000 - Document - Document And Entity Information link:calculationLink link:definitionLink link:presentationLink 001 - Statement - Consolidated Balance Sheets link:calculationLink link:definitionLink link:presentationLink 002 - Statement - Consolidated Balance Sheets (Parentheticals) link:calculationLink link:definitionLink link:presentationLink 003 - Statement - Consolidated Statements of Comprehensive Income link:calculationLink link:definitionLink link:presentationLink 004 - Statement - Consolidated Statements of Shareholders' Equity link:calculationLink link:definitionLink link:presentationLink 005 - Statement - Consolidated Statements of Cash Flows link:calculationLink link:definitionLink link:presentationLink 006 - Disclosure - Note 1 - Nature of Business link:calculationLink link:definitionLink link:presentationLink 007 - Disclosure - Note 2 - Summary of Significant Accounting Policies link:calculationLink link:definitionLink link:presentationLink 008 - Disclosure - Note 3 - Revenue link:calculationLink link:definitionLink link:presentationLink 009 - Disclosure - Note 4 - Net Income Per Common Share link:calculationLink link:definitionLink link:presentationLink 010 - Disclosure - Note 5 - Business Combinations link:calculationLink link:definitionLink link:presentationLink 011 - Disclosure - Note 6 - Goodwill and Other Intangible Assets link:calculationLink link:definitionLink link:presentationLink 012 - Disclosure - Note 7 - Fair Value Measurements link:calculationLink link:definitionLink link:presentationLink 013 - Disclosure - Note 8 - Marketable Securities link:calculationLink link:definitionLink link:presentationLink 014 - Disclosure - Note 9 - Property and Equipment link:calculationLink link:definitionLink link:presentationLink 015 - Disclosure - Note 10 - Inventory link:calculationLink link:definitionLink link:presentationLink 016 - Disclosure - Note 11 - Financing Obligations link:calculationLink link:definitionLink link:presentationLink 017 - Disclosure - Note 12 - Employee Benefit Plans link:calculationLink link:definitionLink link:presentationLink 018 - Disclosure - Note 13 - Stock-based Compensation link:calculationLink link:definitionLink link:presentationLink 019 - Disclosure - Note 14 - Leases link:calculationLink link:definitionLink link:presentationLink 020 - Disclosure - Note 15 - Accumulated Other Comprehensive Income (Loss) link:calculationLink link:definitionLink link:presentationLink 021 - Disclosure - Note 16 - Income Taxes link:calculationLink link:definitionLink link:presentationLink 022 - Disclosure - Note 17 - Litigation link:calculationLink link:definitionLink link:presentationLink 023 - Disclosure - Note 18 - Segment Reporting link:calculationLink link:definitionLink link:presentationLink 024 - Disclosure - Significant Accounting Policies (Policies) link:calculationLink link:definitionLink link:presentationLink 025 - Disclosure - Note 3 - Revenue (Tables) link:calculationLink link:definitionLink link:presentationLink 026 - Disclosure - Note 4 - Net Income Per Common Share (Tables) link:calculationLink link:definitionLink link:presentationLink 027 - Disclosure - Note 5 - Business Combinations (Tables) link:calculationLink link:definitionLink link:presentationLink 028 - Disclosure - Note 6 - Goodwill and Other Intangible Assets (Tables) link:calculationLink link:definitionLink link:presentationLink 029 - Disclosure - Note 7 - Fair Value Measurements (Tables) link:calculationLink link:definitionLink link:presentationLink 030 - Disclosure - Note 8 - Marketable Securities (Tables) link:calculationLink link:definitionLink link:presentationLink 031 - Disclosure - Note 9 - Property and Equipment (Tables) link:calculationLink link:definitionLink link:presentationLink 032 - Disclosure - Note 10 - Inventory (Tables) link:calculationLink link:definitionLink link:presentationLink 033 - Disclosure - Note 13 - Stock-based Compensation (Tables) link:calculationLink link:definitionLink link:presentationLink 034 - Disclosure - Note 14 - Leases (Tables) link:calculationLink link:definitionLink link:presentationLink 035 - Disclosure - Note 15 - Accumulated Other Comprehensive Income (Loss) (Tables) link:calculationLink link:definitionLink link:presentationLink 036 - Disclosure - Note 16 - Income Taxes (Tables) link:calculationLink link:definitionLink link:presentationLink 037 - Disclosure - Note 18 - Segment Reporting (Tables) link:calculationLink link:definitionLink link:presentationLink 038 - Disclosure - Note 2 - Summary of Significant Accounting Policies (Details Textual) link:calculationLink link:definitionLink link:presentationLink 039 - Disclosure - Note 3 - Revenue - Disaggregation of Revenue (Details) link:calculationLink link:definitionLink link:presentationLink 040 - Disclosure - Note 4 - Net Income Per Common Share (Details Textual) link:calculationLink link:definitionLink link:presentationLink 041 - Disclosure - Note 4 - Net Income Per Common Share - Computation of Basic and Diluted Net Income Per Share (Details) link:calculationLink link:definitionLink link:presentationLink 042 - Disclosure - Note 5 - Business Combinations (Details Textual) link:calculationLink link:definitionLink link:presentationLink 043 - Disclosure - Note 5 - Business Combinations - Allocation of Purchase Price for the Acquisition of Rapid (Details) link:calculationLink link:definitionLink link:presentationLink 044 - Disclosure - Note 6 - Goodwill and Other Intangible Assets (Details Textual) link:calculationLink link:definitionLink link:presentationLink 045 - Disclosure - Note 6 - Goodwill and Other Intangible Assets - Changes in Carrying Amount of Goodwill (Details) link:calculationLink link:definitionLink link:presentationLink 046 - Disclosure - Note 6 - Goodwill and Other Intangible Assets - Intangible Assets Other Than Goodwill (Details) link:calculationLink link:definitionLink link:presentationLink 047 - Disclosure - Note 6 - Goodwill and Other Intangible Assets - Estimated Aggregated Amortization Expense (Details) link:calculationLink link:definitionLink link:presentationLink 048 - Disclosure - Note 7 - Fair Value Measurements (Details Textual) link:calculationLink link:definitionLink link:presentationLink 049 - Disclosure - Note 7 - Fair Value Measurements - Fair Value of Financial Assets Measured on a Recurring Basis (Details) link:calculationLink link:definitionLink link:presentationLink 050 - Disclosure - Note 8 - Marketable Securities - Short-term and Long-term Available for Sale Securities (Details) link:calculationLink link:definitionLink link:presentationLink 051 - Disclosure - Note 8 - Marketable Securities - Short-term and Long-term Held-to-Maturity Securities (Details) link:calculationLink link:definitionLink link:presentationLink 052 - Disclosure - Note 8 - Marketable Securities - Balance of Held-to-maturity Debt Securities by Contractual Maturity (Details) link:calculationLink link:definitionLink link:presentationLink 053 - Disclosure - Note 9 - Property and Equipment (Details Textual) link:calculationLink link:definitionLink link:presentationLink 054 - Disclosure - Note 9 - Property and Equipment - Components of Property and Equipment (Details) link:calculationLink link:definitionLink link:presentationLink 055 - Disclosure - Note 10 - Inventory - Inventory (Details) link:calculationLink link:definitionLink link:presentationLink 056 - Disclosure - Note 11 - Financing Obligations (Details Textual) link:calculationLink link:definitionLink link:presentationLink 057 - Disclosure - Note 12 - Employee Benefit Plans (Details Textual) link:calculationLink link:definitionLink link:presentationLink 058 - Disclosure - Note 13 - Stock-based Compensation (Details Textual) link:calculationLink link:definitionLink link:presentationLink 059 - Disclosure - Note 13 - Stock-based Compensation - Stock-based Compensation Expense (Details) link:calculationLink link:definitionLink link:presentationLink 060 - Disclosure - Note 13 - Stock-based Compensation - Assumptions Used in the Black-Scholes Option Pricing Model (Details) link:calculationLink link:definitionLink link:presentationLink 061 - Disclosure - Note 13 - Stock-based Compensation - Stock Option Activity (Details) link:calculationLink link:definitionLink link:presentationLink 062 - Disclosure - Note 13 - Stock-based Compensation - Information about Stock Options Outstanding (Details) link:calculationLink link:definitionLink link:presentationLink 063 - Disclosure - Note 13 - Stock-based Compensation - Restricted Stock Options (Details) link:calculationLink link:definitionLink link:presentationLink 064 - Disclosure - Note 13 - Stock-based Compensation - Performance Stock (Details) link:calculationLink link:definitionLink link:presentationLink 065 - Disclosure - Note 13 - Stock-based Compensation - Assumptions Used in the Valuation of Performance Stock (Details) link:calculationLink link:definitionLink link:presentationLink 066 - Disclosure - Note 14 - Leases - Balance Sheet Information (Details) link:calculationLink link:definitionLink link:presentationLink 067 - Disclosure - Note 14 - Leases - Lease Expense (Details) link:calculationLink link:definitionLink link:presentationLink 068 - Disclosure - Note 14 - Leases - Maturities of Operating Lease Liabilities (Details) link:calculationLink link:definitionLink link:presentationLink 069 - Disclosure - Note 14 - Leases - Weighted Average Remaining Terms and Discount Rates (Details) link:calculationLink link:definitionLink link:presentationLink 070 - Disclosure - Note 15 - Accumulated Other Comprehensive Income (Loss) - Other Comprehensive Loss (Details) link:calculationLink link:definitionLink link:presentationLink 071 - Disclosure - Note 16 - Income Taxes (Details Textual) link:calculationLink link:definitionLink link:presentationLink 072 - Disclosure - Note 16 - Income Taxes - Components of Income (Loss) Before Income Taxes (Details) link:calculationLink link:definitionLink link:presentationLink 073 - Disclosure - Note 16 - Income Taxes - Significant Components of Provision for Income Taxes (Details) link:calculationLink link:definitionLink link:presentationLink 074 - Disclosure - Note 16 - Income Taxes - Reconciliation of Federal Statutory Income Tax Rate to Effective Tax Rate (Details) link:calculationLink link:definitionLink link:presentationLink 075 - Disclosure - Note 16 - Income Taxes - Significant Components of Deferred Tax Assets and Liabilities (Details) link:calculationLink link:definitionLink link:presentationLink 076 - Disclosure - Note 16 - Income Taxes - Reconciliation of Beginning and Ending Amount of Unrecognized Tax Benefits (Details) link:calculationLink link:definitionLink link:presentationLink 077 - Disclosure - Note 18 - Segment Reporting - Revenue From Operations by Reportable Segment (Details) link:calculationLink link:definitionLink link:presentationLink 078 - Disclosure - Note 18 - Segment Reporting - Income From Operations (Details) link:calculationLink link:definitionLink link:presentationLink 079 - Disclosure - Note 18 - Segment Reporting - Long-lived Assets by Geographic Region (Details) link:calculationLink link:definitionLink link:presentationLink 080 - Disclosure - Note 18 - Segment Reporting - Expenditures for Additions to Long-lived Assets (Details) link:calculationLink link:definitionLink link:presentationLink 081 - Disclosure - Note 18 - Segment Reporting - Depreciation and Amortization (Details) link:calculationLink link:definitionLink link:presentationLink EX-101.CAL 9 prlb-20211231_cal.xml XBRL TAXONOMY EXTENSION CALCULATION LINKBASE EX-101.DEF 10 prlb-20211231_def.xml XBRL TAXONOMY EXTENSION DEFINITION LINKBASE EX-101.LAB 11 prlb-20211231_lab.xml XBRL TAXONOMY EXTENSION LABEL LINKBASE Document And Entity Information Expected dividend yield Note To Financial Statement Details Textual Significant Accounting Policies Share-based Payment Arrangement, Option, Exercise Price Range [Table Text Block] Note 3 - Revenue Note 4 - Net Income Per Common Share Risk-free interest rate us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets Current assets Note 5 - Business Combinations Note 6 - Goodwill and Other Intangible Assets Note 7 - Fair Value Measurements us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIndefiniteLivedIntangibleAssets Intangible assets Note 8 - Marketable Securities Note 9 - Property and Equipment prlb_EmployeeStockPurchasePlanWeightedAveragePurchasePriceOfSharesPurchased Employee Stock Purchase Plan, Weighted Average Purchase Price of Shares Purchased (in shares) The weighted average purchase price of shares purchased through the Employee Stock Purchase Plan. Note 10 - Inventory prlb_EmployeeStockPurchasePlanOfferingPeriod Employee Stock Purchase Plan, Offering Period (Month) The offering period during which employees may purchase stock through the Employee Stock Purchase Plan. Income Tax Disclosure [Text Block] Note 13 - Stock-based Compensation Note 14 - Leases Net unrealized gains (losses) on investments in securities Note 15 - Accumulated Other Comprehensive Income (Loss) Note 16 - Income Taxes Expected volatility Note 18 - Segment Reporting us-gaap_LiabilitiesCurrent Total current liabilities Note 3 - Revenue - Disaggregation of Revenue (Details) Note 4 - Net Income Per Common Share - Computation of Basic and Diluted Net Income Per Share (Details) Note 5 - Business Combinations - Allocation of Purchase Price for the Acquisition of Rapid (Details) Expected life (Year) Assets acquired: Note 6 - Goodwill and Other Intangible Assets - Changes in Carrying Amount of Goodwill (Details) us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable Business Combination, Consideration Transferred, Equity Interests Issued and Issuable Note 6 - Goodwill and Other Intangible Assets - Intangible Assets Other Than Goodwill (Details) Note 6 - Goodwill and Other Intangible Assets - Estimated Aggregated Amortization Expense (Details) us-gaap_BusinessCombinationConsiderationTransferred1 Business Combination, Consideration Transferred, Total Total purchase consideration Note 7 - Fair Value Measurements - Fair Value of Financial Assets Measured on a Recurring Basis (Details) Note 8 - Marketable Securities - Short-term and Long-term Available for Sale Securities (Details) US States and Political Subdivisions Debt Securities [Member] Note 8 - Marketable Securities - Short-term and Long-term Held-to-Maturity Securities (Details) Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions [Table Text Block] Note 8 - Marketable Securities - Balance of Held-to-maturity Debt Securities by Contractual Maturity (Details) Note 9 - Property and Equipment - Components of Property and Equipment (Details) Note 10 - Inventory - Inventory (Details) Note 13 - Stock-based Compensation - Stock-based Compensation Expense (Details) Note 13 - Stock-based Compensation - Assumptions Used in the Black-Scholes Option Pricing Model (Details) Share-based Payment Arrangement, Option, Activity [Table Text Block] Note 13 - Stock-based Compensation - Stock Option Activity (Details) Note 13 - Stock-based Compensation - Information about Stock Options Outstanding (Details) Note 13 - Stock-based Compensation - Restricted Stock Options (Details) Granted, weighted-average grant date fair value (in dollars per share) us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue Granted, weighted-average grant date fair value (in dollars per share) Restrictions lapsed, weighted-average grant date fair value (in dollars per share) us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue Restrictions lapsed, weighted-average grant date fair value (in dollars per share) Note 13 - Stock-based Compensation - Performance Stock (Details) Note 13 - Stock-based Compensation - Assumptions Used in the Valuation of Performance Stock (Details) Forfeited, weighted-average grant date fair value (in dollars per share) us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue Forfeited, weighted-average grant date fair value (in dollars per share) Share-based Payment Arrangement, Restricted Stock and Restricted Stock Unit, Activity [Table Text Block] Note 14 - Leases - Balance Sheet Information (Details) us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue Restricted stock, weighted-average grant date fair value (in dollars per share) Restricted stock, weighted-average grant date fair value (in dollars per share) Note 14 - Leases - Lease Expense (Details) us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod Forfeited (in shares) Forfeited (in shares) Note 14 - Leases - Maturities of Operating Lease Liabilities (Details) Note 14 - Leases - Weighted Average Remaining Terms and Discount Rates (Details) Foreign currency translation adjustments Foreign currency translation adjustment Commercial Paper, Not Included with Cash and Cash Equivalents [Member] us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber Restricted stock (in shares) Restricted stock (in shares) Proceeds from maturities of marketable securities Note 15 - Accumulated Other Comprehensive Income (Loss) - Other Comprehensive Loss (Details) Proceeds from sales of marketable securities Other comprehensive (loss) income before reclassifications Note 16 - Income Taxes - Components of Income (Loss) Before Income Taxes (Details) Note 16 - Income Taxes - Significant Components of Provision for Income Taxes (Details) US Government Agencies Debt Securities [Member] Note 16 - Income Taxes - Reconciliation of Federal Statutory Income Tax Rate to Effective Tax Rate (Details) Granted (in shares) Granted (in shares) Note 16 - Income Taxes - Significant Components of Deferred Tax Assets and Liabilities (Details) Corporate Debt Securities [Member] us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod Restrictions lapsed (in shares) Restrictions lapsed (in shares) Share-based Payment Arrangement, Cost by Plan [Table Text Block] Options outstanding, vested and expected to vest, weighted average remaining contractual life (Year) Note 16 - Income Taxes - Reconciliation of Beginning and Ending Amount of Unrecognized Tax Benefits (Details) Schedule of Nonvested Performance-based Units Activity [Table Text Block] Note 18 - Segment Reporting - Revenue From Operations by Reportable Segment (Details) Note 18 - Segment Reporting - Income From Operations (Details) Note 18 - Segment Reporting - Long-lived Assets by Geographic Region (Details) Note 18 - Segment Reporting - Expenditures for Additions to Long-lived Assets (Details) Note 18 - Segment Reporting - Depreciation and Amortization (Details) Notes To Financial Statements Notes To Financial Statements [Abstract] us-gaap_PaymentsToAcquireOtherInvestments Purchases of other assets and investments Options exercisable, weighted-average exercise price (in dollars per share) us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1 Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term (Year) us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1 Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Intrinsic Value us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1 Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested in Period, Fair Value us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period, Intrinsic Value Options exercisable (in shares) us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2 Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term (Year) us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Intrinsic Value Weighted average grant date fair value (in dollars per share) us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt Purchases of marketable securities Financial Instruments [Domain] Options outstanding, vested and expected to vest, weighted average exercise price (in dollars per share) Options outstanding, weighted-average exercise price (in dollars per share) Options outstanding, weighted-average exercise price (in dollars per share) prlb_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContingentLiabilityCurrent Current contingent consideration The amount of liability arising from an inherited contingency (as defined) which has been recognized as of the acquisition date, classified as current Cancelled, weighted-average exercise price (in dollars per share) Financial Instrument [Axis] Due after one year through five years Goodwill and Intangible Assets Disclosure [Text Block] Schedule of Goodwill [Table Text Block] us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice Granted, weighted-average exercise price (in dollars per share) Exercised, weighted-average exercise price (in dollars per share) Domestic Plan [Member] prlb_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContingentLiabilityNoncurrent Long-term contingent consideration The amount of liability arising from an inherited contingency (as defined) which has been recognized as of the acquisition date, classified as noncurrent. Foreign Plan [Member] Accrued compensation Due in one year or less Retirement Plan Sponsor Location [Axis] Retirement Plan Sponsor Location [Domain] us-gaap_AccountsPayableCurrent Accounts payable Options outstanding, vested and expected to vest, number outstanding (in shares) Options outstanding (in shares) Options outstanding (in shares) Retirement Plan Type [Axis] Retirement Plan Type [Domain] Schedule of Recognized Identified Assets Acquired and Liabilities Assumed [Table Text Block] us-gaap_PolicyTextBlockAbstract Accounting Policies Trade Names [Member] us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Available for Grant (in shares) us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPriceOfferingDate Share-based Compensation Arrangement by Share-based Payment Award, Discount from Market Price, Offering Date us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent Share-based Compensation Arrangement by Share-based Payment Award, Purchase Price of Common Stock, Percent us-gaap_PaymentsToAcquirePropertyPlantAndEquipment Purchases of property, equipment and other capital assets Expenditures for additions to long-lived assets Employee stock options and other (in shares) Schedule of Share-based Payment Award, Awards Other Than Stock Options, Valuation Assumptions [Table Text Block] Tabular disclosure of the valuation assumptions of share-based payment awards other than stock options. us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period (Year) us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period (Year) Noncompete Agreements [Member] Current liabilities Shares used to compute net income per share: Marketing-Related Intangible Assets [Member] Share based compensation Qualified subsidiary election. Supplemental cash flow disclosure us-gaap_Assets Total assets Plan Name [Axis] Plan Name [Domain] Other Products [Member] Represents other products. 401(k) Retirement Plan [Member] A company sponsored 401(k) defined contribution plan. us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount, Total us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1 Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition (Year) Customer Relationships [Member] Investment [Text Block] prlb_OperatingLossCarryforwardsPercentageOfTaxableIncome Operating Loss Carryforwards, Percentage of Taxable Income Represents the operating loss carryforwards percentage of taxable income limit. prlb_OperatingLossCarryforwardsExpirationPeriod Operating Loss Carryforwards, Expiration Period (Year) The expiration period of operating loss carryforwards. Legal Matters and Contingencies [Text Block] Computer Software, Intangible Asset [Member] Share-based Payment Arrangement [Text Block] Finite-Lived Intangible Assets by Major Class [Axis] Finite-Lived Intangible Assets, Major Class Name [Domain] Contingent Consideration by Type [Axis] Contingent Consideration Type [Domain] Award Type [Domain] Performance change, weighted-average grant date fair value (in dollars per share) Performance change, weighted-average grant date fair value (in dollars per share) Represents the weighted average grant date fair value per share in connection to a performance change related to equity instruments other than options. Performance change (in shares) Represents the amount of shares related to a performance change related to equity instruments other than option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan). Award Type [Axis] Net income Net income Accumulated Amortization Accumulated Amortization Net Total estimated amortization expense Gross Restricted Stock [Member] Stock Options, Restricted Stock, and Other [Member] Equity awards of stock options, restricted stock, and equity instruments not otherwise classified. Performance Shares [Member] Share-based Payment Arrangement, Option [Member] Goodwill, foreign currency translation adjustment us-gaap_GoodwillPurchaseAccountingAdjustments Goodwill, Purchase Accounting Adjustments Goodwill acquired during the period Goodwill, Acquired During Period prlb_BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentContingentConsideration Business Combination, Provisional Information, Initial Accounting Incomplete, Adjustment, Contingent Consideration This element represents the amount of any measurement period adjustment (as defined) realized during the reporting period to contingent consideration in connection with a business combination for which the initial accounting was incomplete. Business Combination Disclosure [Text Block] prlb_DeferredTaxAssetsRightOfUseLeases Leases Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from right of use lease assets. us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment Accumulated depreciation and amortization Property and equipment, net Property and equipment, net Long-lived assets Goodwill Goodwill Goodwill, balance as of the beginning of the period Goodwill, balance as of the end of the period Bank Time Deposits [Member] us-gaap_PropertyPlantAndEquipmentGross Total prlb_BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentDeferredTaxLiabilities Business Combination, Provisional Information, Initial Accounting Incomplete, Adjustment, Deferred Tax Liabilities This element represents the amount of any measurement period adjustment (as defined) realized during the reporting period to deferred tax liabilities assumed in connection with a business combination for which the initial accounting was incomplete. Machinery and equipment prlb_BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentCashPaid Business Combination, Provisional Information, Initial Accounting Incomplete, Adjustment, Cash Paid This element represents the amount of any measurement period adjustment (as defined) realized during the reporting period to cash paid in connection with a business combination for which the initial accounting was incomplete. Construction in progress Leasehold improvements Land Office Space, Manufacturing Facilities, and Certain Company Vehicles and Equipment [Member] Information pertaining to office space, manufacturing facilities, and certain company vehicles and equipment. Buildings and improvements Schedule of Lease Expense [Table Text Block] Tabular disclosure of lease expenses incurred. Schedule of Lease Terms and Discount Rates [Table Text Block] Tabular disclosure of the weighted average remaining lease terms and discount rates. Investing activities Marketable securities Fair Value Total marketable securities Amortized Cost Net income per share: Earnings Per Share [Text Block] Income taxes prlb_PercentageOfTargetNumberCapableOfBeingEarnedAndVestingLowerLimit Percentage of Target Number Capable of Being Earned and Vesting, Lower Limit The lower limit percent of target number capable of being earned and vesting at the end of a three-year performance period depending on the company's performance in the final year of the performance period and the award recipient's continued employment. prlb_PercentageOfTargetNumberCapableOfBeingEarnedAndVestingUpperLimit Percentage of Target Number Capable of Being Earned and Vesting, Upper Limit The upper limit percent of target number capable of being earned and vesting at the end of a three-year performance period depending on the company's performance in the final year of the performance period and the award recipient's continued employment. Provision for income taxes Income Tax Expense (Benefit), Total Total Accounts payable GERMANY us-gaap_OperatingExpenses Total operating expenses us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount Defined Contribution Plan, Employer Discretionary Contribution Amount General and administrative us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent Defined Contribution Plan, Maximum Annual Contributions Per Employee, Percent Cash and cash equivalents us-gaap_HeldToMaturitySecuritiesAccumulatedUnrecognizedHoldingLoss Unrealized Losses Unrealized Gains Allocated share-based compensation expense Lessee, Operating Leases and Financing Leases [Text Block] The entire disclosure for operating leases of lessee and finance leases of lessee. Assets and Liabilities, Lessee [Table Text Block] Tabular disclosure of lessee's assets and liabilities. Amendment Flag Auditor Name Auditor Location Auditor Firm ID ICFR Auditor Attestation Flag Other Comprehensive Income (Loss), net of tax Comprehensive income (loss) Comprehensive income City Area Code Use of Estimates, Policy [Policy Text Block] New Accounting Pronouncements, Policy [Policy Text Block] Lessee, Lease Liability, Maturity [Table Text Block] Tabular disclosure of undiscounted cash flows of operating and finance lease liability. us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities Accrued liabilities and other prlb_IncreaseDecreaseInIncomeTaxesPayableCaresAct Increase (Decrease) in Income Taxes Payable, CARES Act Represents increase (decrease) in income taxes payable related to CARES Act. Common stock, shares outstanding (in shares) Balance (in shares) Balance (in shares) Provision to return difference Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to provision to return difference. Acquired 3D Hubs [Member] Represents acquired 3D Hubs. Current Fiscal Year End Date Variable lease cost us-gaap_LeaseCost Total lease cost JAPAN us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets Prepaid expenses and other Weighted Average Discount Rate - operating leases us-gaap_DebtSecuritiesAvailableForSaleRealizedGainLoss Realized loss on available-sale-securities Document Fiscal Period Focus Operating lease cost Document Fiscal Year Focus Consolidation, Policy [Policy Text Block] Lease assets obtained in exchange for new financing lease liabilities Document Period End Date Lease assets obtained in exchange for new operating lease liabilities Weighted Average Remaining Lease Term - operating leases (years) (Year) Entity File Number Entity Emerging Growth Company Document Type Entity Small Business Entity Shell Company Document Information [Line Items] Document Information [Table] Entity Public Float Entity Filer Category Entity Current Reporting Status Entity Voluntary Filers Entity Well-known Seasoned Issuer us-gaap_CapitalizedComputerSoftwareNet Capitalized Computer Software, Net, Ending Balance us-gaap_GoodwillImpairmentLoss Goodwill, Impairment Loss Debt Securities, Held-to-maturity [Table Text Block] us-gaap_IncreaseDecreaseInAccountsReceivable Accounts receivable Stock-based compensation expense Entity Tax Identification Number Entity Central Index Key Entity Registrant Name Entity [Domain] Legal Entity [Axis] Entity Address, Address Line One us-gaap_AmortizationOfIntangibleAssets Amortization of Intangible Assets, Total Entity Address, City or Town NETHERLANDS Entity Address, Postal Zip Code Entity Address, State or Province Long-Term Incentive Plan 2012 [Member] Information pertaining to the 2012 Long-Term Incentive Plan. Entity Common Stock, Shares Outstanding us-gaap_StockRepurchasedAndRetiredDuringPeriodValue Repurchases of Common Stock us-gaap_StockRepurchasedAndRetiredDuringPeriodShares Repurchases of Common Stock (in shares) us-gaap_AdvertisingExpense Advertising Expense us-gaap_IncreaseDecreaseInInventories Inventories Trading Symbol Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block] Common shares issued for Hubs acquisition (in shares) Local Phone Number Common shares issued for Hubs acquisition us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised Exercised (in shares) us-gaap_TableTextBlock Notes Tables Common shares issued on exercise of options and other, net of shares withheld for tax obligations Sheet Metal [Member] Represents the information pertaining to sheet metal. Common shares issued on exercise of options and other, net of shares withheld for tax obligations (in shares) Shares Issued, Shares, Share-based Payment Arrangement, after Forfeiture, Total (in shares) us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross Granted (in shares) us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod Cancelled (in shares) Marketing and sales Fair Value us-gaap_LiabilitiesAndStockholdersEquity Total liabilities and shareholders' equity UNITED STATES Research and development Research and Development Expense, Total Retained earnings Accumulated other comprehensive loss Money Market Funds [Member] Debt Disclosure [Text Block] Cash and Cash Equivalents [Axis] Cash and Cash Equivalents [Domain] Cash [Member] Changes in operating assets and liabilities, net of acquisitions: us-gaap_DisclosureTextBlockAbstract Notes to Financial Statements us-gaap_OtherNoncashIncomeExpense Other Inventory Disclosure [Text Block] Long-term operating lease liabilities Schedule of Inventory, Current [Table Text Block] Present value of lease liabilities, operating lease Total operating lease liabilities Current operating lease liabilities Other intangible assets, net Current finance lease liabilities Retirement Benefits [Text Block] Long-term finance lease liabilities Operating lease assets us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue Total future minimum lease payments, operating lease Present value of lease liabilities Total finance lease liabilities Financing cash flows from finance leases Principal repayments of finance lease obligations us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount Less interest, operating lease Deferred taxes us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive Thereafter 2024, operating lease 2025, operating lease Finance lease assets 2026, operating lease After 2027, operating lease us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo 2023 us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree 2024 us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour 2025 2022, operating lease Debt Securities, Available-for-sale [Table Text Block] us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive 2026 2023, operating lease Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block] us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths 2022 Foreign Currency Transactions and Translations Policy [Policy Text Block] us-gaap_ShareBasedCompensation Stock-based compensation expense Other long-term assets Lessee, Leases [Policy Text Block] Weighted average useful life remaining (Year) Useful Life (Year) Finite-Lived Intangible Asset, Useful Life (Year) Exercise Price Range One [Member] Exercise price range one [member Exercise Price Range Two [Member] Exercise price range two [member] Exercise Price Range Three [Member] Exercise price range three [member] Operating expenses Exercise Price Range Four [Member] Exercise price range four [member Comprehensive Income, Policy [Policy Text Block] Income Tax, Policy [Policy Text Block] us-gaap_AssetsFairValueDisclosure Total us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments Amortization of marketable securities Internal Use Software, Policy [Policy Text Block] Schedule of Finite-Lived Intangible Assets [Table Text Block] us-gaap_LesseeOperatingLeaseTermOfContract Lessee, Operating Lease, Term of Contract (Year) Research and Development Expense, Policy [Policy Text Block] us-gaap_Depreciation Depreciation, Total Depreciation and amortization Depreciation and amortization Long-term marketable securities Injection Molding (Protomold) [Member] Represents the Injection Molding (Protomold) product. us-gaap_AssetsCurrent Total current assets us-gaap_CashAndCashEquivalentsFairValueDisclosure Cash and cash equivalents 3D Printing (Fineline) [Member] Represents the 3D Printing (Fineline) product. CNC Machining (Firstcut) [Member] Represents the CNC Machining (Firstcut) product. Income taxes receivable Changes in fair value of contingent consideration Compensation Related Costs, Policy [Policy Text Block] Advertising Cost [Policy Text Block] Common stock, $0.001 par value, authorized 150,000,000 shares; issued and outstanding 27,465,945 and 26,776,796 shares as of December 31, 2021 and December 31, 2020, respectively Adjustments to reconcile net income to net cash provided by operating activities: Measurement Frequency [Axis] Measurement Frequency [Domain] Fair Value, Recurring [Member] Common stock, shares authorized (in shares) Common stock, shares issued (in shares) Common stock, par value (in dollars per share) us-gaap_DeferredTaxAssetsValuationAllowance Deferred Tax Assets, Valuation Allowance, Total Less valuation allowance Statistical Measurement [Domain] Operating cash flows from operating leases Maximum [Member] Minimum [Member] Product and Service [Axis] Product and Service [Domain] us-gaap_DeferredTaxAssetsNet Total deferred tax assets Statistical Measurement [Axis] Operating cash flows from finance leases Preferred stock, $0.001 par value, authorized 10,000,000 shares; issued and outstanding 0 shares as of December 31, 2021 and December 31, 2020, respectively Preferred stock, shares issued (in shares) Goodwill and Intangible Assets, Intangible Assets, Policy [Policy Text Block] Cash paid for interest Cash paid for taxes Corporate Unallocated and Japan Segment[Member] Segment for corporate unallocated expenses and Japan. Impairment or Disposal of Long-Lived Assets, Policy [Policy Text Block] Other assets Geographical [Axis] Property, Plant and Equipment Disclosure [Text Block] Europe Segment [Member] Operating segment for Europe Geographical [Domain] Property, Plant and Equipment [Table Text Block] Preferred stock, shares authorized (in shares) Goodwill and Intangible Assets, Goodwill, Policy [Policy Text Block] Europe [Member] us-gaap_DeferredIncomeTaxLiabilities Total deferred tax liabilities United States Segment [Member] Operating segment for United States. Inventory Inventory, net of allowance Japan Segment [Member] Operating segment for Japan. Preferred stock, par value (in dollars per share) Revenue us-gaap_InventoryValuationReserves Allowance for obsolescence Fair Value, Inputs, Level 3 [Member] Research and development credit Fair Value Hierarchy and NAV [Domain] Inventories Intangible assets Total inventory Fair Value, Inputs, Level 1 [Member] Fair Value, Inputs, Level 2 [Member] Fair Value Hierarchy and NAV [Axis] Accrued expenses us-gaap_PropertyPlantAndEquipmentUsefulLife Property, Plant and Equipment, Useful Life (Year) Operating activities Revenue [Policy Text Block] Statement [Line Items] Allowance for doubtful accounts Accounts receivable, net of allowance for doubtful accounts of $1,948 and $1,781 as of December 31, 2021 and December 31, 2020, respectively Warrants and stock options AOCI, Accumulated Gain (Loss), Debt Securities, Available-for-sale, Parent [Member] Land, Buildings and Improvements [Member] Accumulated Foreign Currency Adjustment Attributable to Parent [Member] Building [Member] Statements of Operations: Short-term marketable securities AOCI Attributable to Parent [Member] Additional paid-in capital Shareholders' equity Property, Plant and Equipment, Policy [Policy Text Block] Other (expense) income, net Long-Lived Tangible Asset [Axis] Segment Reporting Disclosure [Text Block] Long-Lived Tangible Asset [Domain] Net operating loss Current assets Fair Value Disclosures [Text Block] us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations Cash and cash equivalents, beginning of period Cash and cash equivalents, end of period Inventory, Policy [Policy Text Block] Effect of exchange rate changes on cash and cash equivalents us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect Net (decrease) increase in cash and cash equivalents Deferred tax assets: us-gaap_NetCashProvidedByUsedInFinancingActivities Net cash used in financing activities us-gaap_Liabilities Total liabilities us-gaap_OperatingIncomeLoss Income from operations Income from operations us-gaap_NetCashProvidedByUsedInOperatingActivities Net cash provided by operating activities us-gaap_NetCashProvidedByUsedInInvestingActivities Net cash used in investing activities us-gaap_DeferredTaxLiabilities Net deferred tax liability Prepaid expenses and other current assets us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill Goodwill us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets Intangible assets us-gaap_GrossProfit Gross profit Income from Operations by Geographic Area [Table Text Block] Tabular disclosure of income from operations by geographic area. Cost of revenue Consolidation Items [Domain] Long-term deferred tax liabilities Depreciation and Amortization by Geographic Region [Table Text Block] Tabular disclosure of depreciation and amortization by geographic region. Expenditures for Additions to Long-lived Assets by Geographic Region [Table Text Block] Tabular disclosure of expenditures for additions to long-lived assets by geographic region. us-gaap_DeferredTaxLiabilitiesLeasingArrangements Leases Consolidation Items [Axis] us-gaap_ProceedsFromPaymentsForOtherFinancingActivities Other Marketable Securities, Policy [Policy Text Block] us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation Purchases of shares withheld for tax obligations us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment Depreciation us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries Deferred Tax Liability Not Recognized, Amount of Unrecognized Deferred Tax Liability, Undistributed Earnings of Foreign Subsidiaries Deferred tax liabilities: us-gaap_UndistributedEarningsOfForeignSubsidiaries Undistributed Earnings of Foreign Subsidiaries us-gaap_PaymentsForRepurchaseOfCommonStock Repurchases of common stock prlb_EffectiveIncomeTaxRateContinuingOperationsIncreaseDecreaseDuringThePeriod Effective Income Tax Rate Continuing Operations Increase (Decrease) During the Period The increase (decrease) during the period in percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations. Retained Earnings [Member] State State us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit Proceeds from exercises of stock options Foreign Foreign us-gaap_DeferredForeignIncomeTaxExpenseBenefit Additional Paid-in Capital [Member] Common Stock [Member] Federal Federal us-gaap_DeferredFederalIncomeTaxExpenseBenefit Deferred Equity Components [Axis] Equity Component [Domain] Current: Office Furniture And Equipment [Member] Office furniture and equipment [member us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign Foreign us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest Income before income taxes us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic Domestic us-gaap_LineOfCredit Long-term Line of Credit, Total Disclosure of Reclassification Amount [Text Block] Revenue: Disaggregation of Revenue [Table Text Block] Equipment [Member] Revenue from Contract with Customer [Text Block] Document Annual Report Accounts Receivable [Policy Text Block] Computer Equipment [Member] Cash and Cash Equivalents, Policy [Policy Text Block] Entity Incorporation, State or Country Code us-gaap_UnrecognizedTaxBenefits Unrecognized Tax Benefits, Ending Balance Balance Balance General and Administrative Expense [Member] Accounting Policies [Abstract] Significant Accounting Policies [Text Block] Document Transition Report us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations Decrease related to expiration of statutes of limitations Entity Interactive Data Current Selling and Marketing Expense [Member] Additions for tax positions of prior years Security Exchange Name Additions for tax positions of current year Title of 12(b) Security Computer hardware and software The gross amount of computer hardware and software as of the balance sheet date. Cost of Sales [Member] Research and Development Expense [Member] us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfNetIncomePerOutstandingUnitAmount Antidilutive Securities Excluded from Computation of Net Income, Per Outstanding Unit, Amount (in dollars per share) Income Statement Location [Axis] Income Statement Location [Domain] Accrued liabilities and other Segments [Axis] Segments [Domain] Diluted (in shares) Diluted - weighted-average shares outstanding: (in shares) prlb_MinimumNumberOfEmployeeWorkingHoursRequiredToBeEligibleToParticipateInFourZeroOneKPlan Minimum Number Of Employee Working Hours Required To Be Eligible To Participate In 401K Plan Minimum Number of Employee Working Hours Required to be Eligible to Participate in 401(k) Plan us-gaap_OperatingLossCarryforwards Operating Loss Carryforwards, Total prlb_MinimumServicePeriodOfEmployeesToAvailBenefitUnderDefinedContributionBenefitPlan Minimum Service Period Of Employees To Avail Benefit Under Defined Contribution Benefit Plan (Month) Minimum Service Period Of Employees To Avail Benefit Under Defined Contribution Benefit Plan Asset Class [Axis] Asset Class [Domain] Statement [Table] prlb_EffectiveIncomeTaxRateReconciliationContingentConsiderationReductionPercent Contingent consideration reduction Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in Contingent Consideration Reduction. Statement of Financial Position [Abstract] Diluted (in dollars per share) Diluted (in dollars per share) Basic (in shares) Basic - weighted-average shares outstanding: (in shares) Miscellaneous us-gaap_EffectiveIncomeTaxRateContinuingOperations Effective Income Tax Rate Reconciliation, Percent, Total Total Business Acquisition [Axis] Basic (in dollars per share) Basic (in dollars per share) Business Acquisition, Acquiree [Domain] Valuation allowance against deferred tax assets Statement of Cash Flows [Abstract] Lease Contractual Term [Domain] us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh Business Combination, Contingent Consideration Arrangements, Range of Outcomes, Value, High ESPP [Member] ESPP [member Statement of Stockholders' Equity [Abstract] Lease Contractual Term [Axis] Income Statement [Abstract] us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent Net current-period other comprehensive (loss) income Revenue from External Customers by Geographic Areas [Table Text Block] us-gaap_BusinessCombinationContingentConsiderationLiability Business Combination, Contingent Consideration, Liability, Total Long-lived Assets by Geographic Areas [Table Text Block] Tax reserves Software Platform [Member] Information pertaining to software platform. Interest on lease obligations us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued Business Acquisition, Equity Interest Issued or Issuable, Number of Shares (in shares) prlb_BusinessCombinationRecognizedIdentifiableAssetsAcquiredIncludingGoodwillAndLiabilitiesAssumedAssetsTotal Total assets acquired Amount of assets acquired including goodwill at the acquisition date Schedule of Income before Income Tax, Domestic and Foreign [Table Text Block] us-gaap_FinanceLeaseLiabilityPaymentsDue Total future minimum lease payments, finance lease Schedule of Unrecognized Tax Benefits Roll Forward [Table Text Block] Amortization of right-of-use assets Investments Classified by Contractual Maturity Date [Table Text Block] 2026, finance lease Schedule of Components of Income Tax Expense (Benefit) [Table Text Block] After 2027, finance lease Schedule of Deferred Tax Assets and Liabilities [Table Text Block] us-gaap_BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentIntangibles Business Combination, Provisional Information, Initial Accounting Incomplete, Adjustment, Intangibles Schedule of Effective Income Tax Rate Reconciliation [Table Text Block] us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount Less interest, finance lease 2022, finance lease 2023, finance lease 2024, finance lease 2025, finance lease Weighted Average Discount Rate - finance leases State tax (net of federal benefit) Foreign rate differential Fair Value, Assets Measured on Recurring Basis [Table Text Block] Weighted Average Remaining Lease Term - finance leases (years) (Year) us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch Research and development credit Financing activities Federal tax statutory rate Other long-term liabilities Valuation Allowance us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, before Tax, Total us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet Net assets acquired us-gaap_StockholdersEquity Total shareholders' equity Balance at beginning of period Balance at end of period us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities Total liabilities assumed us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired Payments to Acquire Businesses, Net of Cash Acquired, Total Net cash consideration Cash used for acquisitions, net of cash acquired us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilities Other long-term liabilities us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities Current liabilities Class of Stock [Axis] us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities Long-term deferred tax liabilities us-gaap_CashAcquiredFromAcquisition Cash acquired Schedule of Earnings Per Share, Basic and Diluted [Table Text Block] us-gaap_PaymentsToAcquireBusinessesGross Payments to Acquire Businesses, Gross Comprehensive Income (Loss) [Table Text Block] us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax Unrealized Losses Liabilities assumed: us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax Unrealized Gains Options exercisable, number exercisable (in shares) Performance stock (in shares) Performance stock (in shares) Operating Segments [Member] Options exercisable, weighted average exercise price (in dollars per share) Range of exercise prices, upper limit (in dollars per share) us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis Amortized Cost Exercise Price Range [Axis] Exercise Price Range [Domain] us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets Other long-term assets Range of exercise prices, lower limit (in dollars per share) EX-101.PRE 12 prlb-20211231_pre.xml XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE GRAPHIC 13 a1.jpg begin 644 a1.jpg M_]C_X 02D9)1@ ! 0$ 8 !@ #_X0 L17AI9@ 34T *@ @ 0$Q ( M * &@ !''EZ@X2%AH>(B8J2DY25EI>8F9JBHZ2EIJ>HJ:JRL[2UMK>XN;K"P\3% MQL?(R;GZ.GJ\?+S]/7V]_CY^O_$ !\! ,! 0$! M 0$! 0$ ! @,$!08'" D*"__$ +41 (! @0$ P0'!00$ $"=P ! M @,1! 4A,08205$'87$3(C*!"!1"D:&QP0DC,U+P%6)RT0H6)#3A)?$7&!D: M)BH*# MA(6&AXB)BI*3E)66EYB9FJ*CI*6FIZBIJK*SM+6VM[BYNL+#Q,7&Q\C)RM+3 MU-76U]C9VN+CY.7FY^CIZO+S]/7V]_CY^O_: P# 0 "$0,1 #\ ^D:**^&Z MI*XC[DHKYF^"&@+J'C"76+I?]%TB$RDG_GH00OZ!OTKZ%T&)_L+WDPQ+>2&9 MO8'A1^0'YTW&RN3S>\D:E%%%06%%%% !1110 4444 %%%% !1110 4444 %% M%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444 M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% ! M7PU7W+7QSX(\/OXG\9Z=I:@E))0TI'\,:\L:N(F>Z?#KPZ=&^'>F6!7;>:Y+ M]IG..5BX/Y;0G_?1KU%5"*%4851@ =A61ID:7&KW-S&H6"U46EN!T 7EB/Q. MW_@-;%.?1&=/5N044C,%4LQ"J!DDGI6=%XCT2>Z^SPZM9/-G 1;A22?3K69J M:5%%% !1110 4444 %%-DD2&-I)G6-%&69C@ >I-,M[F"[A$MI/'/&3@/&X8 M'\10!+1110 4444 %%%% !1110 4453CU?39;@01:A:O,3M$:SJ6)],9S0!< MHILLL<$323.L<:C+.YP /V]PRC+"*57('X&@"S1110 4444 M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 M4444 %%%% !1110 4444 %%%% !1534]5L-&LGN]4NXK2W0>9M.\#VCS2L=HNI$)+?[B=3]3^5-*X'M]%>$^%OCI>Z;.NG>.;*0D8 M'VF./:ZCU9#U^H_*O9]'UW3/$%BMYHU[%=P-_%&V2OL1U!]C19H"_1112 ** M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *\$^"&C_V=HFJ^ M*9X\R/\ Z+: CECW(_$X_"O>ZY#0-!CT>TT7P[#@QZ9 )[@CH\O8_7=D_C6D M-]3.HVHZ;G2Z99_8-,@MB7NK M:=X6TZ4QF\9?.(.,Y. #[=ZLW?P@T8:*R63SKJ"IE+@R'YF]QTK)\=G^ROBO MHVIW/RV[&,ECT&UN?YUU/C>PUV[CBO=#UI=.M882TIWD!N^>*-J:?FPWG;R1 M;\*OK.E^#?\ BIHO])M%;&) Q= ,C)]>WX5D0?%?3;L6"6UE.9[R<1>4Q'[L M9 W$CZ_I5'P#K&H:QX)UN74[N6Z=-ZJTC9P-E)\&=-MAH%UJ!B5KEYS&'*Y* MJ #@>G6K?Q-RZ69"?NI1\T;GB'XAVNCZK_9=A93ZG?C[\4 SL]C[U/X8\=V7 MB.::T-O+9:A""6M9N&./2N4^%P#^,/$$EWS>;S][KC=S_2C6@(_CIIQL^)&5 M/.V^F.<_A2C%:)]1R;U:Z'8^&/&5KXFGOH([::UFLGVR),1GN,\>X-,\.^.; M'Q'K=[IMM!+%):9^9R,2 -@D8K@]9O/^$(^)&K3?X:?YGH5WXJT_6+;Q%82 M6=P]MIT#K<2(P'F<>G6LK MPW8-#\)=:U"8?OM1CFF)/=<'%4=,_P"2!W?UD_\ 0S0URJ2[6&GS./JS>O?B MI;Q645S8Z3=W:>6))RN-L&>@)Z9Q74:-XDL-:\/C6+=REN%8R;^L>.H-H&Q>E$[+F2Z!"[Y6 M^IH+\3IKWSYM%\.WU]90$A[A!QQWJ;P#JFJ^))IM9N]41[&>]<'\+/%;OG2;BVNIY+FX>7 M[43E%^4<$]>U>DZM_P @:\_ZX/\ R->?_# R#X:ZD8<^8))MF/7RQBHB[*3? M8N2NXKS-+5?B9;V^JRZ?HNFW.K2P?ZUH!\JXZ_6MKPKXPL/%=M(UH'AN(3B6 MWE^\G^(KE?@RL7]C:BYQ]I-S^]/?OC^M5- C^.6IK9<0E7\T+TSC_&KY4GR M^5_U)YG;F\['J;_ZMOH:^=&BEL+Z?7X"W^AZLR/CT+$C^35]%O\ ZMOH:\?\ M/Z4-9\)^,+7&7^UM(GLREC_C41?*W+LOU14ES)1[O]&=+\1-7-SX.L[2Q;,N ML2QQH >QP3_0?C7/_">U%EXTURU4DB&((,^SU1\!37/B;Q)HUM=J3#H<#MSW M.>/UQ^5:WPX_Y*+XF^A_]#J[WFZD>HKSWP=!XBN_$FNOHE[;6 MUUYQ\\W$8=C\QZ9]ZZ+3_"VN+\0+75]7U:PDND7$D40".Z8(Z#K_ /6I12LK M]4.3=W;H;7B+X@6NC:H-+L;*?4[_ !EH;<9V?6G^&_'UGK\\]G):S65_ I9K M:;JP'7'^%:;B,.2N[MG\*Z"T\+:ZWCVRU;5]7 MT][J(C?'$ CNGT'7BB*5E?J$F[NW0PK/Q\X^(EUJ;V%])#)&(DM 1NCX R1T MKV6*3S84DP5WJ&P>HS7FN@?\EPUG_KF?Y"O3*6G)'T&K\\O4YWQ5XSL/"J1) M.DES=S_ZJVB^\WO[5EZ+\2+>^U>/3-7TZXTJYF_U7GC W--\+^,;;Q5=WR64$B0VK!5D?_ ):>X%HQC:9P1&C#@@#JQ_2O7*^-/B'#7CT:'[.S MRHLDV>+/!TB:WX+O)IXMN\QQ'$JCT9?XA]*G M^&YBNO#T$,$05Q.8Y"!C><@Y]^"/RKV]%"(J#^$ 4VP/,O"/QZAD=;'QG;&T MG!VFZB0[2?\ :7J/Y5Z_=WUK80&:\G2&(=7>W1?+0[2SL%!.,X'O4-Q8W-JJ&>)E610R MG&1C)'7\#7I?4:5[T?\);H/_05M?\ OX*/^$MT'_H*VO\ MW\%>)^1-OV>3)O(R%V'./I3GM9XX8YGB=8Y20CD<,1Q3^H4_YA?VI5_E1[5_ MPEN@_P#05M?^_@H_X2W0?^@K:_\ ?P5Y&?#NIBX> V_SI#Y[<\;/6J,-I<7# MQI#!(YD.$PI^;Z4E@:3VD4\RKK>'YGM7_"6Z#_T%;7_OX*/^$MT'_H*VO_?P M5XJEGTWOCKPOIS1K?:Y M90&5=Z!Y0-R^OTJK_P +,\&?]#)I_P#W_%?/'Q)_X_M)_P"O%?YUQ=>9*FHR M:/$KV[BM;7Q!82SS.(XXUF!+L3@ >Y-='7Q/HUY_9^NV%[G'V>YCES_NL M#_2OM:-M\2-_>4&IDK .HHHJ1A65H"F:WEU*0$/?2>:N>R=$'_?(%:M(B+&B MH@"JHP .PJD[)HEQO)/L+1114E&'XJ\*V7BO2_LEZ6C=#NBF0Q( -.-^A,K=3K-%\&V^A6&JV=G<'R+]V9%*?Z MD%<8Z\_I4G@WPM_PB.BO8?;/M>Z8R^9Y6S&0!C&3Z5KZ=J%OJNG0WUE)YD$Z M[D:K--W3=_ZL"2:T.'UWX?37.O-K7AS57TN\D_UH"Y5SZ_YS5OPMX%30]1EU M74KY]2U.48,[K@*/85UM%)-I60VDW=G)^,_ D/B^XLYFO/LCVV0Q$6_S%SG' M48[_ )T[Q;X'A\4:/96*W?V,V9&R01;_ )<8QC(]!^5:?B+Q)9^&K2&>^61A M-*(D6,9))K61@\:L.C $4+;RN'7S,J;08V\)OH<,OE1M;&W$FW.,C&<9_K6/ M:^!?LW@&;PU_:.[S-W^D^3C&3G[N[^M==10W>]^H)6M;H8ND^'O[+\(IH?VG MS=L31^=Y>,[B>=N??UKF;K19/ 7PMU.UB==3+,S$O%L #;5.0">F,]:] ILD M:2QLDBAT8896&012E=W\QQLK>1XQH?@[PYJ>CP7,?BQK5V7,D+2*FQNXP2*V M/AK)=VOBW5-,M-1DU/2H5XG8DJ&SQC)-==+\/O"L\QEDT6VW$Y.%QFMJPTVR MTNV%OIUM';1#HD:X%:*3[LBE3]#7$^&O 6H>&=<,EIK;- MI1=G:T,?W\@@ _3CGVKN:*S6AH]3S^]^'%[;:Q<7WA76WTM;HYEAV9'X?_J_ M&MOPCX,MO"T\OK@YFN9!@M[ \+>$QX:.H MYO/M0OIS,08MFS.>.ISUJ+3O%TE]XWO= :R\M;92PGW_ '_PQ73T=+]PW=NQ MS?A;P;;^%[O49X9_.-[)O *;?+7D[>ISUJ'PWX*_X1[Q'J6J_;_M'V[/[KR= MNSYL]=QS^0K+L/B?#/XR;1+RS%NGG&%9_,SENV1COTKHO%WB(^&- ?45MQ<% M75=A;;U..M&J2EWT#2[1AZW\/IIM=DUGPUJKZ5=S?ZT!_?5-4==HF=L-K.M:@^J:F1A977 C'M7844DV ME9#:3W.&UWP!>W7BIM=T'6&TZXE $HV;NV#CZ^E=K CQV\:2R>8ZH SD8W$# MDU)63XGUL^'?#MSJ:PB

AZ5G:7\.[EM:AU3Q3K#ZM-;G,,93"J1T)]?RKJ?#^JG7/#]GJ1B\D MW,>_RP<[><=:TJK6+L2TI*YR7C3P1_PE$MK=VEZ;*^M>$DVY!&<_A]:R)_A? MB44DVMAM)[G,>*O!O_"32:8WV[[- M]@DWX\G?OZ<=1CI[UTRC:H'H,4M%%]+!9!1112&%%%% !1110 4444 %%%% M!1110 4444 %%%% !1110 4444 %%%% !7SM\+_^2RZY_NS_ /HP5]$U\Z?# M*5(_C/K(D=5+B=4!.-Q\P' _*JB)GN=(%P,$C)XS797 MVKV>FW$,5[*(O.SM9ON_B>U6E MJD;%U*X*#:>O;(ZUHVNLV5]?R6EG,)GB7<[)RHYQC-%F]4#DDTFSQKX^?\C% MHW_7L_\ Z&*]7^(/_(%G^B?SKR;X]2(_B;241U9TMFWJ#RN6&,^E>L>.)(9; M>:TN+A+8/&A61U8C(/3Y035TVHSBWW,Z\7*E)+>QQ.A:M:6-J\5Y)*8V?LZF';NY'@1HXN,>51-[_A*;(W3$[R#&56;R3N M0[@<8\S)'&/O#Z5E:OK,6HVL*J\JM'.[^7MPA#-D$<\'VJM_9EG_ -!NT_[] M2_\ Q-']F6?_ $&[3_OU+_\ $THSP\7=2*E3QN":M_V99_]!NT_P"_4O\ \31_9EG_ -!NT_[] M2_\ Q-7&K0B[J1G.ABIJS@9M%:7]FV?_ $&[3_OU+_\ $T?V99_]!NT_[]2_ M_$UI]9H_S&7U/$?RG"_$G_C]TG_KQ7^=<77N?6L# MQ):ZY<_!S?K3O<7V]9I 4 *)S@$ >F*I3>-M-N_ABNCV'F3Z@;7RWB"\1A>6 M8GTP*$&?O' M_&N8\10>"3IZ7/A2ZNEU%F4Q6ZDG'Y\@_0U;TF_4A:Q7H=#\6K"_%UIMS+J# M^5.ZQBW4G9&XQEQ^=:FLZGJG@+P,$EU.34M0O)L033$DQJ5'KZ8_6LSQ\M\/ M OAJZU)7:6%D-PQ'(.!U]^*G\<3V_C#P3;ZGX?D-U_9LH,J*IRH*\\>W%3:R M:\]?30K=I^7^9%?>&O%&C^'3XB3Q)=R7L2">6%G)0KU(]\"M35_%=UJGPC.L MV)/!D>LW&OW-L8H-T$*.?GV]6 M<]22032^%Y/$?C[P\(I=8EL(+3]VTT7^LN&ZC[>Z6Q!999&R1 M@X(R>W-8PUN?QKK%[)>^)O[#TZ!]D$*2[&?W]ZN^ U6;XE>)HR?O(ZG'^\*Q M?#L?A_PYJ^HZ5XXL4$@EW0SRH2"OM['K4K6S?8IZ72[G2>!/$EW;^*KCPW?: MHNK0!=]M=A]V> <9^A_2L.+4/%6O>*-9T'2M3G0/.299)3B"-21A?3.1T]*Z M7P;>:'JOB:=O#_AR.&TME^3402N3Z ?_ %ZI?#L@_$3Q-C!(<_\ H9IK62OV M8MHNW=%;Q5J5\OB;3O#-WKCZ59QVRF:[5BOFM@]3]1^M=!X3T;5]-U??;^(U MU;2&3E)7WN#[>E4O&^J^')-?CTSQ;I$B1;,Q:@&(QGMQ_P#7^E"7'AR36I_%%Y9[OM>GW0E4+U9>=V/?O^%;>L>)QXE^$ M+&9A]LMIHHYQW)W##?C6U\-\-XH\5#@C[2H(_.N(^(?A^7POKDPM"4T[42'4 M#ID'.W\#TJEM&+[(E_%*2Z-_<=UXQ\57.@^%M(LM-E6&[OHD7SF_Y9+M&37, MZB]WX;M$U;2_&_\ :5W&P,ULT^X2>N!GD?6M+XB:5+)H7A_5T@-Q;VL2+<(! MGY< _EUJ.^U_X?KI\3Z1H<-_?3$!;14(()[$U?5M;W(Z)/:QL>*_'LT'@W3+ MC2F6&[U4 +(>D0Z,?SKF=0-UH-@NK:;XY^WWL9#2VYGW"3U '?\ &M3XAZ)) M_P (UHFHV^EB&"Q/[ZR0[A&K8./IQ@_6H+OQ!\/DTN.33-%AO;Z3 6T$9#9] MS_A2[M=Q]%?L:OBOQY:J H9>L9_BQ^-8OB3POKVB>!Y[NXUR M>]2=%^UV\Q+*N2#E<]P:M_$+2)5\'Z+J%IIOV)+-P\MHAW>2&P>OUI?%_CW2 M]?\ TMII?F37,D2M.NW @ (R6/UXJ7L[=_P&MU?M^)'J.O7VB_"?P_'ITS6 MIN\1R7*]8UR>A[?_ %JM:1H6I)=6MYX:\:B_.X&>*>7M%5=,^T?V3:?;?^/GR4\W_>QS^M6JS:L[%IW5PHHHI#"BBB@ MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *\<\:_ MU;Z\FU7PE=FVO'"=42]MR,RZ93;(O^ZXZ_0_G6T*KBK= M.W0PJ4(S=^O?J;>KW0LM/2;Q9J$6C:0>I/\/UZUK^'?@IK?B&]&J>/;^:/<PS7L M^@^&M(\,V0M=%L8K5,89E&6?_>;J:)U7)6Z=A4Z$8/FW?=[GDGA3X#R7$PU# MQQ>/-*YW-:Q2$DG_ &GZ_E7IGB&P@NY'\Y V$&,_6NCKGM6G1=1GBEE2,&%2 MN]L G)K&]S5D9F3. M,;5!/\Q74R1V,K;I9+)V]6=2>_\ B?S-1_8],$A?_B7[V&"V4R1C% &(8;(: M;<77V9 T)QL)[^F>]164E9AYA(& !G./Z5T/V;3C&(RUB45MP M7#^% M(+K2FF,8M<,,#82-Q)( ^G)[UTTEOI\L825K%T#;@K,A /7/UIGV+2_FXT_Y MN&Y3FD,Q+,:9>W"11VK*'X#''WL$X_('FM/^PK+_ )Y+^57(XK&+;Y4EDFWI MM=1CC%2^9!_S]6W_ '^% M3._L*R_P">2_E1_85E_P \E_*M'S(/^?JV_P"_ MPH\R#_GZMO\ O\* /$OC) EOXDL(HAA5LQ@?C7GE>C_&LJ?%-B597'V,M6)^]YJ3 M#Z;=M3+8$>W4445D4%%%% !1110 CHLB%)%#*PP589!JA!H.DVUQY]OIUM'+ MG.Y8AD?X5H44 (R*Z%74,K#!!&0:I6VBZ9:&0VUA;Q&48?;&/F'I]*O44 1) M:V\=N8$@B6$C!C" +^72JD&@:3;7'GV^FVTAD0$C\ M:MT4 16UK!9PB*UACAC'18U"C]*(K2W@E>2&WBCD?[[(@!;ZGO4M% %>\L+3 M4(O+OK:*X3L)$#8IMEIECIRE;&TAMP>OEH!FK5% !1110!%%:P0.[P01QM(< MN40 M]<=:+BUM[M0MU!%,JG($B!L'\:EHH :8D:+RRBF/&-A'&/3%4K?0]*M M+@SVVGVT4I.=ZQ@$?3TJ_10 C*KJ5=0RD8((R#5�M*M;G[1;Z=;1RYSO6( M CZ>E7Z* &O&DL925%=&&"K#(-4[?1=,M4D2WL+>-9?O@1##?6KU% $1M;KRL!GV'J?:@"]69K'B/1] 6,ZSJ-O9^8P5!*^"V3C MIUQ[]*\>\5_':YO9FT[P-9NS,=HNI$RS?[J?XUY9J+"YO'N?%&JSW=Y(?F2% MA*R_[S$[1].M4HBN?8<$\-U DUM*DT3C*21L&5AZ@BI*^3_#OBCQ)X/)NO#> MH_;].4YDAY90/]I#ROUKVCP;\:-!\2>7;:FPTJ_;C9,W[MS_ ++?T/-#BT!Z M112*P905((/(([TM2,**** "BBB@ HHHH *9+*L*Y?\ _73ZS]4/S0_\"_\ M030 S^WK;^Y+^0_QH_MZV_N2_D/\:Y/4]1CTRV$\J[@TBH!N"\DXZG@4PZQ9 MI&C2RA&<[=H^8Y]..M,5SK_[>MO[DOY#_&C^WK;^Y+^0_P :X\ZYIXQF?&3W M4]..?IR.>G-6+2^M[U6-M)O"'!XQ^/TXHL%SJ/[>MO[DOY#_ !H_MZV_N2_D M/\:Y^B@+G0?V];?W)?R'^-']O6W]R7\A_C7/T4!<\?=]#5>(Z<]PP:S4Q@J@*,&&YAD<^G0>QKI_\ A)- _P"@ MB?\ P%D_PJ)];\-N4W7OW&W*/LDG7_OFA".)- 48742 .@ M%K)_A1T!D/\ PC&G_P#/(?E1_P (QI__ #R'Y5/_ ,)+H/\ T$F_\!9/\*/^ M$ET'_H)-_P" LG^% $'_ C&G_\ /(?E1_PC&G_\\A^53_\ "2Z#_P!!)O\ MP%D_PH_X270?^@DW_@+)_A0!!_PC&G_\\A^5'_",:?\ \\A^53_\)+H/_02; M_P !9/\ "C_A)=!_Z"3?^ LG^% 'D7QBMDL_$&G00C"+9C _&O/:]$^,MS!= M^(M.GM)/-A:S&U]I7//H>:\[K5; %%%%, KUC]GJ\6#QI?VS=;FT 4>ZMFO) MZ[OX,7BV?Q3TXN<+*DD7U++@4GL!]4T445B4%%%% !1110 4444 %%%% !11 M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% M !1110 4444 %%%% &3XJU&?2/"6IZA9[1/;6SR1[AD9 XXKYUT'P[X@^*MS M/J^LZI)+!!)Y; MELX!VHO11@CM7O_C[_DGNN?\ 7E)_*O-/@)_R*NI?]?G_ M +(M5'83'?\ "K8DLOLEM9M;PD8?RYR&E_WFZGZ=*\:\4:6FB>*+[38T*+;R M; I;./QKZWZ#FN'\;>!_#VJ+'J-S8+]JFO+>.2:-R"ZO*JMGG'0GFJ3)/+OA MMX+'B*QN;]%E$UO/L62*,]JZS5O@^FJ19AA^Q77_ #V1LJ_^\O\ 48/K M7IFC:%I?AZU^QZ/:QVL;'<44DECZG)R:T>]*X'B7PUUWQ-X<^)UOX+O[\SVG MFO'+$QWJN(F<;">1T' KWNYU&"T91*6^;.-HSTKP+3/^3I5_Z^I/_29J]BU, MY9/]]_YBE(KH:G]MV?J__?-']MV?J_\ WS7-&6,2",R()",A-PR1]*$ECESY M4B/MZ[6!Q2"YTO\ ;=GZO_WS1_;=GZO_ -\US7G1&3RQ(GF?W-PS^5.W#=MR M-V,XSS0%SH_[;L_5_P#OFC^V[/U?_OFN<)P,G@>M (8 J00>A'>@+G1_VW9^ MK_\ ?-4[W5+:YN((XR^XEL97_9-9-4=0FDA\J6TEB6=6^0.1ACCICO0%R>\L MX;V,1S[\*X=2CE""#D'(YJJNAV*SB4I(S@Y&^5F&?7!/O50:EXA;.V.R.#@X MC/'ZTV35=>B ,JV* G +)C)_$T 6&\.6#2HW[W:JE2GFM\PXP#ST&WITJW8Z M=:Z;&R6:%%8Y(+$_SK.&I^(#G$=D=O7]V>/UI(]5U^5=T2V,BYQE$R/T- C= MHK!_M;7O,$96P\P]$V<_EF@ZMKP#$K887[WR?=^O/% &]16$-3\0-G:EB<=< M1GC]:1-6UZ0 QBP<$X!5,\^G6@#>HK$_M#Q%_P \;/\ []'_ !H_M#Q%_P \ M;/\ []'_ !H VZ*Q/[0\1?\ /&S_ ._1_P :/[0\1?\ /&S_ ._1_P : -NJ M]S9078'G(&QZUF?VAXB_YXV?_?H_XT?VAXB_YXV?_?H_XT 6O[$LO^>2_E1_ M8EE_SR7\JJ_VAXB_YXV?_?H_XT?VAXB_YXV?_?H_XT 6O[$LO^>2_E1_8EE_ MSR7\JJ_VAXB_YXV?_?H_XT?VAXB_YXV?_?H_XT 6O[$LO^>2_E1_8EE_SR7\ MJJ_VAXB_YXV?_?H_XT?VAXB_YXV?_?H_XT#+7]B67_/)?RH_L2R_YY+^55?[ M0\1?\\;/_OT?\:/[0\1?\\;/_OT?\: +7]B67_/)?RH_L2R_YY+^55?[0\1? M\\;/_OT?\:/[0\1?\\;/_OT?\: /+OC-"EOXBTZ*(85;,8'XUYU7H?QB>XEU MS3'O BS&S^8(,#K7GE:K804444P"MWP/=BQ\>Z)QEOINYK"J2WD:&Z MBD0X9'4@^G- 'W!145M.ES:13QG; MYC 9^1:]8\:6L]]X(UBULXFFGEM)$CC09+$C@"OFSPIX@L] MY]'\064D3^> M9!(^X>6V I# <_PBM::BW:6QE5]LI"6 8/.!\O?'O[ M5@WNI63:/"D5Q%%$M[:M':EU+1*LREB2&.1CGVKDXECN+5;FUT^WGMVSMFCG M+*WXUGRLKR%HXQ$O]T$G'YUZ,,'"6S_(\B>85(:.*_$]+;6[2._D=+BTN)V4 M[)VF5(T3=PAY))]\5IC7M)_Z"-M_W]%>4V6U_P!U]C2=^H+.1_*F:IJFEZ$/ M^)O;0POC*P+*S2./8=A[GBIGA:<-W^1=/&UJGPQ_,@TF19?VHD>-@RMLXMR_YY M7?\ WP*/[7LO^>5W_P!\"DG8;U.1D\-WNH>)=4O-WV:..[66.0QMYC[8QPAS MC!/%,<^(H[:UN-]Y)=R6KEG,)S&QF0;<8_NY.*['^U[+_GE=_P#? H_M>R_Y MY7?_ 'P*2=E;^MK ]3CIX]7^VV_VF;4I$AGN(D;83Y@P=F[ Y!Z9Z4V*ZU^T MMH[AY+R**$PQF)HL($,"EF.1V?/?@\5V?]KV7_/*[_[X%(VJV#J5>"Z96&"" M@Y%%] ZG+^$KV]NDOY;NYGEOS:H\4G4UEZI;LUO87=M% M/=3"U(6%[62:*9MV2-R?<;(ZFNTLYM%T\,+&PFMPW+>7$!FITU/3XEVQV]T@ MSG C YIW5[H5F<]H6J?V8VJIJ5I?0N;J65W_WP*0ZK8DC,-V<*)]J.%Z[Q\HP>N35'4-&UE[C442"X:&^=VG*JW)C)(Q M_O C'TKT+^U[+_GE=_\ ? H_M>R_YY7?_? I)V5A]3C;-Y(;?5["]M=45[N* M$1M#:2-T@0'#8V@@@\$CTJ+2Q<6VEW"1VY417%M]GN1;26[3-OPP*/SD#.2. M.37;_P!KV7_/*[_[X%-;4]/3$&@?+ *2(CD'8"2?Q.,>U6-6\7:7I%G)K>6V;20[=O/V=LL/4 M#W]#C%9O_"W/#O\ S[:A_P!\"C_A;GAW_GVU#_O@4:AH=M"YD@C=E*EE#%6& M",CI3ZX;_A;GAW_GVU#_ +X%'_"W/#O_ #[:A_WP*!'?]:\TKOOBMJ]MKM[H^H62R M)#+:':)!AN"*XS3-)O\ 6KY+/2K26ZN'/"1KDUHMAE2BO6K+X;^'_!EFFJ?$ MK44\TC='ID#99CZ'')_#BIS8_#SXE?NM(QX9U@?+%$X"I*!TX'!_#FE<#QZC MI71>*O NN^$+C9JUHWD,<1W,8W1O^/;Z5SM4!]C>!KH7O@'0YPVXM8Q!C_M! M0#^H-;U<'\%KK[5\+--!;+Q-+&WMB1L?IBN\K%[E!1112 **** "BBB@ HHH MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ M HHHH **IOJ^FQN5>_M593@JTR@C]:3^VM+_ .@C:?\ ?]?\: +M%4O[:TO_ M *"-I_W_ %_QH_MK2_\ H(VG_?\ 7_&@"[15+^VM+_Z"-I_W_7_&C^VM+_Z" M-I_W_7_&@"[7-^*O 6@>,("NK62^?C"747RR+^/?Z'(K7_MK2_\ H(VG_?\ M7_&C^VM+_P"@C:?]_P!?\: /G[7_ (6^+/ LTM[X:G;4;#JRHH+8_P!N,\-] M:Q['QEIUP&35(GT^X3[P12R-Z\$Y4^V3^%?3/]M:7_T$;3_O^O\ C7(>)?!7 M@/Q3<+<:@]K#< Y,MM<)&S^Q['^=;TZTZ>S.>KAZ59>^CQ)->U?Q!??V?X,T MZ9G8X\[;ND(]<]$'Z^]=_P"$O@,GFC4/&MTUU,QW&UBYK:_MK2_^@C:?]_U M_P :Q+.]M(_&FI7CWEJ+>6VA1)//3#$9R.OO69H;_P#9]K_SQ7\J/[/M?^>* M_E4?]M:7_P!!&T_[_K_C1_;6E_\ 01M/^_Z_XTADG]GVO_/%?RH_L^U_YXK^ M51_VUI?_ $$;3_O^O^-']M:7_P!!&T_[_K_C0!+_ &?:_P#/%?RH^P6O_/%? MRJ+^VM+_ .@C:?\ ?]?\:/[:TO\ Z"-I_P!_U_QH E^P6O\ SQ7\J/L%K_SQ M7\JB_MK2_P#H(VG_ '_7_&C^VM+_ .@C:?\ ?]?\: )?L%K_ ,\5_*C[!:_\ M\5_*HO[:TO\ Z"-I_P!_U_QH_MK2_P#H(VG_ '_7_&@"7[!:_P#/%?RI#8VB M@DPH /:H_P"VM+_Z"-I_W_7_ !JO?ZUIGV&7&HVN=I_Y;K_C0!@ZCXW\*:5J M$UE=EEFA;:X$>0#5;_A8_@W^^_\ WZKRCQN<^--2(.09CS6#D5JHHR?PIIP9&2Y$ M:NX4C7S@Y_+/XUC>;X:[:Q=?^ /\ ]G1YOAK_ *#%U_X _P#V= 6-8>%+ M)50FX\PDG**RY?YL8'H>]51HFFM<77F.R)%)M159>0%+=3],?C5/S?#7_08N MO_ '_P"SH\[PU_T&+K_P!_\ LZ L:Z>'=,7".\;G=@-OQ_ 3SSZXI+?PK8W- MT8XI68("7PRC/RAN#VZXYS63YOAK_H,77_@#_P#9U)#>^'[9RT&N7B$C!Q8] M?_'Z LRA<6L45S+&$(".5 8<\'O3/)C_ +HJ^UQX<=RSZU=LS'))LLDG_OND M\[PU_P!!BZ_\ ?\ [.A/0&M2CY,?]T4>3'_=%7O.\-?]!BZ_\ ?_ +.CSO#7 M_08NO_ '_P"SIW0K,H^3'_=%'DQ_W15[SO#7_08NO_ '_P"SH\[PU_T&+K_P M!_\ LZ+H+,S?&JA=/T 8'V5_P#T(5UOP@O)].\&^,+VS?R[F"VWQR E2%X MKEO';6K6.@FQG>>'[-)AWCV$_,.V374?"2UGO? _C*VM(FEFEMBJ(O5B5X%2 M]C5$/ANU\+)I=OXJ\<7UQKFK7K,8--!+NQ5BHW#J>G?C!Z5/!\,O[1U"Z\3> M,98_#.C22&5+7($FWLH[#\!6?X>\9Z+X \-QK:Z#Y_BL[Q<2W:%1;_,=HP>< MXQP,?6NAEOO#UO86OB;XCZS)KVI3QB:VTF+B.'/0%>PKPP5[?\/[*Z@^$OCB[N+*6UAO()I(!( MNWBE%/\\UZW7@W[.5U_IVN6 MA;CRXI%'J2&.$7;C);\Z\FAT+QW\5KI+S6[E[33"=R&4%8P/]A._UII"N=AXP^/- MG:,]EX0@^WW!.T7+@B,'_9'5OY5YU!XO\?6>LOK U&26ZQNEM#(K$)U :+.0 M.?3BO5++X1Z!8:))9VKW$=Y*,'40W[X?[O8#V%>2>&_A[?ZQXRDL]\UM8P7, MB&[)VN0K$ KGJ>!5JPCUCP;\=-(UGR[3Q&@TJ\/'FDYA<_7^'\:]4BECGB66 M%UDC895E.01[&O*M<^$&@ZOIL:1M+;W\:;?MH.6E/K(/XOKUK@U/C[X17&^) MS=Z2&YZO P]Q_ :FU]AW/I.DWK_>'YUP_A+Q\GC?PI+J$%J]I)#-]GF0MD;M M@;(/IS7B=U=W1OIPL\Q/FMP&/J:%&XG*Q]2;U_O#\Z-Z_P!X?G7RL;N[4X:> M8'T+$4GVRY_Y^)?^^S5U:T?B+3W,@DMID+NSAMP;:>Q ]>U7T(ZG,; MF_O-^=&YO[Q_.NC;Q)9>2%CLI/,#AMS,""03\V/4UA7EP+JZ,P4KN50<]R% M)_$@G\:!$.YO[Q_.C/YT;F_O'\Z2B@!=S?WC^=&YO[Q_. MDHH 7/YT;F_O'\Z2B@!=S?WC^=&YO[Q_.DHH 7 M/YT;F_O'\Z2B@!=S?WC^=&YO[Q_.DHH 7/YU'<,WV=_F/0]Z?3)5WQ,OJ* .DUN6&'QU))=+NA69 M2XQG(J:/5-/^2+4;A+H^87:=(2,87CMDCM6/=>*FN[@S7?ANPFF8#?(9I5W' MUP&Q47_"0Q?]"KI__@1-_P#%5/0KJ:5UJ,0N;*6"Z5DB=2(UB(,*X4,"2.>_ MK3OM.E74TES?R[Y/-/RE&RR[UQT''R[JR_\ A(8O^A5T_P#\")O_ (JC_A(8 MO^A5T_\ \")O_BJ -%9=$EV>=$J#:-^Q#SE3D?GBI1I^BW&AW5S!' MQ@J$8 M8V\#!&>A_G63_P )#%_T*NG_ /@1-_\ %4?\)#%_T*NG_P#@1-_\50]06C+T M*>'4M87,;"YV_O 5) )4C^8!_P"!^U-U)M'GLV2"*(2!-R&.,KALIQ^6ZJ?_ M D,7_0JZ?\ ^!$W_P 51_PD,7_0JZ?_ .!$W_Q5&X%^;^P9D)=265&*X0C+ M9&!TZ8HE30(]7B-JD9M2C*Q>,\<\9'KCO5#_ (2&+_H5=/\ _ B;_P"*H_X2 M&+_H5=/_ / B;_XJ@#3\GPV,\)D>D;8V\\=/O?=YZ4V7^P9FP$5F]8WV>/\ NC\JO_\ "0Q?]"KI_P#X$3?_ !5'_"0Q M?]"KI_\ X$3?_%4+0&4/L\?]T?E1]GC_ +H_*K__ D,7_0JZ?\ ^!$W_P 5 M1_PD,7_0JZ?_ .!$W_Q5%Q6*'V>/^Z/RH^SQ_P!T?E5__A(8O^A5T_\ \")O M_BJ/^$AB_P"A5T__ ,")O_BJ+A8H?9X_[H_*C[/'_='Y5?\ ^$AB_P"A5T__ M ,")O_BJ/^$AB_Z%73__ (F_P#BJ+A8SO&B!-)\/A1@?9Y?_0EK%T/Q!JGA MO4%O-&O)+68==IX8>A'<5O>.KD7FF^'YELX[,&"4>3$S,H^9>[$FN/H-$>NP M>-?"/Q#@2R\>V*:;J6-L>IP#"D^Y[?CQ[U+]@^'WPU_TF\N_^$HU?[T$2D,B M#^$GD@?C^5>.CD@$X&>I[5KZYX;O= 2V>^>$BZ7S(?+?=O3 .[ZJ:=_R"[3_ *XK_*KZ$LLUY-9Q2?\ "UHG\3ZRHN?M M3_8["U/RG@[=WK\O//>O6J\>\-2:='\5)DT'3IM1=KF476HW'2'KD*3Z'C'I M0@/8#7/>/?\ DGNN_P#7E)_Z":Z&N>\>_P#)/==_Z\I/_030!Q'P3)7X>:N1 MU&I?^T5KD+*ZBL?$?VB?=Y<4M@'KXC@_\ 6?_ .(HT#4FOM5\,7NH3W)N MM50S.7*_8U.,]L[Z@^U^%_\ G\U7_P E_\ BZ3R/#O_ $,5O_X"S?\ Q%'V M?P[_ -#%;_\ @+/_ /$4 +]K\+_\_FJ_^ 2__%T?:_"__/YJO_@$O_Q=)]G\ M._\ 0Q6__@+/_P#$4?9_#O\ T,5O_P" L_\ \10 OVOPO_S^:K_X!+_\71]K M\+_\_FJ_^ 2__%TGV?P[_P!#%;_^ L__ ,11]G\._P#0Q6__ ("S_P#Q% "_ M:_"__/YJO_@$O_Q='VOPO_S^:K_X!+_\72?9_#O_ $,5O_X"S_\ Q%'V?P[_ M -#%;_\ @+/_ /$4 +]K\+_\_FJ_^ 2__%T?:_"__/YJO_@$O_Q=)]G\._\ M0Q6__@+/_P#$4?9_#O\ T,5O_P" L_\ \10 OVOPO_S^:K_X!+_\71]K\+_\ M_FJ_^ 2__%TGV?P[_P!#%;_^ L__ ,11]G\._P#0Q6__ ("S_P#Q% "_:_"_ M_/YJO_@$O_Q='VOPO_S^:K_X!+_\72?9_#O_ $,5O_X"S_\ Q%'V?P[_ -#% M;_\ @+/_ /$4 +]K\+_\_FJ_^ 2__%T?:_"__/YJO_@$O_Q=)]G\._\ 0Q6_ M_@+/_P#$4?9_#O\ T,5O_P" L_\ \10 OVOPO_S^:K_X!+_\71]K\+_\_FJ_ M^ 2__%TGV?P[_P!#%;_^ L__ ,11]G\._P#0Q6__ ("S_P#Q% "_:_"__/YJ MO_@$O_Q='VOPO_S^:K_X!+_\72?9_#O_ $,5O_X"S_\ Q%'V?P[_ -#%;_\ M@+/_ /$4 +]K\+_\_FJ_^ 2__%T?:_"__/YJO_@$O_Q=)]G\._\ 0Q6__@+/ M_P#$4?9_#O\ T,5O_P" L_\ \10 OVOPO_S^:K_X!+_\71]K\+_\_FJ_^ 2_ M_%TGV?P[_P!#%;_^ L__ ,11]G\._P#0Q6__ ("S_P#Q% "_:_"__/YJO_@$ MO_Q='VOPO_S^:K_X!+_\72?9_#O_ $,5O_X"S_\ Q%'V?P[_ -#%;_\ @+/_ M /$4 +]K\+_\_FJ_^ *__%T?:_"__/YJO_@"O_Q=)]G\._\ 0Q6__@+/_P#$ M4?9_#O\ T,5O_P" L_\ \10 OVOPO_S^:K_X K_\71]K\+_\_FJ_^ *__%TG MV?P[_P!#%;_^ L__ ,11]G\._P#0Q6__ ("S_P#Q% "_:_"__/YJO_@"O_Q= M'VOPO_S^:K_X K_\72?9_#O_ $,5O_X"S_\ Q%'V?P[_ -#%;_\ @+/_ /$4 M +]K\+_\_FJ_^ *__%T?:_"__/YJO_@"O_Q=)]G\._\ 0Q6__@+/_P#$4?9_ M#O\ T,5O_P" L_\ \10 OVOPO_S^:K_X K_\71]K\+_\_FJ_^ *__%TGV?P[ M_P!#%;_^ L__ ,11]G\._P#0Q6__ ("S_P#Q% "_:_"__/YJO_@"O_Q='VOP MO_S^:K_X K_\72?9_#O_ $,5O_X"S_\ Q%'V?P[_ -#%;_\ @+/_ /$4 +]K M\+_\_FJ_^ *__%T?:_"__/YJO_@"O_Q=)]G\._\ 0Q6__@+/_P#$4?9_#O\ MT,5O_P" L_\ \10 OVOPO_S^:K_X K_\71]K\+_\_FJ_^ *__%TGV?P[_P!# M%;_^ L__ ,11]G\._P#0Q6__ ("S_P#Q% "_:_"__/YJO_@"O_Q='VOPO_S^ M:K_X K_\72?9_#O_ $,5O_X"S_\ Q%'V?P[_ -#%;_\ @+/_ /$4 +]K\+_\ M_FJ_^ *__%T?:_"__/YJO_@"O_Q=)]G\._\ 0Q6__@+/_P#$4?9_#O\ T,5O M_P" L_\ \10!2\=R6'WT^29X/)FPT\81OO+V!-<;D8SGBO39X+&3Q+X MAMYX[ZU>]"LWEL%<&:/((8 _I6YIO@2S3XY7*/J&ERVT4CW(LPX)()/[O;C& MX=Q2O8T1XNK ."0&P02I[UL:UXHN==L[:WO8;51:$B%XD*M&A 'E]?NC&>>< MD\\UUGBRRM8?A78W$5O$DIUB[1I%0 [0_ SZ5V7A[2[ ZIX1W6=GF30KB5S- M&-A<,,,_T]?2AO0.IX0&!Z$'Z&DW+G&1GTS7M7BJTAOO M[+>QZ!J5Q!=0^7 M)X? +0(7 ;>.O(X'7DUJWUM9ZC;W>GZ39Z!?Z2+1O)TZ$>3J,1"_>P^#D>]' M,!XGX=NVL/$VFW2'#1W49!_X%C^M?:=?$VC0-=:Y80IR9+B,?^/"OMA5"*%7 MH!@5,QH6BBBH&%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 M >%?M'_ZS0?]V;_V6FKXAOKF$7&FZG+)9D (T4F0O'0^A]J]?\2>%-'\66'V M76[-)U7.Q^CQGU5AR*\3\1?!SQ#X4N)-2\&7#_ (166VA: M-$2Z6+68GTR^B;_ %Z*0N?=>J_4<>U==)XCU)+4 MW$VME;7;N\\S_*0?3UKIE3IUI&[]=4U&017%K)'&DLG^M8J0 !WYKF[KQ9)=W7V+PM9 MR7ETYP)WCW$D_P!U.GXG-==X8^!^J:UC,>GT%%2M2A M#D@OF%+#5IU/:U96\B?X+QK)\.-75P"#J7_M%:XVSTB+4_$J6/$8FN"A;'09 M.:^@)- TSPYX>%CHEG':0;LE8QRYQC+'J3[FO!I++4[?5))X+2Z22.8LC+$W M!#<'I7%!J]ST9WL;-CX7\-ZM>74%M)23RXEQ M;/MVEF)(7^ K:./3H89&CN98W-T6C9PC+MX"KSQNQ^%9<M7!K'B;&:4/O+++:!@V\@MD%>>0#[4=@[D,W@C[& M\GV^[MX0DWE1A@G!'7N<5:O/ UM;W\X@GCGMU$P &0T;(A;!]>G:H MFU?Q*ZS"2WD218W4 _NRR; MQGUX]*4:IXE#2L(KC,K%G_T4&8-&8(;E))0JET*[&^;/13R,8YSZBJP\.R,/W:HQVAR M,XP""<_@!6OK5U>ZGA+?1Y((\+N/V15=R,\DJH Z]L9JJ9=<-NL/V28*J;,B MUP2,$8)QD\$T*]ANURJ/"]R8]RQQY#%2I8 @CJ?I[U%-H$MO:M/<1K&JNJ[2 M1DY)&?I\IYK3BO/$$3%D@GR2>?LWJGF13^%)(5RK1/\@K MZ7FO1;/+LY$"YP%LP!DD'/W>ORCFG?VAXB\WS/L\^[&,_9>V,8Z>] S%O-&D ML&5;N$1LPSMR,CZCM5;[-%_=%;=X=:OX8XKFTG9(R2H6WVX)^@JG_9E__P ^ M-S_WY;_"A>8>A0^S1?W11]FB_NBK_P#9E_\ \^-S_P!^6_PH_LR__P"?&Y_[ M\M_A3$4/LT7]T4?9HO[HJ_\ V9?_ //C<_\ ?EO\*/[,O_\ GQN?^_+?X4 4 M/LT7]T4?9HO[HJ__ &9?_P#/C<_]^6_PH_LR_P#^?&Y_[\M_A0!0^S1?W11] MFB_NBK_]F7__ #XW/_?EO\*/[,O_ /GQN?\ ORW^% %#[-%_=%'V:+^Z*O\ M]F7_ /SXW/\ WY;_ H_LR__ .?&Y_[\M_A0!0^S1?W11]FB_NBK_P#9E_\ M\^-S_P!^6_PH_LR__P"?&Y_[\M_A0!0^S1?W11]FB_NBK_\ 9E__ ,^-S_WY M;_"C^S+_ /Y\;G_ORW^% %#[-%_=%'V:+^Z*O_V9?_\ /C<_]^6_PH_LR_\ M^?&Y_P"_+?X4 4/LT7]T4?9HO[HJ_P#V9?\ _/C<_P#?EO\ "C^S+_\ Y\;G M_ORW^% %#[-%_=%'V:+^Z*O_ -EW_P#SXW/_ 'Y;_"C^R]0_Y\;G_ORW^%+0 M"A]FB_NBC[-%_=%7_P"R]0_Y\;G_ +\M_A1_9>H?\^-S_P!^6_PHT H?9HO[ MHH^S1?W15_\ LO4/^?&Y_P"_+?X4?V7J'_/C<_\ ?EO\*- *'V:+^Z*/LT7] MT5?_ ++U#_GQN?\ ORW^%']EZA_SXW/_ 'Y;_"C0"A]FB_NBC[-%_=%7_P"R M]0_Y\;G_ +\M_A1_9>H?\^-S_P!^6_PHT H?9HO[HH^S1?W15_\ LO4/^?&Y M_P"_+?X4?V7J'_/C<_\ ?EO\*- *'V:+^Z*/LT7]T5?_ ++U#_GQN?\ ORW^ M%']EZA_SXW/_ 'Y;_"C0"A]FB_NBC[-%_=%7_P"R]0_Y\;G_ +\M_A1_9>H? M\^-S_P!^6_PHT CUN_;1(_!^I6T:O)9R2SHC=&*2(P!_*LK2_$NH_P#"PU\0 M6EM')?S7+3"$MA"S'IGTJ]XYAE@T/PZD\;QOLN?E=2#]]*XVD:K8](T#Q!X@ MTG3;F"ZT73M5TR\G-T+:\D&V-VYR.XZCBIX?$_BV;QF-<;2;.4PVGV6*TWA8 M8XFSP/7H:\OHHL,]-O/$>O:EHUSINC>&]+TA;LJ9I+,@.X4[AUZOX=TF'5!"8I-74CS<8P3CIG%>3T4K =3\,[07?Q*T.(KN1;D,P]@#_] M:OKROF'X%6HN/B;%(ZY6"UD?/HW ']:^GJF6XT%%%%0,**** "BBB@ HHHH M**** "BBB@ HHHH **** "BBB@ HHHH **** .7\5_#SP]XPA;^T[,)7V_P"SM=?VSY=WK<9TE6W*40^:WJ-IX!]\GZ5[Q13NT!A>&O!F MA>$K41:-8I&^,-._S2/]6_H,"MVBBD!C>++=KGPO?"-RCK"S*RG!! [5S6C^ M&M3N-#L)FU6[)DM8G),[DDE ?6NNU_\ Y%V__P"O=_Y4WP[_ ,BOI7_7G#_Z M *?074Y__A%-2_Z"EU_W_;_&C_A%-2_Z"EU_W_;_ !KLJ*0SC?\ A%-2_P"@ MI=?]_P!O\:/^$4U+_H*77_?]O\:[*B@#C?\ A%-2_P"@I=?]_P!O\:/^$4U+ M_H*77_?]O\:[*B@#C?\ A%-2_P"@I=?]_P!O\:/^$4U+_H*77_?]O\:[*B@# MC?\ A%-2_P"@I=?]_P!O\:/^$4U+_H*77_?]O\:[*B@#C?\ A%-2_P"@I=?] M_P!O\:/^$4U+_H*77_?]O\:[*B@#C?\ A%-2_P"@I=?]_P!O\:/^$4U+_H*7 M7_?]O\:[*B@#C?\ A%-2_P"@I=?]_P!O\:/^$4U+_H*77_?]O\:[*B@#C?\ MA%-2_P"@I=?]_P!O\:QK7P]JC^,M1M?[6O"L=M"P'VA\ G/;->EUSMA_R4+5 MO^O2#^;4Q&?_ ,(IJ7_04NO^_P"W^-'_ BFI?\ 04NO^_[?XUV5%(9QO_"* M:E_T%+K_ +_M_C1_PBFI?]!2Z_[_ +?XUV5% '&_\(IJ7_04NO\ O^W^-'_" M*:E_T%+K_O\ M_C7944 <;_PBFI?]!2Z_P"_[?XT?\(IJ7_04NO^_P"W^-=E M10!QO_"*:E_T%+K_ +_M_C1_PBFI?]!2Z_[_ +?XUV5% '&_\(IJ7_04NO\ MO^W^-'_"*:E_T%+K_O\ M_C7944 <;_PBFI?]!2Z_P"_[?XT?\(IJ7_04NO^ M_P"W^-=E10!QO_"*:E_T%+K_ +_M_C1_PBFI?]!2Z_[_ +?XUV5% 'A'Q4L- M9T;2;:2#6;Z,M=[,IC%N?Q8U]'@:,989.VI\SF%> M4,2XWTLAGE>+]S*-5U8L@!8"][4' MZ\=<-QU%7/\ A+=2\O8!;A=JJ (^F,X/UY-46U>Y=XG81EX93*K;>YQG\.!7 M6L/KK%'$\2[:29,]AXR2,.=8U,YE:+;]NDR"O7JW2D%GXP^8G6=34(H8DWL@ MZC/3.:G;Q5J,F1-Y,JG&Y7CX)'0GFD?Q3J,A+2"!GQ@.8^0/3K2^KO\ E0_K M2Z2956W\8M(J+JNJY<$KF^<9''JW'4=?6J3ZAXB1V1]>U,,I((^V2<'_ +ZK M=T_Q3-;7,LEU"DPD39@+TX4?R0?2L.5Q),[JNT,Q(7.<<]*N.'C?WHDSQ,K7 MC)C?[3\0?]!_4_\ P,D_^*H_M/Q!_P!!_4__ ,D_P#BJ2BM/J]+L9?6JO<7 M^T_$'_0?U/\ \#)/_BJ/[3\0?]!_4_\ P,D_^*I**/J]+L'UJKW%_M/Q!_T' M]3_\#)/_ (JC^T_$'_0?U/\ \#)/_BJ2BCZO2[!]:J]Q?[3\0?\ 0?U/_P # M)/\ XJC^T_$'_0?U/_P,D_\ BJ2BCZO2[!]:J]RWXHFNI_"WAR2^N9KJ7_2@ M9)I"[$;TXR>:Y>NH\3_\BIX;^MW_ .AI7+U\QB$HU9)=V?7863E0@WV04445 MB=(4444 >R_LZ6@?7-9NF7F*"-$/U+9_D*]_KQ[]G:S5/#.JWA&'DO/+!]5" M*?YDU[#64MQH****D84444 %%%% !1110 4444 %%%% !1110 4444 %%%% M!1110 4444 %%%% !1110!GZ]_R+U_\ ]>[_ ,J;X<_Y%;2O^O*'_P! %.U[ M_D7K_P#Z]W_E3?#G_(JZ5_UY0_\ H I]!=32HHHI#"BBB@ HHHH **** "BB MB@ HHHH **** "BBB@ KG;#_ )*%JW_7I!_-JZ*N(\0>)](\%>*I+[5YIF_M M&W5(XX8=VWRSR2<_[57"$IOEBKLBI.-./-)V1V]%>>_\+K\)_P#3]_WX'^-' M_"Z_"?\ T_?]^!_C6_U/$?R,Y_KN'_G1Z%17GO\ PNOPG_T_?]^!_C1_PNOP MG_T_?]^!_C1]3Q'\C#Z[A_YT>A45Y[_PNOPG_P!/W_?@?XT?\+K\)_\ 3]_W MX'^-'U/$?R,/KN'_ )T>A45Y[_PNOPG_ -/W_?@?XT?\+K\)_P#3]_WX'^-' MU/$?R,/KN'_G1Z%17GO_ NOPG_T_?\ ?@?XT?\ "Z_"?_3]_P!^!_C1]3Q' M\C#Z[A_YT>A45Y[_ ,+K\)_]/W_?@?XT?\+K\)_]/W_?@?XT?4\1_(P^NX?^ M='H5%>>_\+K\)_\ 3]_WX'^-'_"Z_"?_ $_?]^!_C1]3Q'\C#Z[A_P"='H5% M>>_\+K\)_P#3]_WX'^-'_"Z_"?\ T_?]^!_C1]3Q'\C#Z[A_YT8'QDU"]TJU MBD@MK2YBDO -MU LH!\L\C/2O)_^$JU';G^QM&QZ_P!GQ_X5Z%\2?%FF^+?" ML5SI/G>7#J01_.3:H?\ 0'T7_P M(_\ "MHZEX<2("&S8[&.!)$#NX(5B<_3CI44>JZ,1&EQ9*8\C?MA )'!//UK MJ]DNS.3VKO:Z,K_A*]0_Z ^B_P#@OC_PH/BO4!UT?11_W#X_\*VTU?15 7RR M&#*PD^S#;D#!.S./;]:4:EHEWJ.V6'$S5]F'MG:]T M8?\ PE>H?] ?1?\ P C_ ,*/^$KU#_H#Z+_X 1_X59\2?9CK#&R,9AV+M"(% MQQW XSWX]:R<5I&A&44]3.>(G&3CH7?^$KU#_H#Z+_X 1_X4?\)7J'_0'T7_ M , (_P#"J6*,57U>)/UJ?8N_\)7J'_0'T7_P C_PH_X2O4/^@/HO_@!'_A5+ M%&*/J\0^M3[%W_A*]0_Z ^B_^ $?^%'_ E>H?\ 0'T7_P (_\ "J6*,4?5 MXA]:GV+O_"5ZA_T!]%_\ (_\*/\ A*]0_P"@/HO_ ( 1_P"%4L48H^KQ#ZU/ ML:'BV]EU#POX;N)X+>WAU MS7P[LA8?#G0XE&-UG'*?JXW'^==+6+W*"BBBD 4444 %%%% !1110 4444 % M%%% !1110 4444 %%%% !1110 4444 %%%% !1110!0UW_D7[_\ Z]W_ )4S MPW_R*ND_]>4/_H I^N_\B_?_ /7N_P#(TSPW_P BKI/_ %Y0_P#H I]!=32H MHHI#"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ KPKXWG.I:3G^Y/_P"A M+7NM>$_&U@VH:20<_+./_'EKT,M_WF/S_(\W,_\ =9?+\S@+31+F[FBC1HU\ MR(S GQR)<.A20Y*A< '<6X].6-?3/VE_(^57LN77L]?&GZ9-IUQI<=_;R7 N!OD*%7"E>W;!H_X2*P_Z%>' M_P "6_PJCBC K!T$W=-G3'$-))I/Y%[_ (2*P_Z%>'_P);_"C_A(K#_H5X?_ M );_"J.!1@4O8?WG]X_K']U?'_P);_" MJ.!1@4>P_O/[P^L?W5]R+W_"16'_ $*\/_@2W^%'_"16'_0KP_\ @2W^%4<" MC H]A_>?WA]8_NK[D7O^$BL/^A7A_P# EO\ "C_A(K#_ *%>'_P);_"J.!1@ M4>P_O/[P^L?W5]R+W_"16'_0KP_^!+?X4?\ "16'_0KP_P#@2W^%4<"C H]A M_>?WA]8_NK[D7O\ A(K#_H5X?_ EO\*/^$BL/^A7A_\ EO\*HX%&!1[#^\_ MO#ZQ_=7W(T?%MW'>^$_#9]=A7S4(OR"BBBL3H"G1KNF1?[S ?K3:UO"=D-1\9:19'I/ M>1H?Q:@#[%TVT&GZ5:V:]+>%(Q^ JS0.**P*"BBB@ HHHH **** "BBB@ H MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@"AKG.@7W_7N_\ M(TSPYQX5TK/!^Q0_^@"I-7G:#3I2G4HW49_A-?,Z>/\ Q2L:JNMW( QQ^ ME=N%PD\2GRNUCAQ>-AA6N97N?4U%?+?_ L#Q7_T'+K\Q_A1_P + \5_]!RZ M_,?X5U_V35_F1Q?VS2_E?X'U)17RW_PL#Q7_ -!RZ_,?X4?\+ \5_P#0$_ M%O4YM,U6RCDTNSO4?SF1K@-E?F7(&"*Y'_A8'BO_ *#EU^8_PI?$&I7FK>&- M"NM2N'N)VDNE,C]2 R8K6CE\Z-6+D_N]#*OF4*U&2C'[_5&7_P )')_T+.F= M,_(M/334B>"3[0MI]E#A!C&WZ^O'TJ8^)]- M*D^1)YJ^PF%PI\Q<)\IDSR2<]-N,<>O6I8/ M$,/D0PWGG3HL,<3K(-XX<%L9/]T$9JG2?2_WB59=;;=D9A\3,.OAO2Q_P%_\ M:/\ A)C_ -"YI7_?+_XUJPZKHGV?;+;N)P@"2F$/M.,="W///Z4'6-%$FU;' M]P7R1Y0R5+,3SGCC;],4>S\G]X>U\U]QE?\ "3-C/_"-Z7C_ '7_ ,:#XE8= M?#>ECZJ_^-:_]KZ,(_+$#SUM9_>'M;)O3[C*_P"$F/\ T+FE?]\O_C1_PDQ_Z%O2 M_P#OE_\ &M#Q2; RVPTQXFB5",(@!Z]\=1Z9Y]:P*N%%2C>[^\B=>496LON1 M?_X28_\ 0MZ7_P!\O_C1_P ),?\ H6]+_P"^7_QJA15?5X]W]Y'UF79?<7_^ M$F/_ $+>E?\ ?+_XT?\ "3'_ *%S2O\ OE_\:H44?5UW?WA]9EV7W%__ (28 M_P#0N:5_WR_^-'_"3'_H7-*_[Y?_ !JA11]77=_>'UF79?<=OX,C7Q*\XD\. MZ8:/J=YI/A34KG3KA[>87$(WIUQF@ M>/\ Q5C_ )#=S^8_PKSJF%KSJ2]G.R7FSTZ>+P].G'VE.[?DCT__ (0"W_Z% MZS_\>_QH_P"$ M_^A>L__'O\:\Q_X3_Q5_T&[G\Q_A1_PG_BK_H-W/YC_"H^ MHXO_ )^?BR_[0P?_ #Z_!'IW_" 6_P#T+UG_ ./?XU7U#P1!::;<7"^';,F* M,L =_;\:\Y_X3_Q5_P!!NY_,?X4C>/O%+*5;6KD@\$';S^E'U'%_\_/Q8O[0 MP?\ SZ_!'I%CX'@NM.MKAO#UF#-$DAQO[J#Z^]3_ /"O[?\ Z%ZS_P#'O\:\ MP'C[Q2JA5UJY P ,_P :\P_X6!XJ_P"@Y=?F/\*/^%@>*O\ H.77YC_"CZCB_P#G MY^+#^T,'_P ^OP1Z?_PK^W_Z%ZS_ /'O\:/^%?V__0O6?_CW^->8?\+ \5?] M!RZ_,?X4?\+ \5?]!RZ_,?X4?4<7_P _/Q8?VA@_^?7X(]/_ .%?V_\ T+UG M_P"/?XTG_"O[?_H7K/\ \>_QKS'_ (6!XJ_Z#EU^8_PH_P"%@>*O^@Y<_F/\ M*/J.+_Y^?BP_M#!_\^OP0[XHVPLK;2K06D=H+>XO(Q'%G& T?//>O/:[/QKJ M5YJWAKP_=ZC.UQ.TEV&D8#)^9/2N,KRJD90FXR=VCVZ,HSIQE%63"BBBH-0K MM/A%9?;_ (HZ2A_Y9,T__? S7%UZE\ +'[3X^N+G'_'I:%O^^CMI/8#Z2HHH MK$H***\,\5_'2ZOYSIG@2SD=Y#M6Z>/+-_NI_C32N!Z_K/B;1?#RQG6M2M[/ MS3A!(_+>^.N/?I6A!<0W5ND]M*DT4@RDD;!E8>H(KY\TGX/Z]XE>34O&>J2V M\\PW*C'S)GRBN?25%> M=>#/C+H/B?R[:_8:7J#<>7,V$<_[+?TZUZ*"",@Y'J*D84444 %%%% !1110 M 4444 %%%% !7*^-_&\/@RQ@N)+1[KSIC%M5@-IVYS755Y#\ M3:-IT6HW$ZW$C1I#"TI(95SCMEN*FB\/SSJ\LY(R)XB M"VQ>O+\?+^HYZ53U;1[C1Y4CNF4NV/QJ5V_P $ M>M?\+ZM?^@+-_P!_11_POJU_Z LW_?T5XK16G]G8;^7\69_VGBOYOP1[5_PO MJU_Z LW_ ']%'_"^K7_H"S?]_17BM%']G8;^7\6']IXK^;\$>V0?%ZW\17T. MEII@I!X>8*/^)SH7_@UA_QITZ='#2E%:)V_456I6Q4(R>K3?Z& MNL?AN13(LT)9!N;>CJ,%UZC')P3C%02MX;BM4:%EFE7HK1N,_P"]ZU0_X1]O M^@SH7_@UA_QH_P"$?/\ T&="_P#!I#_C5*5+^?\ $AQK6_A_@9EP(AXSQ4=:__"/G_H,Z%_X-(?\ &C_A'S_T&="_\&D/^-;*M22^)&+P]9N_ M*9%%:_\ PCY_Z#.A?^#2'_&C_A'S_P!!G0O_ :0_P"-/V]+^9"^KUOY69%% M:_\ PCY_Z#.A?^#2'_&C_A'S_P!!G0O_ :0_P"-'MZ7\R#ZO6_E9D45K_\ M"/G_ *#.A?\ @TA_QH_X1\_]!G0O_!I#_C1[>E_,@^KUOY69%%:__"/G_H,Z M%_X-(?\ &C_A'S_T&="_\&D/^-'MZ7\R#ZO6_E9D45K_ /"/G_H,Z%_X-(?\ M:/\ A'S_ -!G0O\ P:0_XT>WI?S(/J];^5F116O_ ,(^?^@SH7_@TA_QH_X1 M\_\ 09T+_P &D/\ C1[>E_,@^KUOY69%7H?$UU::;#I[Z5I]]#;N[Q-06&0PXX%6?^$?/_ $&="_\ !I#_ (T?\(\?^@SH7_@TA_QK.I.C-6/_08 MT+_P:0_XT?\ "/'_ *#&A?\ @TA_QHM1_G_$+U_Y/P*O_"4R?]"UHO\ WY?_ M .+H_P"$ID_Z%K1?^_+_ /Q=6O\ A'C_ -!C0O\ P:0_XT?\(\?^@QH7_@TA M_P :+4?Y_P 0O7_D_ J_\)3)_P!"UHO_ 'Y?_P"+H_X2F3_H6M%_[\O_ /%U M:_X1X_\ 08T+_P &D/\ C1_PCQ_Z#&A?^#2'_&BU'^?\0O7_ )/P*O\ PE,G M_0M:+_WY?_XNC_A*9/\ H6M%_P"_+_\ Q=6O^$>/_08T+_P:0_XT?\(\?^@Q MH7_@TA_QHM1_G_$+U_Y/P*O_ E,G_0M:+_WY?\ ^+H_X2F3_H6M%_[\O_\ M%U:_X1X_]!C0O_!I#_C1_P (\?\ H,:%_P"#2'_&BU'^?\0O7_D_ J_\)3)_ MT+6B_P#?E_\ XNC_ (2F3_H6M%_[\O\ _%U:_P"$>/\ T&-"_P#!I#_C1_PC MQ_Z#&A?^#2'_ !HM1_G_ !"]?^3\"G<^)+J^T]M/72]/L8))%DD-M&P9B.@R M6/%5*U_^$>/_ $&="_\ !I#_ (T?\(^?^@SH7_@TA_QK:G.C!64OQ,*E.O4= MW$R**U_^$?/_ $&="_\ !I#_ (T?\(^?^@SH7_@TA_QK3V]+^9&?U>M_*S(H MK7_X1\_]!G0O_!I#_C1_PCY_Z#.A?^#2'_&CV]+^9!]7K?RLR**U_P#A'S_T M&="_\&D/^-'_ CY_P"@SH7_ (-(?\:/;TOYD'U>M_*S(HK7_P"$?/\ T&=" M_P#!I#_C1_PCY_Z#.A?^#2'_ !H]O2_F0?5ZW\K,BBM?_A'S_P!!G0O_ :0 M_P"-'_"/G_H,Z%_X-(?\:/;TOYD'U>M_*S(HK7_X1\_]!G0O_!I#_C1_PCY_ MZ#.A?^#2'_&CV]+^9!]7K?RLR**U_P#A'S_T&="_\&D/^-'_ CY_P"@SH7_ M (-(?\:/;TOYD'U>M_*RIXD_Y$WP]_UUN_\ T)*Y:NQ\86OV/PKX?B-Q;7'[ MRZ.^UG65/O)QN7C/M7'5\OB&G6DUW/L,*FJ$$^P4445@=(5[A^SE8YDUK4,< M#9!G_P >KP^OH[]GVQ-OX&NKO'%U=L1[[1M_I4RV!'JU%%%9%!7B>B:/8Z,4 M@T>U$)8@-)]Z1_JW7\.GM7ME<"9(=$\*_P!HVL4;W.Q3ESGDU<(N3LC.I)07 M,^AT/F^1'NO)8D); (^4'\S6=XC(&E;L2$;QGRSVP?TKR_4=5O-3F,U].7[@ M9PJ_05)X?^(SVVO66B)+]OCN9EA96.1&"<<-_3FNVIA'3AS.1Y]''*M4Y8Q= MBCKW@72=9+2VRC3KECG?$OR-_O(./RQ5OX0>(_$5C\0'\(ZE?M<6<*3!HW._ M8R?W6/('MTKM?%%C;VES$UN@3S 2P'2O/OA[_P G$:A_O7=<70]%'H=[\:-# ML;^>TFL[LO!(T;%0,$@XJ#_A>>@?\^=Y_P!\BO(-6M6OO'%W:(P5I[YXPQZ# M+D4K^$=6620K;E[>.4QF8,O(#["P7.2,X[=Q7OT\#AG3BY;M+J?.5I"DY..^ <59C\%:V\_XD?7\ M:W:WX'K?_"\] _Y\[S_OD4?\+ST#_GSO/^^17C]QX5U6+[2\5LTL-L<.^54G M@$X4G)QD9QFJU[H.IZ=8I=WEJ8H'*@-O4]1N&0#D9'3--8#"/;\Q/,<8NGX' MM/\ PO/0/^?.\_[Y%'_"\] _Y\[S_OD5YI9_#R\O)M)6.\A$>HQ&3S"#B$]E M;W/:LNW\*:I.87\C9;RRB,3%AQDX#;<[L9[XQ4K!8-NU_P ?Z[%/'XU*]OP^ M9Z__ ,+ST#_GSO/^^11_PO/0/^?.\_[Y%>31^#-2:WN;B0+'!"<(Y(S+\^S( M7.<9[D8JO<^%=6MX[B86K/;P,P,FY02 VTD+G)YQT'&::P.#>S_$'C\:MU^! M[#_PO/0/^?.\_P"^17'_ !$\7V7C#PO%=V$4L20ZCL82]23%FN.NO"NK65@; MNY@5%4\H)%9@ ,DD#.,>AP>>E5+/4O$6EVK1Z/*([:]G:/^X93C\L^YJV/$7C1E9A)&0@RW_$LM\J..2/+XZBA/$?C-V<++'F-=SY MTRW&T>_[OBNGVLGJX?C_ , Y51@M%-_=_P $@&MZB(GC^W3$. I)D.<#MGTJ MO/=SW14W,\DQ487>Y; _&M1=;\;M!'*DD+K(-RA=/MBQ&"<[0F<<'G%1?\)' MXT$;.9$"* 68Z7!@ ]/^6=)597T@OO\ ^ -T8VUF_N_X)EY'K1D>M:+^*/&$ M:LSSQ*%.UBVF6XP?0_N^M1_\)AXI_P"?VV_\%]M_\;J_;5/Y/Q_X!'L*2^W^ M'_!*61ZT9'K5W_A,/%/_ #^VW_@OMO\ XW1_PF'BG_G]MO\ P7VW_P ;H]K4 M_D_'_@"]C2_G_#_@F?(JR+M8\57^P0^U;'_"8>*?^?VV_P#!?;?_ !NC_A,/ M%/\ S^VW_@OMO_C=2YS>\/Q_X!<:=..U3\/^"8_V"'VH^P0^U;'_ F'BG_G M]MO_ 7VW_QNC_A,/%/_ #^VW_@OMO\ XW2O+_GW^/\ P!\L?^?GX?\ !,?[ M!#[4?8(?:MC_ (3#Q3_S^VW_ (+[;_XW1_PF'BG_ )_;;_P7VW_QNB\O^??X M_P# #EC_ ,_/P_X)C_8(?:C[!#[5L?\ "8>*?^?VV_\ !?;?_&Z/^$P\4_\ M/[;?^"^V_P#C=%Y?\^_Q_P" '+'_ )^?A_P3'^P0^U'V"'VK8_X3#Q3_ ,_M MM_X+[;_XW1_PF'BG_G]MO_!?;?\ QNB\O^??X_\ #EC_P _/P_X)C_8(?:C M[!#[5L?\)AXI_P"?VV_\%]M_\;H_X3#Q3_S^VW_@OMO_ (W1>7_/O\?^ '+' M_GY^'_!,?[!#[4?8(?:MC_A,/%/_ #^VW_@OMO\ XW1_PF'BG_G]MO\ P7VW M_P ;HO+_ )]_C_P Y8_\_/P_X)C_ &"'VH^P0^U;'_"8>*?^?VV_\%]M_P#& MZ/\ A,/%/_/[;?\ @OMO_C=%Y?\ /O\ '_@!RQ_Y^?A_P3'^P0^U'V"'VK8_ MX3#Q3_S^VW_@OMO_ (W1_P )AXI_Y_;;_P %]M_\;HO+_GW^/_ #EC_S\_#_ M ()C_8(?:C[!#[5L?\)AXI_Y_;;_ ,%]M_\ &Z/^$P\4_P#/[;?^"^V_^-T7 ME_S[_'_@!RQ_Y^?A_P $Q_L$/M1]@A]JV/\ A,/%/_/[;?\ @OMO_C='_"8> M*?\ G]MO_!?;?_&Z+R_Y]_C_ , .6/\ S\_#_@F/]@A]J/L$/M6Q_P )AXI_ MY_;;_P %]M_\;H_X3#Q3_P _MM_X+[;_ .-T7E_S[_'_ ( 7_/O\ M?^ '+'_GY^'_ 3'^P0^U'V"'VK8_P"$P\4_\_MM_P""^V_^-T?\)AXI_P"? MVV_\%]M_\;HO+_GW^/\ P Y8_P#/S\/^"8_V"'VH^P0^U;'_ F'BG_G]MO_ M 7VW_QNC_A,/%/_ #^VW_@OMO\ XW1>7\GX_P# #EC_ ,_/P_X)C_8(?:C[ M!#[5L?\ "8>*?^?VV_\ !?;?_&Z/^$P\4_\ /[;?^"^V_P#C=%Y?\^_Q_P" M'+'_ )^?A_P3'^P0^U'V"'VK8_X3#Q3_ ,_MM_X+[;_XW1_PF'BG_G]MO_!? M;?\ QNB\O^??X_\ #EC_P _/P_X)C_8(?:C[!#[5L?\)AXI_P"?VV_\%]M_ M\;H_X3#Q3_S^VW_@OMO_ (W1>7_/O\?^ '+'_GY^'_!,?[!#[4?8(?:MC_A, M/%/_ #^VW_@OMO\ XW1_PF'BG_G]MO\ P7VW_P ;HO+_ )]_C_P Y8_\_/P_ MX)'KL2P^"?#ZIT\Z[_\ 0DKF:Z[Q5J%[J?A'P_<:G(DD_FW2[DB2,8#)CA ! M^EAUX_I>I9\J[TNZ66%R )(6RK>U:4YN#NC.I3C4BXR.'\412VNA7\(;8 MQZOIZR)G[L@Y(Z_E4>K1KIVBI#IQ2SC4A%$:[0H]!BMZ]?VK3L+C> M^IF>+I4>Y@574LH.X ].:\Y^'O\ R<1J'^]=UI:YXCTO0-W]HW.^<\BWB.9& M]SZ#W-97PACU#6?BU<>(183)9R+<-)+M.Q&?D+FN?H=:.>U6[-AXZN[M4#F" M^>0*3C=AR<5JV/C3S-4A:[@CMX?WBN^YFVAY5D)P!R?EQ^-=UI_PETSQ/#-J M]UJ%W#+<74^Y(PNT;967C(]JM?\ "A]&_P"@M?\ Y)_A7OPQF%]G&,WJE;\# MYV>"Q?M)2@M&[].]T>>7'CR06UU:VT+[&DE,$@EVX5^NY<<_F*KS^,()[N[G M.D!6OD87.+EOG=OXAQP/:O2_^%#Z-_T%K_\ )/\ "C_A0^C?]!:__)/\*:Q6 M"7],3PF.;Z?@>/'F#R2:"QSW_3J>FP^.GABC9=.0W2HD+2 MF4X:-3D+MQP>V:](_P"%#Z-_T%K_ /)/\*/^%#Z-_P!!:_\ R3_"CZW@KW_S M#ZGCDK?Y'F\OCGS8&W:8GVED$9E\XXV"0N!MQUYQFFOXV>XN2TUDJQNDL;A9 M"<+)(KDCW&W'O7I7_"A]&_Z"U_\ DG^%'_"A]&_Z"U_^2?X4+%X)?TQO!XY[ M_IT.#\5^)=(U2QQ"9;F?.(PLSJD:[<992H^;(' R/>N>LM<%G:Q1_9!)+"&5 M)#(0-K')!&*]=_X4/HW_ $%K_P#)/\*HCX-Z&?$!TK^T=1WBV^T>9\F,;MN, M8HAC,)&/*F_Q%4P.,G+F:7X'F\?BB1 @>U5]N_<=Y^;=CK],4^Y\5_:%E'V% M4W*P7;*?EW=<\<^U>I_\*'T;_H+7_P"2?X4?\*'T;_H+7_Y)_A3^NX/^KB^H MXW?_ "/)[7Q']FL([8VI?8I3<9CP""#M&..M3MXMS/&\>GQHL>"(_,)!(?=S M[=J]1_X4/HW_ $%K_P#)/\*/^%#Z-_T%K_\ )/\ "F\;@V[_ .8OJ&-M:WY' MDU]XB6]L9;9K%5WD;&,A/EX '''M6)7NG_"A]&_Z"U_^2?X4?\*'T;_H+7_Y M)_A51S#"QT3_ #)EEN+G\27X'A=%>Z?\*'T;_H+7_P"2?X4?\*'T;_H+7_Y) M_A5?VEAN_P"!']EXKM^)X717M]U\#]%M;.:X;5-081(7*@)S@9]*CT[X)Z)J M.EVMZFIZ@BW,*2A6"$J& ..GO1_:6&[_ (!_9>*[?B>*45[I_P *'T;_ *"U M_P#DG^%'_"A]&_Z"U_\ DG^%']I8;O\ @']EXKM^)X717NG_ H?1O\ H+7_ M .2?X4?\*'T;_H+7_P"2?X4?VEAN_P" ?V7BNWXGA=%>Z?\ "A]&_P"@M?\ MY)_A1_PH?1O^@M?_ ))_A1_:6&[_ (!_9>*[?B>%T5[I_P *'T;_ *"U_P#D MG^%'_"A]&_Z"U_\ DG^%']I8;O\ @']EXKM^)X717NG_ H?1O\ H+7_ .2? MX4?\*'T;_H+7_P"2?X4?VEAN_P" ?V7BNWXGA=%>Z?\ "A]&_P"@M?\ Y)_A M1_PH?1O^@M?_ ))_A1_:6&[_ (!_9>*[?B>%T5[I_P *'T;_ *"U_P#DG^%' M_"A]&_Z"U_\ DG^%']I8;O\ @']EXKM^)X717NG_ H?1O\ H+7_ .2?X4?\ M*'T;_H+7_P"2?X4?VEAN_P" ?V7BNWXGA=%>Z?\ "A]&_P"@M?\ Y)_A5"#X M.:%/KMUI@U'40]M$DAD.S#!L\=/:C^TL-W_ /[+Q7;\3QJBO=/\ A0^C?]!: M_P#R3_"C_A0^C?\ 06O_ ,D_PH_M+#=_P#^R\5V_$\+HKW3_ (4/HW_06O\ M\D_PH_X4/HW_ $%K_P#)/\*/[2PW?\ _LO%=OQ/"Z*]T_P"%#Z-_T%K_ /)/ M\*/^%#Z-_P!!:_\ R3_"C^TL-W_ /[+Q7;\3PNBO=/\ A0^C?]!:_P#R3_"C M_A0^C?\ 06O_ ,D_PH_M+#=_P#^R\5V_$\+HKW3_ (4/HW_06O\ \D_PH_X4 M/HW_ $%K_P#)/\*/[2PW?\ _LO%=OQ/"Z*]T_P"%#Z-_T%K_ /)/\*/^%#Z- M_P!!:_\ R3_"C^TL-W_ /[+Q7;\3PNBO=/\ A0^C?]!:_P#R3_"C_A0^C?\ M06O_ ,D_PH_M+#=_P#^R\5V_$\+HKW3_ (4/HW_06O\ \D_PH_X4/HW_ $%K M_P#)/\*/[2PW?\ _LO%=OQ/"Z*]T_P"%#Z-_T%K_ /)/\*/^%#Z-_P!!:_\ MR3_"C^TL-W_ /[+Q7;\3PNBO=/\ A0^C?]!:_P#R3_"C_A0^C?\ 06O_ ,D_ MPH_M+#=_P#^R\5V_$\+HKW3_ (4/HW_06O\ \D_PILOP*T6*%Y#JM^0BEL ) MSC\*/[2PW?\ /[+Q7;\3PVBO:-(^#&AZOI%MJ$>I:A$MQ&'"-L)7/;I5S_A M0^C?]!:__)/\*/[2PW?\ _LO%=OQ/"Z*]T_X4/HW_06O_P D_P */^%#Z-_T M%K_\D_PH_M+#=_P#^R\5V_$\+HKW3_A0^C?]!:__ "3_ H_X4/HW_06O_R3 M_"C^TL-W_ /[+Q7;\3PNBO=/^%#Z-_T%K_\ )/\ "C_A0^C?]!:__)/\*/[2 MPW?\ _LO%=OQ/"Z*]T_X4/HW_06O_P D_P */^%#Z-_T%K_\D_PH_M+#=_P# M^R\5V_$\8\1_\B9H'_7:Z_\ 0DKE:^AV^$FB:X&T-K_4(AHTA(E&S]YYO/3' M;;3?^&=="_Z#.H_DG^%>!7J1G5E);-GTV'IRA1C&6Z1\]45]"_\ #.NA?]!G M4?R3_"C_ (9UT+_H,ZC^2?X5CS(WL> V-J;[4+>T7[T\JQC'N&>'?CC;>2]OX MLLY+:ZB',D"9#D=BIY4UBZK\0?%/Q!OCI?@[3Y8+&/%FZ!8K::19Q6L*C&(UY/U/4T[H M5CRSP?\ BTMG6^\8W!O[DG<;9&/E@_[3=6_2O3-5WZ'X5NSH-E&)+>!C!;Q MIA<@= !5/Q5K6IZ0MLUA:QF%YHTEGE;IN<+@+U)YZ]*H^(/%5WIVKW5M#/96 MJ6L"S!;K.ZZ)_A3D?3C/TI;ZAY&?\)]3U:]TJ\@U.W9(892\4C1E"S.S,XQ[ M$Y_&O0*X*[\=7 $D]L]E9PPVL5PMO_\ 94<;W1(">:<*.>2?7 [4 6Z\N77O$'_"Y##] MA;[.6^R_ZH[?(W9W[OUK8'BO58KFXTSS+6[N?M45M#>1Q%8PSYW KDY*@'@& MI&\3:G%_%J\RVSNK(5W!@BG.<$<9-;_ (9U.35-,>6XNHKB9)2C^7 T M)C(Q\I5N0:5M+COK8V:***0PHHHH ***Y+7-:US2+H7#M9BW>Z2&"R"EI9U) MP6#9X/?�M78'HKECQ_?ZAIW@ZZETF S3-B-L+N*H>"V*@^&U]J%]X,M_[4 M@,+0-Y,)*E2\:@ ''YC\*@N/%&I()]47[/\ V7#?&T:W,9\QE#;2^[/KVQ2' MQ/J:JNIK]G_LQK\V2V_EGS 2N_=G^\.F.G>J6J_KR_S)>C_ *_KH=I17+PW MGB%?%4.G2WEA<1;6FG6.W93''T7DMU)QV]:ZBETN/K8****0PHHHH **** " MBBB@ HHHH **** "BBL[6&U,0Q+I+6\19_WL\XW"),==N1G\Q0!HUY;X>UOQ M#/\ %B[CN[!DAFS%*#$0J(@)4AO\YS6Y8^*=4U*WL[2W>V6[N;N:%;ORB8VC MC )<+GG.<8SV/--NO%FL1>%[R[M[*![RSD>&XF)Q&NWN%ZG.>GZU2%NSN**Y MCQ3XGGT?2DNAM)3/903-C=)&K''3)%*VEPOL344 M44AA1110 4444 %%%% !1110 4444 %%%% !1110 4444 %8?C*^O]-\*7MS MI4'GW"I@+MW8!ZG'?%9_B36=;T8RWJM9I:I*D<%JREI+HDX."#\I]L&H;_Q- MJD3:CJ%M]G&GZ;G^8F,^%E]J5YX2$>I6YB6 MVD\J!V3:73 /3V)ZUVM3;LAC!R$&2QY)]N@-&X+1'3T444AA1110 4444 M%!R <#)]*R]:?5%2(:7);6Z9)GN;@;A$H']W(S^=<[I_BC5M8AT^TM#;P7=R MTQ:Z:(M&T<9 W*N1]XD=^QIK4'H8G@C7/$%W\1-2BO[%HX;DDSDQ%1%L!"8/ M?T_&O4:Y"VUO6-3T=+FW>RL!"TBWMU,I959.F%R.#ZYXJO<>+M9_X1/3]3@L M(D,Y433.WRC+8^5>ISUIVNR=D=O1114E!1110 4444 %%%% !1110!@^(O#E MSK_EHNKRV<",K^4D*MEE.0W%=% M11TL'6YSVH>%3=QQ6UO?M;62PK T A5CM']UCRN1P:-2\*G4-L"WS0V/EK$] MN(58E5[!SRN1P:Z&BG=BLAL<:Q1+'&,*@"@>@%.HHI#"BBB@ HHHH *S]*U8QZI. ME_)<&YDNU0#>V,8*=,8 &*OZ)HJ:-%<9G>YN+J4S3S. "[8 Z#H,"M.BBX6" MBBBD,**** "N5?P=='Q%+JZ:[,)7;Y5>!'\M?[JD]!7544+1W!ZJQS4O@]9+ MQQ]ND&G27/VI[+RQ@R9R?FZXSSBE_P"$/7[8,WTATX71NQ9;!@2'G[W7&><5 MTE%--K8329FV6CK9ZU?ZCY[2O>[!M8#$84'@?G6E112&%%%% !1110 4444 M%%%% !1110 4444 %8OB;P_)XBLXK9=1FLHU;"I)]#;3(=8FACG9WNG$2L9V8\GGIT[5 MU5%.[%8Y:[\"66IZ;)%J\OVR]9/+6^:(*Z+V XXKH-/L8=-T^&SM5VQ0H%4 M"K-%%V%D%%%%(84444 %%%% !1110 4444 %%%% !1110 4444 %%%% '+7G M@^ZN?$+ZLFN31R9_=(T"N(1Z+GI4MYX/6ZN[G;?R16-Y,)KFT" ^8PQT;J < M&Y/$<,$0U*:TBB8L\:(& M67TW ]<5$WABY,-FZ:LZWUF6$5R+=<;& !0ITQP*Z*BC96#&*W9I)$,:NL\A.=[ U8U3PG?:KIL%G/K\RQQX+;;=/G(.0?;%=/13NQ61 M7L()[:S2*[NFNY5SNF9 I;GT%6***0PHHHH **** "BBB@ HHHH **** "BB MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H 9HHH **** "BBB@ HHHH **** "BBB@#_V0$! end GRAPHIC 14 a2.jpg begin 644 a2.jpg M_]C_X 02D9)1@ ! 0$ 8 !@ #_X0 L17AI9@ 34T *@ @ 0$Q ( M * &@ !''EZ@X2%AH>(B8J2DY25EI>8F9JBHZ2EIJ>HJ:JRL[2UMK>XN;K"P\3% MQL?(R;GZ.GJ\?+S]/7V]_CY^O_$ !\! ,! 0$! M 0$! 0$ ! @,$!08'" D*"__$ +41 (! @0$ P0'!00$ $"=P ! M @,1! 4A,08205$'87$3(C*!"!1"D:&QP0DC,U+P%6)RT0H6)#3A)?$7&!D: M)BH*# MA(6&AXB)BI*3E)66EYB9FJ*CI*6FIZBIJK*SM+6VM[BYNL+#Q,7&Q\C)RM+3 MU-76U]C9VN+CY.7FY^CIZO+S]/7V]_CY^O_: P# 0 "$0,1 #\ P?&/C#Q- M:^.==@MO$6K0PQ:E<)'''?2JJ*)6 ; ':L;_A-_%?_0SZS_X,)?\ XJCQ MO_R4'Q%_V%+G_P!&M6'6Q)N?\)OXK_Z&?6?_ 82_P#Q5'_";^*_^AGUG_P8 M2_\ Q52> M-M-8\?:1I^I0B:UN+C9+&21N&#QD9_\)OXK_P"AGUG_ ,&$O_Q5'_";^*_^AGUG M_P &$O\ \574?$7X<1Z)XATN/PFLUY:ZS&7M8"=SA@ 2 3U&"",UR%[X7UO3 MM,EU"_TV:WM8K@VSR2 "49ROOC!Z<4DTP)_^$W\5_\ 0SZS_P"#"7_XJC_A M-_%?_0SZS_X,)?\ XJK=K\-_%][I8U&VT&Z>V9=ZG #,/4*3N/Y59^'/@:7Q MCXJ6SNX+I-/@)%Y-%A3$=IVJ<]"2,=*>@&7_ ,)OXK_Z&?6?_!A+_P#%4?\ M";^*_P#H9]9_\&$O_P 53=?\+ZIH?B Z9<:=#O#>DZG\+?%FK7UH);VP -M*78>7\N>@ M.#^-V\,Q^"]%>2XN].^T79CF,=< M^U;-[\-?&&G:8VH7>@W*6Z+O7/B&/S-(TRS>YN@6(! MXX&1@^I_"BR Q/\ A-_%?_0SZS_X,)?_ (JC_A-_%?\ T,^L_P#@PE_^*KI/ MB[X1T_PQK]C/H,/DZ7J%J)(5#%@&'7DDGD%3^-$]?U&VM+BQTJYG@O93 M%;R(N1(XSD#Z8/Y4E9@]"7_A-_%?_0SZS_X,)?\ XJC_ (3?Q7_T,^L_^#"7 M_P"*IFG^$->U76KG2M.TR:XO+5RD\:8Q$0<'G2 MVOVB= %?[LBE@#AAP>O8TU9@]!/^$W\5_P#0SZS_ .#"7_XJC_A-_%?_ $,^ ML_\ @PE_^*KM?'GPPO)/'=S8^!]#D:R@MHG<(_RJS Y^9SU]LUR7AG2#!X\M M],U[0[N_,;LD^FQC;*Y"DX'(Z<'KTI*S!Z%?_A-_%?\ T,^L_P#@PE_^*H_X M3?Q7_P!#/K/_ (,)?_BJZWPI\/(_%WC[5H9--OM.T:UDE&P$!X'&-L3$YYP? M?IUKBKWPUK-CKB:1!^-/0"S_P )OXK_ .AGUG_P82__ !5' M_";^*_\ H9]9_P#!A+_\53[GP-XELM=M]'NM'N8[VYR88\ ^8!R2I!P<#WK< M^)/PZF\':DC:=;7E&@&!_P )OXK_ .AGUG_P82__ M !5'_";^*_\ H9]9_P#!A+_\55/5=!U70KR.UUBPFLYY5#I'*,%E)P"/Q%2W M7A;7++6;?2;O2[B+4+D PVS ;G!SC'Y'\J- )_\ A-_%?_0SZS_X,)?_ (JC M_A-_%?\ T,^L_P#@PE_^*J&\\*ZYI^FW%_?:;-;VMO/]FEDD $G]WW_ K0 MLOAOXOU'2QJ%GH-U);,NY&.%9QZA2LRQZ?$P*Q(,'#(/EP+58JWB;6E8'!!OY00?^^J3_A-_%?\ T,^L_P#@PE_^*KU&!='^)>H6 MND^,O#\V@>);R S6U];)M$Z@$[F4\_PGAL]."*\9O[7[#J5U:;]_V>9XMV,; MMK$9_2A6 U?^$W\5_P#0SZS_ .#"7_XJK&G^*?&6IZE;6%IXEUII[J58HQ_: M$OWF.!_%7-UZE\!?#?\ :GC.75YTS!I<>5)'!E?(7\AN/Y4W9(#Z)TZU:QTR MVM7GEN&AB5&FFD^-?$/PUT_P 0>%];_P"$;\46&L>1]H^QR^9Y6_;OX(QG M!QU]*?XLU_\ X2CQ5?:S]G^S?:W#>3OW[,*!UP,]/2AZM NIZ#I_CN;QU\:? M#7>%M<_X1KQ38:Q]G^T_8Y?,\K?MW\$8S@XZ^E/UOQ)-JGC.Y\1 M6B&RGEN?M,:A]QB88(YP,]/2A))H'JF>@^+_ !AX@M?CJ(K:_N8X;6\A@BM4 MD(C9#MR"O0YR?SKL;?"Z>;6_BUK-YK%S+?7&FP3_8_/!CIQV-<_=?$.RL/'=M MXD\':+_93*&^U022[UN2QRV?3\._-:\GQ8T73?ME]X2\(Q:9K5\I66\>7>$S MR2J_7GM[YH2:2]+#>K?J:NAVD%A\/?B=:6F/(@NGCCQV4$@"L[3+35++X8Z; M/XF\72^']#E=FL;:Q@)N)\Y.25P<=3R3_*N5T+QPVC^#=?T*2R-R^LG+7)FP M8SCDXP=WYBMK2_B7I$G@RS\/^,/#0UF/3_\ CUD6?RR!V![CCC(ZCM19_D%_ MU.@\?3V][\ ]&N+:_O-3C74-L=U?)MF88D'/)],=>@I?BSK^JZ7X4\'6NF7U MQ9QS6"RR-!(4+LJ)C)'89/%!XO#K:/#9I!=>=;M!)A(HQD+&$ MQS@-USSUK3_X6II>JV]K8>+/"T6I:=901):H)MLD3J@5CNXR&QT_G19Z^OZ! MV]#L/$>OVVG6WPW\7>((O-N A^T.%R[*T8^;'?!.[\:E_LQ_$>LWNI?#_P") MKM=W@=Q87#[P%/.T*>5 ]=O%>>:S\5;[4O&6G:Q;:?;0V>F(8K73Y 'C"$8( M/'4C'('&!BM:+XI>%],OI-9T+P/%:ZXX8B=K@F-&;[Q"C^@%#77U%MH>97MK M/9:A<6MVNRX@E:.5?1@<']:]G\#^"M6O?@?J":,L*7VO3 %YW* 0*<=0#UPW M_?5>,7MW-J%]<7ET^^>XD:61L=68Y)_6NE\5^.I?$-CH]A86SZ99:5;"!(DG M+;SP"Y( [ ?K3UY;!]JYZGX^\(ZF?@78IK"Q/J>@[2S0N7#1CY#R0/X2I/\ MNUFZ?XCO/"_[.-A?Z45CO7NW@BF*@F+<[989[X!'XUQ'@SXBS>&-,U;3=0LW MU6RU./8T;W!78<%202#U!_054NO&PN/AC:>$!8%1;71N!=>=G=RQQMQ_M=<] MJ33U\[?\$%;3R.Z@U.\TK]G>YUFPN9$U+5M1;[9=H<2$F0@G<.G Q_P(UQL? MB_7-9TO0=)U6,W-K:ZBCPWTRNTA.\?)YA.".>G7IZ5)X,^(,7A_1+S0->TI= M8T2\;>UN7VLC<P.OTK4 MO/B=]K^*=KXR_LK;]GC"?9/M&=V%9<[]O^UZ4HJR7S'+6_HCN? %[=)\N.]9OP3SK0R[]3L_#7C#PCH\U__ &AXUUG7 M+6_A9)[:\LI&7GJPZXXR/3FJ5GNQ>WZ#VK*\&?$&+0-%O- M!U[2EUG1+QM[V[/M9&XY!]\ ]N1G-%KI@-@\=^);K2M%L+AY3'9WH:#4FW^= MR<%/,S@C!(QUKHOCGJE^?B FFF\G^PB&"7[-O/E[\GYMO3-GZ?I M&@:6FC:/I\GFPVZOO9I/[S'\3^?6K7CCX@Z5XUTN&67P]]FUY B-?K-E=JG) M 7WSWZ4^J?F+_(W/CJ"WQ!T8 9)LH@!_VT:M_P :#'[1GA4'_GE#_P"A/7,7 M_P 7-,U6QLKO4O"D%UXAL8A'!>R2YC0CH^SOSS@]#63K/Q,.K_$32?%+:7Y9 MTY$4V_GY\W:6.=VWC.[TI)-->3#=/T.L\5Z_=>(?C9:>%+R0)H<.HQ*UH% 6 M5_OEF[DEB:UO%^O:+8?$>2>\\E=Q)\5O#NI7$&K>(/!4-YKT"KBY2; M;&[+T8K_ (YH2:2&]6SF_BAJVC:[XYN-3\/%C!<1H9=T1C/FCAN#[ 5R%:GB M3Q!>>*/$%SJ^H[!-.1\D8PJ*!@*/8"LNG%60/5A1115""BBB@ HHHH **** M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH * M*** "BBB@ HHHH **** "BBB@ HHHH *?!_Q\Q?[Z_SIE*K%'5AU4Y% 'NGB MQ-8D_:!B3P[=6UG>-I0'VFY&4A3#;FQZ@=,\4:?-I-GKTD?A2UG\>>+.LVJ7 MC9M[8^NX\ ?3\ZQ!XO\ "'Q'1(?&T+:%K/E^2FJVK'RW'HX[#V.1[BIM*^&' MCC0KRZM?#NL6D.DZA&IEU:&8*#$N2/\ :!Y/3CWJ!FAI46KP_M#Z,/$6KV^I MZBUI*9?LP CMOW5I6P.[$D_SIH1!7U9\(/# M?_".?#RS\Y-MU??Z7-D(2(9"#JES@A#S^]:L/[ M//\ \\)?^^#7W!1BKYA6/A_[//\ \\)?^^#1]GG_ .>$O_?!K[@Q1BCG"Q\/ M_9Y_^>$O_?!H^SS_ //"7_O@U]P8HQ1SA8^'_L\__/"7_O@T?9Y_^>$O_?!K M[@Q1BCG"Q\/_ &>?_GA+_P!\&C[//_SPE_[X-?<&*,4?_GA+_P!\&ON#%&*.<+'P_P#9Y_\ GA+_ -\&C[//_P \)?\ O@U] MP8HQ1SA8^'_L\_\ SPE_[X-'V>?_ )X2_P#?!K[@Q1BCG"Q\/_9Y_P#GA+_W MP:/L\_\ SPE_[X-?<&*,4$O_?!K[@Q1BCG M"Q\/_9Y_^>$O_?!H^SS_ //"7_O@U]P8HQ1SA8^'_L\__/"7_O@T?9Y_^>$O M_?!K[@Q1BCG"Q\/_ &>?_GA+_P!\&C[//_SPE_[X-?<&*,4?_GA+_P!\&ON#%&*.<+'P_P#9Y_\ GA+_ -\&C[//_P \)?\ MO@U]P8HQ1SA8^'_L\_\ SPE_[X-'V>?_ )X2_P#?!K[@Q1BCG"Q\/_9Y_P#G MA+_WP:/L\_\ SPE_[X-?<&*,4$O_?!K[@Q M1BCG"Q\/_9Y_^>$O_?!H^SS_ //"7_O@U]P8HQ1SA8^'_L\__/"7_O@T?9Y_ M^>$O_?!K[@Q1BCG"Q\/_ &>?_GA+_P!\&C[//_SPE_[X-?<&*,4?_GA+_P!\&ON#%&*.<+'P_P#9Y_\ GA+_ -\&C[//_P \ M)?\ O@U]P8HQ1SA8^'_L\_\ SPE_[X-'V>?_ )X2_P#?!K[@Q1BCG"Q\/_9Y M_P#GA+_WP:/L\_\ SPE_[X-?<&*,4$O_?! MK[@Q1BCG"Q\/_9Y_^>$O_?!H^SS_ //"7_O@U]P8HQ1SA8^'_L\__/"7_O@T M?9Y_^>$O_?!K[@Q1BCG"Q\/_ &>?_GA+_P!\&C[//_SPE_[X-?<&*,4?_GA+_P!\&ON#%&*.<+'P_P#9Y_\ GA+_ -\&C[// M_P \)?\ O@U]P8HQ1SA8^'_L\_\ SPE_[X-'V>?_ )X2_P#?!K[@Q1BCG"Q\ M/_9Y_P#GA+_WP:/L\_\ SPE_[X-?<&*,4$ MO_?!K[@Q1BCG"Q\/_9Y_^>$O_?!H^SS_ //"7_O@U]P8HQ1SA8^'_L\__/"7 M_O@T?9Y_^>$O_?!K[@Q1BCG"Q\/_ &>?_GA+_P!\&C[//_SPE_[X-?<&*,4< MX6/A_P"SS_\ /"7_ +X-'V>?_GA+_P!\&ON#%&*.<+'P_P#9Y_\ GA+_ -\& MC[//_P \)?\ O@U]P8HQ1SA8^'_L\_\ SPE_[X-'V>?_ )X2_P#?!K[@Q1BC MG"Q\/_9Y_P#GA+_WP:N)J&LQZ2VF)^S MS_\ /"7_ +X-+]GG_P">$O\ WP:^X,48HYPL>*?L]^&6@M=1\0W415Y6^RV^ MX8.T8+G\3@?@:]KHHJ6[L84444@"BBB@ HHHH **** "BBB@ HHHH **** " MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HI&940L[!549))P *\S\8_& M[0] \RUT7&KWRY!\ML0QGW;O]!^=.UP/2+JZM[*V>XO)HX(8QEY)&"JH]R:\ MQU;X^>&[#68[2R@N-0M@V)KN+ 5?]T'EOTKQG4]?\7_$S6%MW-Q?.3F.SMUQ M%'[XZ#ZG\Z[32_@)=2Z2[ZOJRVM^RYCBAC\Q(SZ.W?\ #]:KE2W%<]PT#Q-H M_B>Q%WH=]%=1_P 04X9#Z,IY%:M?(VJ>'/%GPXU1+O\ ?VFUL17UHY,;^V1_ M)J]'\&_'X'R[3QE;X["^MU_]"3^H_*ER]@N>Y454TW5;'6;%+S2KN*[MY!E9 M(FW#_P"M]*MU(PHHHH **** "BBB@ HHKS[QG\8O#_A7S+6U?^U-17CR+=OD M0_[;]!]!DT;@=_++'#$TLSK'&@RSN]>-Z]XR\6_$C4UL_P!],CG]WIUDI"#ZCO\ 5OTKK="^ UQ< M:>\OB+4OL=RZ_NH+91)Y9]7/0_0?G5\J6XKGM?AKQAH?BVS^T:'?1S[1\\1^ M62/_ 'E/(_E6W7R9KW@GQ5\/[X7\9E$49_=ZC8N=H^N.5^AXKN?!OQ^FA\NS M\90>='C OK=?F'NZ=#]1^5)Q[!<]ZHJCI&M:=KVGI>Z/>0WEN_1XFSCV(Z@^ MQJ]4C"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***P/'&L77A_P3J>J:=Y M?VFVB#1^8NY<[@.1QZT ;]%>?S^*/$'AZ^>P\13V5R+K39[RSO+2W92C1+N9 M6C+<\$$XGE)6*./SL!"026//)"AL>].PKG< MT5P-QX\O[.Z2!;%[]WULZ!WUY?'%M;^)(=)N=. MO(!<7'V:*YDV!7DP2/EW;]IP<-MP:+#.GKD_'GQ T[P'I\,M]#-<7%SN%O#& M,;BN,Y;L.16AX,U>YUWPC9:E?[/M$^_?Y:X7AV48'T KRK]H_P"YX?\ K/\ M^R4):V!G >)?B+XJ\?7@L@\J02MB/3[$'#>QQRWX\5TOA'X'W=R$NO%LS6S-T7\,GZ5UGP2L+2+P(E]';1+=S7$JR3A!O901@;NN/:O2*N_8DR M-*L-$\.6GV'2;:&SC7AEC0Y8^K-U)^M7OM]M_P ]/_'342R/%#>R1JK.C,RJ MQP"0*S_M!E:WDU">:VNB-T,,*Y5B1V'._P#'IZ"A*Y+E8TIKJQG@>*X*2Q., M.DB;E8>A!G'BKX*:9JJM>>%I%TZX;YOL[Y,#_ $[I^HKT*UN+JXM;L7L, M<;1DJNP_>&T')'8\],FKEK_QZQ?[@_E2V8T[GS C^+_ACK60;G3)B?\ >AG M_P#'6%>S_#SXSP^*;^VT;6+)K?4YR5CD@&8I"%)/7E> ?6NPU>PM-2TFYMM0 MMHKF!HV)CE0,,X///0^]?./PC&/BQH?_ %UD_P#13T]T,^LJ***S*"BBB@ K M!\8>+]/\%:&=3U5971G$4<<2Y9W() ]!T/)K>KRG]H3_ )$&S_[""?\ H#TU MJP/,/%GQ9\3>,YC8V6^PLY6VK:6A)>7V9ARWT&!6EX2^"6I:ELNO$\C:9;'D M6ZX,[CW[)^.3[5O_ $L;5M&U.^:WB-VER(UG* NJ[,X![#/I7KE6W;1$F9H M7AS2?#5E]ET2QCM4/WV R\GNS'DUIT45("$!E*L RL,,",@CT(KS;QC\']!U M57N])FCT2[8].D$A]-O\/X?E7I5>1?'Z]\O2=&LU)#-.\Q'^ZH _]"IK<#SN M>S\8?##61,#<:=(6PL\1W0SCTS]UA['FO7OA_P#&V+Q#?VNC:_9FWU"X<1Q3 MVXS'*WN.JG\Q]*[&P6VUSPQ:?;88KJWNK6-GCE0,K94=C7S?\/U"?%C1%485 M=1 ]!DT]P/KJBN9\<^([SPWI5E/I_V,2W5]':E[UBL48?/S,01@#%0&DQL!?WW#IZT[,#HZ*Q?#6M3ZW'J;7$4<9L]2GLT MV9^94( )SWYK:I %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44 M44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !111 M0 4444 %%%% !1110 4444 %%%% !63XHT)?$OAF]T=[AK87:;#*J[BG(.<= M^E:U>>7'C35I?B!?Z#;:EH5BMM<0Q0PWL2.E"U=@VU-!? $ MMTUW<:[KD^I7LMC)8V\K0)&ELCC#%47JQXY)[5S&L^$]?M_$$DNFV\TTEO;6 M\.G3_9;:>-C'&!EC*=T7S9)V_7K7:6_CS39=4^Q75K?V&Z*6:*:[@\M)$C&7 M(YR,#GY@.*R]1^)UO#HIOK'1]2=F>#REFM]@EBE?:)%.>G7 .#DKP,YIJ]Q: M%AO MP\'G)J@@OSJHU7>( Z))Y81DP2,KUYR#4%O\.##K*7C:MOCBU,ZBBFT M7S&8DY5Y,Y8?-@=,>]:4OC[2H=2^R207JHDL<$]R8?W5O-( 5C=L\-R < @$ MC)IL7Q"TB:\D@6&^"17PL)+AH,1+,6*A=V?4?^/#UIZWT_K;_@!TU_K?_@FK MX;T1?#OA^VTI)S<+;[L2,NTMN8MT_&O(OVC_ +GA_P"L_P#[)7LNF:G!JUM) M/:!_*2:2':\:_:/^YX?^L__ +)1'<;-KX*_\DUM_P#KZF_F M*] KS_X*_P#)-;?_ *^IOYBO0#3),\>6\=Y"\PB,CLN[(R,C&:IN]Q#/91QF M"Y2'(\YI A4;<98?X?I7/>/-/EOF6.WO8[)ED#%W,8'MQ5VU_X] M8O\ <'\J\TLM,GB\7SWC:C')$[/BV$A++GVZ<5Z=&,1J , 5D[WU-HM-:#+ MK_CSG_ZY/_Z":^:OA)_R5G0_^NLG_HIZ^E;K_CSG_P"N3_\ H)KYH^$ZE_BK MHJABI:24!AU'[I^::V*/K.BN9_X1*^[^)]4/_ Q1_P (C==_$NJ_]_!5T MJ_R?BCHI)XH619I40R-M0,V-Q]!7EO[0O_(@V?\ V$$_] >N@U;X?S7L<"1: MS>2A9,N;N3>%&.JCUKD_C?IW]E_#&PM13ON;[C_ *>U-Q@DG&5V M$)U)2:E&R]2I\ O^17U7_K]7_P! %9WBWXX21RS67A>SV,C%&N[D9.1Q\J?U M/Y5H_ +_ )%?5?\ K]7_ - %>5Z%96NH>,[F"_TR_P!3A+S$V^G_ .M)#<'Z M#O4]38ZWPE\7Y=#T747UK[5JVIW-R)(@[X55V@]\:6&H:] M=O%IEO*7>TM%PN-I'3JQY[FJ]CH6DR^,-2M)?"WB":VAB1H[*(_Z1"3C)?V/ M:C0-"TF[U#6([KPMX@O4M[G9#':'YK=>?DD_VO\ "C0#3\4?&S6-4WV_A^+^ MRK8\>;G=,P^O1?P_.N8\7>)%U[2_#T(GDGEL;'R[AI,DF4L2>3UX YJYX?T; M3+OPO>W-UX4)=VA_?[2!_P!% MSOQGZ8X^M/0#VOX6:_::UX'L8+>1FGT^%+>X!4C:P'&#WX%>(> ?^2MZ-_V$ MOZFO1_@!_P @76?^OF/_ - KSCP#_P E;T;_ +"7]34]P/ISQ3X<7Q+;Z=#( M\:Q6E_%=2)+'O654SE,>^:35?"\%W'I46G+!816&HQWICBA 5]H.0 ,8)SUJ MIX_\2W?AC1;.YL9+.%[B^BMGFO58Q1*V:B%ULS;Y$G MT.W8PK&N 26=L9SGC.3Z5"V*9D>(?!4DMO'IL9N)KB_UR2_6YMXL+;PO@2H[ M9XRA8>YK1U'P%YLK2.*>*02P0.ESL0#]T65@K*<8RP) .*OR?$+ M1Q);"VBO;Q)K>*ZDDM[":JVGQ%@=-3:^TV]A-KJ/V"VC M2+<]R_95&?O=21T P65)C!W;50[2? ME ZUK'XBZ.([,""_:YN[B2U6T6W)E26/&Y&7/! 8'/3'.:AA^(-I!8(UTDU[ M=2W%RB0V4&&\N&0JS$,W0<#.>3T%/5:AN;?A[1'T1-25YUF^VZA->#"XV"0@ M[??&.M:]&(['7];U1YEE?5)(Y$'E -!LC"<-SGIGM6]10!YYIOPN> M"6W_ +0U*">."*Y@9HK39+<),A4M)(6)9QGKT]JN-X)UJX\-/I5[XACE$"6Z MV.VS"I'Y+AE9QNRS': <$#'05V]%.[ XB?P#>7-Y<1RZK$-,O[N*_O;9;8[W MF3:2$?=\J,4!P02/6FZUX7>R\!:QI<,=QJ,^I7DL\'V:,*T4LC[T8Y/ 5@,M M[=*[FBD!1T335T?0K/3T.[[/"J%O[S8Y;\3D_C7CG[1_W/#_ -9__9*]QKR_ MXU>"-8\6Z?I\^AQ).]AYA> MAW#;?NYX)^7I5)ZW8K:6,_X1ZA::=\+8)KV= M(4%S-]X\GD=!WJSK/CV:;=%HZ&%.AF<98_0=J\4TSQ'J_A:5],OK7S+>-R7L M;M"I1NY4]4/TX/H:[+2]5TO7@%TNX,=R1DV5R0LG_ &Z/^A]J[\-&A?W]_P/ M,QKQ*7[O;RW.CO+VU_X1VTFUF>X.^5OG0;F+<]]M M=K=3G4Z,J:U7-97O?H7;.YTU_%EQ%#).;P%]RL@V#UYI-)\8:AI4GERM]JMP MQ_=R'E1GLU5DU73(;][Z+3-MT^2TOFWL+;[9J]REC Q)7?R\G^XG M5OKT]ZNE3M%O$;:;D5JJIZFO/JTW/HVBBBNEEHYB-S!<+.$D;;Y@" ML-H/8\]Z:W X;X%W4%IX0U>:ZE2&-;P99S@?<%>5Z/>6%MXLN)]1O]0L;8O+ M^_TXXER3P/H>]2VVH^(/ U]+I][:/"K,&FL;R/Y)#TW#W_VE-;FF)X2U]@+: MVBLKUSS:73\.?]B3@'Z'!^M=,(1EI>S.:I4G#7ENO+K:%'XJO[B;Q!XC MBLY(T$5U$P^T2D8R'YZ#M1HFK:%;WVJO>^(/$=K'-<;H'LVP\Z\_-+S][_Z] M;4OAC3()&CFTU(W7JK @BF?\(YI'_/A%^O\ C75]1GW1P_VI2_E9@Z)J>C6_ MAV[@O=;UZTNG:0QV]FV() 1P7YZGO[4Q-2T@>!OL9UK7!J'EX^PAO]$SNSC& M>F.?K70_\([I'_/A%^O^-/E\-Z'9V@N]3AMK*U/268G+^R*.6/TI2PC?]A+^II;GQA;: M6LD'@ZS^P*Q^:]E&9F]U'(C_ R?>ND^%7P[\1WOBG3/$$]H;2PM9Q.9;G*M M,/\ 97J?J>*XY**V9Z$')ZR5CWKQ)X>'B&/3D:<1+97\5X08]XD"9^7KQG/6 MLSQ)X*DUO5K6ZMKJVA@BMWMVMKBU$R+N.?,1<@!^V2#76US6MWNL:)JG]H+_ M *7I; +)"HP8O?\ ^O7%6K*C'FDM.OEY^AHW;4R]/\!:EHKV_P#8NO+;!K.W MM+QS:AFD$.0K1Y;"D@D'(84^Y\"7CW-Y-:ZK%&W]J#5;(M;EC#-MVLK_ #?, MA''&"/6NMT_4+;4[-;FRD$D;?F#Z$=C5FM8S4ES)W!6MH175S=W16':LLDR!,*,_*%"CUS6=/\,6 MYK:\LY;J&6Z/^G6(FB9)I/,Q MLW##*>ASSSQ7H-%5<9Y_JOPSDU%[%$O[.)+:**,3K8*EQ$4.28G1E"[CV((' M:O0***+@%%%%( HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH XWX@Z3X1U'33_ ,)5 M!&TVT^2\7%P/]TCG\^*\8\6_!/6]$B^W:#OU6Q*[]JKB>(8SRH^]CU'Y5Z_> MZ7!XX\37#?ZNQT]?)^T1@;I9?3/<#_/6NY5=J!1T Q6\U&$4EOU.:E.=24F_ MAZ?J?(5AXQN8,6OB"V_M.&,>6#,=MQ"/17/IZ-G\*Z6RFTN\ACNH=;M5M+89 M9;D^5-'[,O.[_@.6X"O_P "[-^->*:M\"_% M=EK4=KI\<.H6TK82[5P@0?[8/(_#-.%5QV'4H1J+4S]5\>6]INB\.P>8_P#S M_72:A>,=I^A/+?05[!X-^!NC:'Y M=WX@9=6O5Y",N(4/^[_%^/Y5ZBD:11JD:JB*,*JC ^E34JRF[MW*IT84E:" ML>7_ R^'?AG38I+B:V:[UBUE,.10RL.A![T5(K2<=F*E-W<);K\5W'T44 M5B;A1110 4444 9>O^&M(\3V!M-&>,_@-J.F^9=^ M%)6U&V'/V23 F0>QZ/\ H?K7T!?7+6=C-<)"\[1H6$4?5O;FN:\#:]>:ZNHR MW^0WFJT:@?*J$8P/;@UK&$G!S6R,958QJ*F]V?-^F^+]6T-_[.UB!KR"$[3; M7>5EA]E8\K]#D>U==8ZGH^JP-/8ZE# J#=+%>N(GB'KZ,/=OU;\JHZ#X M,\6?$;4?M2+-+&QP^H79(C4>@/?Z*/RKUOP;\"-*TG9=^*)%U6Z'(@ (@0_3 MJ_X\>U>K111P0K%!&L<:#"HBX"CT %9U*TIN[=S:E1A25H*QP'@SX.>'_"WE MW-X@U745Y\^X0;$/^PG0?4Y->A5SGARYFAUS6M*NYGE:&<3PF1B3Y;CISV%= M'6/JGAP%HCS/9]B/4#_. M*W=&URTUNT\VU;#K_K(F^\A_SWK1KF=9\.31W?\ :WAYOL]ZO+QCA9?7CU_G M7G2I3PSYZ*O'K']8_P"1G9QU1TU%8N@^(X=85H)E^SWT7$D#<'CJ1_GBMJNV ME5A5@IP=T6FFKH****T&%%%% !1110 4444 %%%% !1110 4444 %%%% !11 M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !6!XKU2:ULX MM/TWG4=0;RH0/X!_$_X"MNXGBM;>2>=PD4:EG8]@*YKPQ!)JVH3^);Y"IG_= MV4;?\LX1W^I_SUK:FDO?ELOS.>M)NU..[_!=3;T?2X=&TF"QM_NQK\S=W;N3 M]35ZBBLFVW=F\8J*L@HHHI#"BBB@!LL23PO%,H>-U*LI'!![5RV@2OX?UF3P MY=L3 ^9=/D8]4[I]175UC^)=&;5]-!MF\N^MF\ZUE'57';Z'I6M.2^"6S_JY MA6B])QW7XKM_74V**RO#NLKK>E+.R^7<1GR[B(]8Y!U%:M1*+B[,UC)3BI+9 MA1114E!1110!A^,;]K#PQ<^3_K[C%O$!U+/Q_+-:&DV"Z9I%K9(!B")4..YQ MR?SS6'K'_$T\;Z5IHYBLU-[,/?HF?Q_G745M/W:<8]]?\CGA[U64NVGZO^O( M****Q.@**** .7UC_B6>.-)U$<1WBM9S'WZI^M=16#XTLGN_"]P\/^NM2+F( MCL4.?Y9K4TV]34=+MKR/[L\2OQVR.E;3]ZG&7R.>G[M64>^OZ/\ KS+5%%%8 MG0%%%% &%KWAM-39;RR?[+J,7*3+QNQV/^-0Z'XD>6Y_LO6T^S:BG W<++]/ M?^?:NCK+US0+77+8+,/+G3_53*/F0_U'M7#5H3A)U:&_5='_ )/S^\AQ:=XF MI17)Z9KUUI%XND^)?E;I#=G[KCW/]?SKK UJ'PY:L1 N)M0=3T0=$^I_PKJ(XTAB6.)0J( JJ!P .U8WA?2)-, MTUIKT[]0O&\ZY<]=Q_A_"MNM:DEI".R,J,7K.6[_ 71?UU"BBBL3<**** " MBBB@ HHHH Y/6%;PSX@378 ?L%V1%?H!PI_AD_Q_^O75JRN@9"&5AD$'@BH[ MJVBO;26VN4#Q2J5=3W!KG/#-S-I=]-X:U%RSVXWVRO=(E.7TVY:,9_N$Y4_SKIJY=_\ B5_$:-ND.K6VT^GF)_\ 6K:G MK&4?G]W_ +G/5]V<9_+[_\ @V.HHHHK$Z HHHH **** *>IZ7:ZO9M;7L>Y M3T(ZJ?4&N9MK^^\(7266KEKC3'.(;H#)C]C_ (?E795%-QE64Y!%/KC'CO_!5P9(-] MYHSMEDZM#_G\C75V5];ZC:)^U"TTNSDN]1N8K6WC&7 MEE<*H_$UXWXR^/L,/F6G@R 3OT-]<*0@_P!Q.I^IQ]#32; ]LHKYY\'_ ![U M+3V2U\6Q'4;8G_CZB 69![CHWZ'ZU[CH'B;1_$]B+O0[Z*[C_B"GYD/HRGD' MZT-- :M%%%( HHHH **** "BBB@ HK$\2>,-#\)6?VC7+Z.#(RD0^:23_=4< MG^5>$^,OCIK&LE[7PXK:39YQYNFDV!](T5\]^#/CW?V'EVGBV M(W]N.!=Q#$J_[PZ-^A^M>XZ%XBTGQ+8"\T2^BNXCUV'YD]F7J#]:&F@-.N2M MO^*I\5F[/S:7I3E(!VEF[M]!_A6GXHDU#^RQ:Z1"[7%XXA\U1Q"IZL?3BK^E M:;!I&EP6-J,1PKC/=CW)]R:UBU"'-U9SS3J5%'HM7Y]E^I;HHHK$Z HHHH * M*** "BBB@ HHHH *PO%.D37]G'>Z=\FI6+>;;L/XO5#[&MVBJC)PES(B<%.+ MBS/T/5XM;TF*\A^4L-LB'JCCJIK0KDKL?\(IXF%^GRZ5J;A+D#I#-V?Z'O75 M131SIOAD61DP:I"/WNFW"3C']W.&'Z_I72U!?6J7UA/: MR\I-&R'\1BKIRY)J1G5ASP<22&59X$EC.4D4,I]01FGUS7@G4TFT2+3IY5^V MV9>%X]WS80XSCTQBNEHJ0<).(4IJI!204445!H%%%% !1110 C*KH5=0RL,$ M$9!%Z3>^&;M]2\/@R6C',]GUP/4?YR/I7845SU\/&LET:V?5$RC4\9'"-ZY]">*PABG3?L\1I+H^C]//R$I6TD=)1117>6%%!.!D]* M\\\8_&7P_P"&/,MK)QJNH+QY4#?(A_VGZ?@,FG:X'H=%?,MO\=_%D>O-?3&V MEM6X-CY>$ ]F^\#[\U['X.^*_AWQ<$@2?[!J#?\ +IDE;:/I[GVKQ;QE\ M?F;S+/P9!@=#?W"_JB?U/Y4TFP/=:*\ \&?'VZM/+L_&,!NX>@OH%Q(ONR]& M^HP?K7M^C:[I?B'3UO=%O8;R!OXHVSM/H1U!]C0TT!H4444@"BBB@ HHHH * M*** "BBB@ HHHH ***1CM4GT&: $=TBC9Y&5$499F. !7EGC/XZ:/HF^T\.* MNKWHX,H.((S_ +W\7T'YUY)XH\=>*O'^K?V>7D,4DA2'3K,$*QSQD=6/U_2N MO\)_ UGV77B^?RQU%C;MS_P-^WT'YU?+;<5SA[B^\8_%#6MC&XU*3.1%&-L, M ]YYKTWPE\$=.T[R[KQ1*-1N>HM8\B%#[GJ_P"@^M>E:=I=CH]BEGI5 MI%:6Z=(H5P/J?4^YK#UKQM9Z9<-;6\1NYD.'VMA5/IGN:TA"=1V@C&I5A2CS M3=C)\5_"+P_XA1IK&-=(O<<26Z?NV_WDZ?B,&O'-5\-^+?AOJBWB&>U"G$=_ M:,3&_L3_ .RM7M^G_$&VGG6/4+8VP8X$BON4?7BNM=(KJW*2*DT,JX96 97! M]1T(HG3G2=IH5*O3JJ\'<\J\&_'Y'\NS\9P",\ 7]NO!]W3M]1^5>SZ?J5EJ MUC'>:9=175M(,I+"X93^(KQ_Q;\$],U/?=>&9%TRZ//V=LF!S[=T_4>U>70W M?B[X8:]Y:O/IL_WC$3NAG7UQT8>_6L[)[&]SZZHK!\$Z[/XF\%:;K%Y''%/= MQ%W2/.T$,1QGZ5O5 PHHK*\4:A/I/A/5=0M-HGM;26:/<,C1&00;ZX7YS[JO;ZG\J M\YB'B?XE^)Q$T\FH7KJ6S*X5(D'4XZ*!GM7K_A+X,:/HQ2ZUUAJUX,$(1B!# M_N_Q?C^579+<5SRS0O!?BKX@WS7S^:T&*X@>&XC2:*0;7CD4,K#T(/6BX'EG M@WX_12[+3QG"(FX OK=?E/\ OIV^H_*O9;#4+/5+-+O3KF*ZMY!E9(G#*?Q% M>->+/@CI]_ONO"THT^XZFUE),+GV/5/U'TKRVRU?Q1\./$$]M;7$EA=PL!-! MD/&_&1D=#QWHLGL.Y]?T4V-BT2,>I4$TZH&%%%% !1110 4444 %%<_K5G#J M'B;3+6[5GA,,[% Y4$C9@\'WJ?\ X1/1?^?1O^_TG_Q5:\L4DV]_+_@F//-M MJ*6GG_P#9HK&_P"$3T7_ )]&_P"_TG_Q5'_")Z+_ ,^C?]_I/_BJ5J?=_=_P M1WJ]E]__ ";7]'_ +=T>2Q-P]N'P=R@'..Q![56\(Z3=:'HAL+THS1S.49# MD,IY!]N]/_X1/1?^?1O^_P!)_P#%4?\ ")Z+_P ^C?\ ?Z3_ .*K3GCRTO^QM!M;%B#)& MF9&'=SR3^9J#_A$]%_Y]&_[_ $G_ ,51_P (GHO_ #Z-_P!_I/\ XJIO#EY; MO[O^"5:ISR^__ (!LT5C?\(GHO_/HW_?Z3_XJC_A$]%_Y]&_[_2?_ M !5%J?=_=_P0O5[+[_\ @&S39$66-HY!N1@0P/<&LC_A$]%_Y]&_[_2?_%4? M\(GHO_/HW_?Z3_XJBT.[^[_@A>IV7W_\ I>'O"2^']?OKF!]UM-&%A!/S)SD M@_D.:Z:L;_A$]%_Y]&_[_2?_ !5'_")Z+_SZ-_W^D_\ BJN27EMJ4BSN^_]ZH//U&*Z^BN>OAJ M6(CRU%K175S]JO@.+.W(9\_ M[1Z+^/Y5Y]\;O'FOZ1KJ:#I-W]BM7MEEDDA&)')+#&[L..U<=X0^$FM>*(XK M_4I/[.T^8;UF?YI9@>ZK[^I_6NI1LM1D7BKXI^*/&T_V*V9[2TE.U+*RR6D] MF(Y;Z=/:M?PE\$=0U'R[KQ1*VFVYY%M'@S/]>R?J?:O6_#'@G0_"4 71[,"8 MC#W4OS2O_P "[#V&!6O=7L=HO[S))Z*.]._81S<_PQ\(S:(NF?V/%'$N2LT9 M(F#>N_J3]>/:O)_%GP:UG0R]WH#-JMFOS808GC'NH^]]5_*O:EUJ3SB6C79V M4=:T++4[6_:5;29'>$@2HK9:,GH#Z47 \"\'_&3Q%X79;/5-VJ649VF&X)$L M8] QY_ YKW?PG\0?#_C&$?V5>!;G&7M)OEE7\.X]QFL?Q7\/= \7(SW]MY%Y MCB\MP%D_X%V;\:\1\6_#77_!+'48)/M-C$P*WMNQ1HCGC<.JG/<9%&C"Y]6T M5Y%\#_'&N>)FU#3M;N1=)90QO%,R_O#DD88]^GUKUVI:L4%%%5[^Y-GIMS?A/&'Q/UHLQN=2E!Y9CM@@'_H*C]:] M5\)?!;2='*77B!UU6\'(BQB",_3JWX\>U>BV=C:Z;9I:Z?;Q6MO&,+%"@51^ M KG-7\=V=C<-!90F[=#AF#;4!^O>M(0G4=H(QJUH4ES3=C&\6_!W1->WW.D[ M=(OCSF),PN?=.WU'Y5Y#>:5XO^&6L+<*;BP?.$NK=MT,P],]#]#^5>ZZ7X^M M+NX6&^@-HS' DW[DS[^E=1<6\%Y;/;W44<\$@P\X/%$Z7JOU&1]*]AM+RVO[2.ZL9X[B"0;D MEB8,K#V(KQ3Q;\$+*\\RZ\)S"RG/)LYB3$W^ZW5?H'YUGRI[&USZYHK,\-ZG)K7A?3-4G18Y;RUCG=$SM M4LH) SVYK3J!A1110 4444 %%%% !1110 4V3_5M]#3J;)_JV^AH ^3?AM_R M5C2/^OMO_06KZ=KYB^&W_)6-(_Z^V_DU?3M:2W)*6LW#VFB7D\7WXX6*GT.* M\;R2VSPI<6\D,HRDBE6'J#7D^L^'KS1;EEDC:2#/R3*,@CW]#7I8 M&<5>+W/%S.G-\LEL95>G^!KF2X\-1B4D^2[1J3Z#D?SKSNPTN\U.X6&R@>0D M\MC"K[D]J]7T73%T?2H;-#N*#+MC[S'J:TQTX\BCU,LLIS]HY]"_7A'Q]_Y& M;2?^O(_^C#7N]>$?'W_D9M)_Z\C_ .C#7D+<]\]=^$W_ "2G0?\ K@?_ $-J M[&N(^&-Y!8?!W1;J\D$4,=N2[GH!O:MG_A-O#G_05A_)O\*%"".QING.*O)"C6IS?+&2;/#O@5_R4";_KPD_FM? M0;NJ*2Q ZDU\^? K_D?YO\ KPD_FM>VZW(V^.+HI&X^YH>Y91O)?/O)'SD9 MPOTI;2T>[DVIPH^\WI4''&>G?%;FFW,,B-'%&8U0 DD]:D1D7$$EK(8WR!G( M(/!JYIM\8Y/+GD_=XX+'H:FU.YA'[B2(N2NX,#TK'^M '5Y!7(.1ZU\R_%O_ M )*AJWUB_P#1:U]$:-(S6\B-RJGY:^=_BW_R5#5OK%_Z+6J0SZOA_P"/>/\ MW1_*GUEW>OZ7I"P1:E>1V[O&&56!Y'3-5QXT\.G_ )BT'Z_X4*G-JZ3(=:G% MV/35K?_ +Z-.'B[P^>FK6W_ 'W1[*I_*_N#VU+^9?>;-%9 M\5Z"?^8M:_\ ?P4X>*-#/35K3_OZ*7LY]F/VM/\ F7WFK168/$NB'_F+6?\ MW_7_ !J*\\6:+9VC3G4()@N,I#(KLJ>*-*GT^XCGC-O/RAZ?HA;F5]BYWY7R[C+/5G:WWZI;K8DRK'&?-$BR%NFTC\JDGUK3K96,] MY$@60Q')_C R5^N*YJ'PSJ$-M/+;VUO;9NH)XK!)B478>?F(X)]ACBB:QU*S MU"QE>WAEN)=2FN!&KG: 8NA;'!XZXKI]G3;T?]?B2^B$4REHVSG>!UQ]*=/KNEVRP&>^A03J&C.[[R^OT]ZYB/3]1TW4M,$=M M%/\A$+L#M#8[9_'FI(O#.IV-DUO;K;W!NK$6LK.Y40G+'(XY'S=.. ME'LJ:Z_UJ'MJS^S^#[+_ #^1OW_B'3=/$XGND,L"%VB4_-@#/3\1^=)=Z];6 MWATZN@,L)4%0IQDDX R>G)ZUGIX?3FK[V]_+X; M2 6]J+D1JKP3'?&P'!!('<=\<5FXTU:WD:*55WNK:,++6)'CW:I;+9!G5(W$ MZR)(6Z $=ZEN==TRS;;A&,Y],9'-ZAATR":)5AM MH)&D E4Y5^G!S@8%69]!U(V%F]LF+WR6\V=+DQ,LCGGM6CITV[W_ M *M\S-5:R5K:_P#!^7RT-N+Q#ITM[>VWGJALE#2.QPN,TK7M;O^O\ P#8B\0Z3/)"D5_"S M3MMC&>2?3V/L:FM=7L+V[>VM;J.6:/.Y%/H<''KSZ5BR>'[MH[@*(=TFK+> M[O\ EF"/;KP>*=H^D:E8ZQNXM[)0^Z$7!E1R3D%%(RGJ>:EPIV;3&JE;F2:_ MK^M3I****YSK,;7/^0EHG_7[_P"TWK9K&US_ )"6B?\ 7[_[3>MFM)?#'^NI ME#XY?UT04445F:A1110 4444 %%%% 'S5\?_ /DHL?\ UX1_^A/7LO@W_D1= M#_Z\(?\ T 5XU^T!_P E%C_Z\(__ $)Z]D\'''@30_\ KPA_] %:/9$FUFN= MO]4LK^[:*RN8YVM_EE\LY"D]L]*\C^)?Q1N-8O9-(\/S26]A ^)9AE6N&'ZA M?;O7):/XJN-/G5Q*\$@_Y:1G@_44)"9W'Q3\1ZGI,MI8Z;5D&'.# MC&>P^E7/@/JEG;V^JVES=(ES<3HT:R-@R?*)6L[S47C46\ M10F,X$F3G/M]*YZ?6!$GE:=&(U'1R.?P%.V@KGUQ7'?%@_\ %K]8_P!V/_T8 MM<+\*_BA-]IA\/>(I9)A*VRTNFRS G^!NY'H>U=U\6/^28:Q_NQ_^C%J>I1Q M/[./_(;UW_KWB_\ 0FKWZOGK]GR\M['5->FO)EAB$$(W,>,EFKW#_A*-$_Z" M4'YUC4K4X2M*27S"Z6YJU1UO_D7]0_Z]9?\ T UD7/CC2[;4$A#>= R9,\7. MTY/!%:&H7MM?^&-0FLYTFC-K)\R'./D/7TK.GB*-63C"2;0*2>Q\U?!G_DIV MG_\ 7&;_ -%FOI.OFSX,_P#)3M/_ .N,W_HLU])UURW RO$US):>&[V6$D/Y M>T$=LG&?UKR(5[7?6D=_8S6LWW)D*G';WKR75=#O='N6CNHF*9^651E6'U_I M7IX&<4G'J>'F=.;DIK8SZ]7\(W,EUX8M7F)+*"F3W .!7FVFZ->ZM<+%:0L0 M3\TA&%7W)KUG3+&/3-.AM(CE8EQG'4]S^=/'3BXJ/4664YJ3GT+5?/7QS_Y* M!%_UX1?S:OH6OGKXY_\ )0(O^O"+^;5Y2W/=/?/ /_).O#__ &#H/_0!705S M_@'_ ))UX?\ ^P=!_P"@"N@J"@HHHH **** "BBB@ HHHH *;)_JV^AIU-D_ MU;?0T ?)OPV_Y*QI'_7VW_H+5].U\N> ;NWL?B=I=S>SQV\"7;;Y)&VJN0PY M/;DU]">+M9ETK1%DLR/,N&V)(#D*,9R/6ME%SFHKJ8U*BIPY5X1\??^1FTG_KR/_HPUZ+X#UJYO!+I]RQE\ ME T3DY(&<;:\S^.U[;7/BRPBMKB*:2WM"DRQN&,;;R<''0X[5Y-2FZE9_C2&*W^ M'&NQ01K%&NG3A41< ?(>U=%6#XZ_Y)]K_P#V#I__ $ T^:3T;$H13ND>!? K M_D?YO^O"3^:U[Y=V:7<>UR5(^ZP[5\Y?"/7M.\/^-OM&L7*VL$ML\(E<':&) M&,GL..M?2<4J3PI+"ZR1N,JZ,&5AZ@CK5/<#$NM*FM[266-EE:-"P0#!; Z5 M3TVT&IVC1:E,UN+A 3:+\K,O4'<>H_W:Z*^*52DL-KEHV&)(F"_F.G6G'17\S*6[7EL4]61]/0"PD:]$*A# >6C7H,N M./P/-:::+(0I:55R.1M/%1ZG);Z;H/V.UC:64(FV"(9=N1EB!_,UN*VY0V,9 M&<'M1+:XX[V_ BM[=+6#RX_J2>YKYJ^+?_)4-6^L7_HM:^E;N[M[&UDN;V>. MW@C&7EE<*JCZFOEWXB:O9:[X^U+4-+F\ZUE9 DFTC=A ">>V121H?6PM+>XA MB-Q!%*0@ +H&Q^=(=*T\];"V/_;%?\*GA_X]X_\ ='\J?4Z*?]D::> MNGVO_?A?\*0Z+I9ZZ;:?]^%_PJ[13YI=QQ0.@Z2>NF6G_ 'X7_"FGP]HY MZZ79_P#?A?\ "M&BGSR[A[.'9&8?#>B'KI5G_P!^5_PJM>^#M#O+5H180V^X MC]Y#&%<8.>#CCTK?<0.6/RV MMPY&8!)&ZLN5EC=<,A_)3^%.HVTF^WZL5)*+DDM+_HCDK_QAXBTO0[6_U"ST MR);V2 0RK)(R1K(&)5U W$K@=B+D\*-Q^7IS3W\%Z'+ M"\,MF7B;=^[:1BHW2B4@#/ WJ#[=*C2YKJ'@[7;OQ%X?^VZC;1VMP)Y8GBC) M(7:Q'?OQ7,'X@ZJ-+UC4!!8B.PE:)8VBG!XG$08OC:1C)(4DUV5CH5MIM\T] MF\L:-YK-#YA*,\C[V;!/7/3T!-45\$:0B7$>;UH+B0R/;M>RF(,9!)D)NP#N M&>/>EI<9R[?$G4/L*.L>GC=J!LQ>%9C X$1EN?!RZWJ M5F]JZV[S208.<+GD9 ."!D9&>14J^&],74A?+"PF%T;L8D; E,?EEL9QROZ\ M]:M+8)]MNIY)))%N8UC:%V)10,]!TYW<^N!0]M ZG*67CF\MI+<^(K2".*^L MX[RV-DQ8IR..O%7K_P ?:7IRAY8+IH_M$D#N @V%'V,<%@2, M^@)QVJ*#X>:9#/=+Y]S)9SVZ0)!)*S-;A'W*(Y"=QSS\W-/2XM3-F\?S6YD#:>;AUF:,10]2!=^0&R2!TYQZ^ MU=%I7B.SUBZDMK5)EFA#^202/4#-5YO!FC3+*##*K2YRZ3, M&!,WG9!SP=_/Z=*2R\+);7=Y=O<%;B\ODNI&MP8]P10JH>>>!SZDGBDK6U&] M]#!\0^/KW1_%4^F6]O:3+";<) PD\ZY,IZ(0"H(]ZOM\2=$6XO(E2ZD-J2,Q MHK>:1((R%&[/#,/O8SU&:V;OPWIM[-=2W$+&2[:%Y&$C [HCF,C!X(/I6;J/ M@73[NQO8+6:XMOM;AR/.=DC_ 'JR/L3.%+%>HZ9H5NH$;_$+3(U;?:7PDA\P MW:&"2VNPS@*TZQ#R_,\@3[1SG.PGMVQ46E^.X MM7N8FMK-X[)YX[- M_'__ )*+'_UX1_\ H35U^C>-FE\#Z9;>'C'-):V<<=RX.7A8+@Y3J!_M=*WA M!S:BC&K45*+DS6\=^"?#?B",O=)'::K)_JIX<"1_]Y?XA]?SKR^R^$.H-JS1 MZA>1+8QD$2Q-N#_P#7K>MAY4M5JCDP^,A6;6S,B?P!X=FT9=-%BL<:!O[V[O^/%< M*?A#J7]L&%;Z'[!U%P1\^/3;Z_CBO7LUGW^MVECE2WFR_P!Q#G'U/:N>$92= MHHZYU(TU>;L7_!'A/PYX?L@='BCFO -L]RY#2[NX_P!D>PJ+XK_\DOUC_=C_ M /1BUQ:ZG=0ZD]Y:2M;RNQ;Y#Z]O>K7COQ@+CX=W^FZUY=O?W*H($!^>4!P2 M2G51@=3Q716PLJ2YKG)AL;&O+EMJ9O[/ME;W^J:]!>0K-$8(3M8<9#-7N'_" M,:)_T#;?_OFO%OV=4HTYRO**;]#OLGN54#M]<]:[8P=2: MBNIC5J*E!SET+VJ^)],TEC'<3^9,/^640W,/KZ5ST_Q%4DB#3-R?]-9.OX 5 MPY)+$DDDG))[T5ZT,%2BM=3P*F8UI/W=$=O!\10I FTP*O\ TREZ?@170:7X MJTO56$<4WE3'I%*-I/T[&O**.G3\Z)X*E)::"IYC6B_>U1[C7SU\<_\ DH$7 M_7A%_-J]:\#ZUVUY\0/]#N(IQ%:1QR& M)PP5P6RI([C->3.#IS<6?04:JJTU./4^@_ /_).O#_\ V#H/_0!705S_ (!_ MY)UX?_[!T'_H KH*P-PHHHH **** "BBB@ HHHH *",@@]#110!X-XU^ =Q& MTU]X/G^T(26-C<-AA_N/T/T/YUYW8^)=?\*R-I&IPRR6T3?/IU\&&P^J]T/N M./K7U[6)XE\':'XML_(URQ2<@?),/EDC_P!UAR/Y5<9-.Y,HJ2LSPK2]6TO7 ML#2YS%='K8W+ 2$_[#='_0^U665HW*2*493@JPP153QE\#=:T+S+SPZ[:M9K M\WEJ,3QC_='WOJ.?:N9TOQQ?6.+/7X6U"&,[/WAVW$..P<\G'HV?PKTJ6-:T MGJ>/B,M3UI:>1V&:2]FM-)MUGUJZ6S5AE(L;II1_LIUQ[G KF=3\?K"IC\-V M[0L1S>70!E'^ZO*K]>3]*F\*_"_Q1XYN?MUP)+2TE.Y[Z]R6D]U!Y;Z\#WJJ MN-Z0(H9;UJ_<4M2\?:A.LEGX=2338)OD9HV+7$P]"PZ?1:\S:19,=VUUS/(/93]WZG\J]E\'_#'P[X-5);2V^U7X'S7MP SY_P!D=%_" MNPKS)5')W9[4*<8+EBK(S]!T6T\.Z%:Z3IV_[-:ILC\QMS8SGD_4UH445F6% M0W=I!?V1++!.ACDC;HRD8(/X5-10!X;XR^ (/F7G@R?:>2;&X;CZ(_\ M0_G7G.E>)?%GPXU1K,^=:[6S)87:DQO[@=OJM?7%96O^&=(\3V!M-;L8KJ/' MRLPPR'U5NHJE+N*QP'A+XMZ#XC*6]ZPTF_; $4[?NW/^R_3\#BNQU+2[?5+5 MH;D$;A@2)PR_0UXUXR^ VI:;YEWX5E.I6HY^S28$R#V[-^AKF?#/Q*\2^"Y_ ML%QONK6)MKV-[D&/V4]5^G3VJEO=$M75F?1UI:6^FV82$*B(OSR,>3@=6/\ M4UY_XL^,^C:*9+;0E75KT<;U;$"'W;^+\/SKRO7?&OBGX@WZV*^:T4C?NM.L ME.T_4#EOJ?TKN?!WP!GG\N[\93^1'U%C;L"Y]F?H/H/SH?=C79' 3WOB_P") MNM"+_2-2E!RL$0VPPCZ?=7ZGFO5?!WP#LK/9=^+YA>S=19PDB)?]YNK?A@?6 MO5](T73=!L$LM'LX;2W7HD2XS[D]2?J>;L.P@ 50!P ,"EHHJ1A1110 4 M444 %%%% '/ZS>VVG^*-+N+V988?(G7>_ R=G%6?^$KT+_H*6_\ WU6LRJWW M@#]12>5'_<7\JUYHM)-;?UV,>2:;<6M?+_@F5_PE>A?]!2W_ .^J/^$KT+_H M*6__ 'U6KY4?]Q?RH\J/^XOY4KT^S^__ ( [5>Z^[_@F5_PE>A?]!2W_ .^J M/^$KT+_H*6__ 'U6KY4?]Q?RH\J/^XOY47I]G]__ M5[K[O^"97_"5Z%_T M%+?_ +ZH_P"$KT+_ *"EO_WU6KY4?]Q?RH\J/^XOY47I]G]__ "U7NON_P"" M97_"5Z%_T%+?_OJC_A*]"_Z"EO\ ]]5J^5'_ '%_*CRH_P"XOY47I]G]_P#P M M5[K[O^"97_ E>A?\ 04M_^^J/^$KT+_H*6_\ WU6KY4?]Q?RH\J/^XOY4 M7I]G]_\ P M5[K[O^"97_"5Z%_T%+?\ [ZH_X2O0O^@I;_\ ?5:OE1_W%_*C MRH_[B_E1>GV?W_\ "U7NON_X)E?\)7H7_04M_\ OJC_ (2O0O\ H*6__?5: MOE1_W%_*CRH_[B_E1>GV?W_\ +5>Z^[_ ()E?\)7H7_04M_^^J/^$KT+_H*6 M_P#WU6KY4?\ <7\J/*C_ +B_E1>GV?W_ / "U7NON_X)S5]K.G:GK&C1:?=Q MW#K=EF5#D@>6_-=/30B*O _$OPZ\5> ;S[:JR/ M;QG*:A9$X7_>QROX\5]7TC*'4JX#*1@@C(-4I-"L?*>E^/8;C$7B.#YO^?ZU M4!O^!Q\!OJ,'ZUU$:K-;+>6,\=U:YXG@;(4^A[J?8XKN?&7P2T+Q#YEUH^-( MOFYS$N87/NG;ZBO$M7\,^+/AQJ0EG2:U!.%NH&W0RCT)Z'_=85VT<7.&CU1Y M^(P%.KJM&=\^LW[VPA:X;;W(^\1]:IW'DV-J+O5;F.RMVY5Y?O2?[BCEOPX] MZY)_B+=?8QY.F6<5_P#Q7."5^HC/RAO?D>U+X=\"^+/B'?&\"RM$Y_>:A>,0 MN/;/+?0?I6\L7&*_=QL$_A/XE\9S"]O ]C9RG<]Y=@EY/=5/+?4X%>S>#O@]X>\*^7<7,8U34%Y\ M^X4%4/\ LIT'UY->@=*\Z=64W=GJTZ4*:Y8JQR_@KX?Z-X&M9%TI9)+F90L] MS*V6DQTXZ *O N@>,;?9K-DK3 82YC^65/HW]#D5<9M.Y$H*2LSQ/3-0T[7E!T: MX+3XR;*?"S#Z=G_#GVJ8@J2&!!!P0>HK+\8?!77_ R7O-&+:M9(=P:%<31C MU*CK]5_(5BZ7X]N8@MMXBA:_C7Y1/G;<1_\ C]_'HW/N*].EC>D]3Q\1EJ> MM+[CK[8_&N7U7Q^ZYA\-PM:*>#>38 M:=O]WLGX9/O5_P (_"+Q)XPE%[J&_3;*0[FN;L$R2^ZJ>3]3@4ZN-Z0%0RU; MU?N,G4O'.JZDK:=H4?LX&9W'OV3\,/>3_ #2M]#_"/88KJ:\R4W)W M9[,81@N6*T*NF:=!I&DVNG6886]I"L,08Y.U1@9/?I5JBBLRPHHHH **** " MBBB@ HHHH **** "BJ6J:B--LQ*(S-)(ZQQ1@XWL3P,]JBMM5D4M'JMO]CE$ MBQJ0Q9)"W3:<5DZT%/D;U_KKL*Z3-*N2\7_#7P]XRC9[^U$%[C"WEN L@^O9 MA]:WIM:T^#/F7'*R-&0J,Q#+UX [9ZTQ=>LCJ,EJ9,>7")C(0=NT\]?IS1[> MDG;F7W_,+HXSP?\ !?P]X9D6ZOA_:]\K966X0!$]-JW>872B-&56+*5QNZ<$9P?6FKXATMMH%T 6?R\%&&UO?CC\:/;TG]I?>%T: M5%4SJUBM\+,SCSMVW&#C=UVYZ9]J=9ZE:7[2"SF$IC.'P#P>>/TIJI!NR:N% MT6J***T&%%%% !1110 5S?BKP%X?\8PXUBR!G PMU#\DJ_\ N_T.:V-0U>P MTO2[C4+ZYCBM;92TLF<[<=N._M5#0?%NF^(9)X;3[1!<6ZJ\EO=P-#($;[K[ M6ZJ<=: #PUX/T/PE9BWT.QC@R,/*1NDD_P!YNI_E6W35EC9 ZNI4]&!X-(LT M3;=LB'>,KAA\P]J 'T444 %%%% !1110 4444 %%%% !1110 4444 %%%% ! M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %% M%.10RL/0@UY[-X]U"QU)9(577;!-"2_E>S"Q*2'8/("QSC X7).: MT+GQXEA>ZC*8;J\A1K!(+=$12#< XP<\\XSGIVIV 9;_ =\&6VNG4TTS<>J MVKN6A4^H7^AX]J[>.-(HU2)51%&%51@ ?2N-/Q#VHL,FB70U+^T?[.>R$J$K M(8RZG?G:5('7M5>?XIV<-I #I[KJ+RS12V%["XN)(]*^W27!V 6FX,$W*Q^8Y4Y [#O7=Z=,]QI=K-*< MO)"CL0,9)4$T68%BBBBD 4444 %%07E[;V%N9[N41Q@@9/<^@' M=:2B1 =IX((/H0>0:GGCSPKK8L5Q7C'X5^'?&"O--!]BU!AQ>6P 8G_: M'1OQY]Z[6F+-&\KQ*ZEX\;U!Y7/3-5>PSA/!OP@\/>$_+N9H_P"T]17G[3<* M,(?]A.@^O)]Z[ZBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH S]9T^ M34+-!;.J3P2K-$7^[N4]#[52N;#5[VW\RX>W$T=Q'-%;JQV*%Z@MC.3]*W:* MYYX>,VW=Z_U NW.>/8UO44_JE/K_ %>_^8)0>#M0NO#VHC2K"_AD2WMF>TGLTM8[B6*4.5 SEWP"-_0Y')KI M?$%UJOBS1KU[+PS>VMO']G\W[1&(KF[C$NZ6%5ZE=OOR<@5Z1157)L>1Q>&; MB^U&W-MHES:Z!-KLLT4KZ_UY?Y!:Z_KS_S"BBBD,**** "BBB@ HHH MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ M HHHH **** "BBB@ HHHH *Y_6_#5WJ6H?;--\07^E2-%Y,J0[9(W7GG:X(5 MN3R*Z"B@#D;;X=:79V)8^WM5'Q!X!EELV_L M>XE,\]QI_F,S*OE);G&]>/O8.<'N*/'?BN]T/Q)I=A!K-CH]K=6\TLES>6YE M&Y2H"@9'7)IFF?$*]7PC:ZEJ>D2W,LC39FM]D$3QHV!(/-88W#D+R33UW_K< M-M!-1\ 7P>PDL=2GFO7U@7][J#A%=<1,@*KC;@?*-N/6KB_#B&"*WFL]6N8= M3CDFDEOS%&[3F8@ON1E*]0,8'&*D/Q%M)YHH-+TR_O99M/74%,:*%6)E8C<2 MPPCFZT:Y;4-0M?M301/$O[O(&Y-SC=DGA1EL=13U_K^O( M7]?U]Y;U#X=0WJR+#K-_;+=6 L;W;L9KI%SM9B1PWS'D=0<5UMK +6SAMT)9 M8HU0$]2 ,5(IW*#@C(S@CD4M*[&%%%%( HHHH QO$*.K:?=B-Y8;6Y$DJ(NX M@8(W8[XS5*XNUDEMK^"SGM[<7P,D@C;=*NPC<5 SC.!S7345R3P[E)R3W:>W M56_#0EQN<+.MP;6.699RP>*L7,,RW&IR107$5S/#"^ M%W$[./, /3/Z^E=E16"P"M;F_#R:_4GD./$$DL@2Q6Z736OH?+'S@XVG?C/( M7.*YUN.>WM83;KYVG1.5C_A*D\JX'&X M'GTKOZ*=V!#:6RV=E!;(S.L,:QJSG+$ 8R3Z\5-112 **** "BBB@ HHHH * M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH * :*** "BBB@ HHHH **** "BBB@ HHHH __]D! end GRAPHIC 15 a3.jpg begin 644 a3.jpg M_]C_X 02D9)1@ ! 0$ 8 !@ #_X0 L17AI9@ 34T *@ @ 0$Q ( M * &@ !''EZ@X2%AH>(B8J2DY25EI>8F9JBHZ2EIJ>HJ:JRL[2UMK>XN;K"P\3% MQL?(R;GZ.GJ\?+S]/7V]_CY^O_$ !\! ,! 0$! M 0$! 0$ ! @,$!08'" D*"__$ +41 (! @0$ P0'!00$ $"=P ! M @,1! 4A,08205$'87$3(C*!"!1"D:&QP0DC,U+P%6)RT0H6)#3A)?$7&!D: M)BH*# MA(6&AXB)BI*3E)66EYB9FJ*CI*6FIZBIJK*SM+6VM[BYNL+#Q,7&Q\C)RM+3 MU-76U]C9VN+CY.7FY^CIZO+S]/7V]_CY^O_: P# 0 "$0,1 #\ T?B;\3?% MWA[XBZGI>CZM]GLX/*\N+[-$^W=$C'ED)/))ZURG_"YO'W_0>_\ ).#_ .(H M^,__ "5S6O\ MA_Z(CKAJU25B3N?^%S>/O\ H/?^2<'_ ,11_P +F\??]![_ M ,DX/_B*XB)0\\:MT9P#^==W\7/"6E>#_$5C9Z'')'#-9B9Q)(7);/O\ H/?^2<'_ ,11_P +F\??]![_ ,DX/_B*FU;PCI-I\$=)\30Q M2#4[JZ\J5S*2I7=(/N]!]T5Q5[I>H:;'!)J%E<6J7"[X6FB*"1?5<]1R/SIZ M7L!U_P#PN;Q]_P!![_R3@_\ B*/^%S>/O^@]_P"2<'_Q%<]8Z!=QZ_I-KK-C M#U%=1XX^'-W:>-K_3_ ?H]]=6-I'&S%%:7:67 M)&[U]J3L@(/^%S>/O^@]_P"2<'_Q%'_"YO'W_0>_\DX/_B*XZWT^\N[];&VM M9IKMF*"!(R7+#J-O7-7M7\*Z]H,*2ZSI%Y91.<+)-$0I/IGIGVIV0'1_\+F\ M??\ 0>_\DX/_ (BC_A)+&^U+Q5YBVBW$ M5I;;92FZ5CTR.O51^-%D%S+_ .%S>/O^@]_Y)P?_ !%'_"YO'W_0>_\ ).#_ M .(K%\<>'O\ A%?&FI:2@80PRY@+'),;#*\]^#C\*J1^&-=DE6--'O=[0&X M,##,0_CY_A]Z2LU<;NG8Z7_A!LQ MNI",1[CD"G9;"OI_P#).#_XBC_A/O^@]_P"2<'_Q M%,\._#F]USP'JVOB"^,UL$^Q010$BZR<$CC) ]JY:ST74]0U-M.L=/N;B]4E M6MXXB74C@Y';'O3TO872YUG_ N;Q]_T'O\ R3@_^(H_X7-X^_Z#W_DG!_\ M$5RVKZ!JV@3)%K6G7-B[C*">,KN^AZ&I=)\+Z[KT3R:+I-W>QQG#/#$2H/IG MIGVHL@.D_P"%S>/O^@]_Y)P?_$4?\+F\??\ 0>_\DX/_ (BLOPCX+OO$GC"+ M1;BWN[95DVW;B$[K88)RP/3ICFH-=\):GI7BB;2(M.OG9IY$M T#;[A%8@,H MQ\W SQ2T V_^%S>/O^@]_P"2<'_Q%'_"YO'W_0>_\DX/_B*Y%-*U"35#IL=C M<-?!BAM5B)D##J-O7-.BT75)[BZ@ATZZDFLP6N8UA8M"!U+#'RX]Z=D!UG_" MYO'W_0>_\DX/_B*/^%S>/O\ H/?^2<'_ ,17)76CZC9?9?M=C<0F\0/;J\9! ME4G *CJ>:NZAX/\ $>DV O=3T2^M;7C][+"0HSZ^GXT60'0?\+F\??\ 0>_\ MDX/_ (BC_A_P#).#_XBC_A_\DX/_B*/^%S>/O\ H/?^2<'_ ,17#4460'<_\+F\ M??\ 0>_\DX/_ (BC_A_P#).#_XBC_A_\DX/_B*/^%S>/O\ H/?^2<'_ ,17#446 M0'<_\+F\??\ 0>_\DX/_ (BC_A_P#).#_XBC_A M_\DX/_B*/^%S>/O\ H/?^2<'_ M ,17#4460'<_\+F\??\ 0>_\DX/_ (BC_A_P#) M.#_XBC_A_\DX/_B*/^%S>/O\ MH/?^2<'_ ,17#4460'<_\+F\??\ 0>_\DX/_ (BC_A_P#).#_XBC_A_\DX/_B*/ M^%S>/O\ H/?^2<'_ ,17#4460'<_\+F\??\ 0>_\DX/_ (BC_A_P#).#_XBC_A_ M\DX/_B*/^%S>/O\ H/?^2<'_ ,17#4460'<_\+F\??\ 0>_\DX/_ (BC_AXH0<$C.,#/?Y1]:SI?''C?P=XNGT/Q#)'XB:XV&XL M)!YJL74'8F!P<'& "/:I^0&)_P +G\>_]![_ ,DX/_B*/^%S>/O^@]_Y)P?_ M !%;7B'PIX6\0^%]7\2>%4N=&N])/_$PTJ=,JC9Q@'MT/3CCH*\LIJS [G_A M*?%7C*>RUW4C=VD=F\FW[/$F'W*!RJ@]"U>$ M5]%? ?PY_9OA,ZS.F)M4G.PD-MDJ.1G:P./H:Z[ MXD^-[?QUK=I?6ME+9K;VP@*2N&).XG/'UHEK8%N=]\1+[3=2^ .DW>AZ?_9M MC)?#RK7.?+QY@/YD$_C6/\:/^1=\%?\ 8,/_ *#'7-ZCXXM[[X3Z;X06RE2> MSN/.:Y+C8PRYP!U_C_2MY_B3X8UCPKI5MXK\.3W^I:1$([=DEVQ28 W8(.# MM&1@]*EK7Y@C:^(X(\3?#D'@B&#_ -#CI?B7XZ\0:+\7(+/2[Z2WM+F*Y+Q;\2(?%&N>'-2.GR0-I.PS(&&)2&5CMQT'RG&:VG^)W MA'6M<77/%'A::74[60FUDMY?E= Q,8D!(!*^O--=&^[#OZ(['5=0T#PI\<;V M749TTYM6TE0EYM&()BQ!8^A(4<^HYZUB>(O#OC)O!>J_V9XSM?%6D,GF7"2; M9)0HYRI^;&,9P".G% M N[6YU2(PS7%Y-NV*01P,G/4XZ5%GRE7]X\RSQFO> M+OP-XH7X6>%]*\,6J-.DPU*\9IECQ+]Y!R><9_\ '17B&G2VUOJ5K+?1--;1 MRJTL:$ NH.2 3ZBNH\8_$75/$OB6;4-/NKW3;0HJ0VT=PRA% [[3C).36C\B M>IVW[0&AS;='\0R0>5+-#]FNE!SM<#M*#L^;(W9Y/\ M$/H:I^.O&MOXOM-#AM[.6V.EVGV=S(X/F'"C(QT^[46>WF.^MSN/'VL7_@?X M?^$-*\+74FG1W%MY\TUN=K2-M4\GW+$G\*S_ AXNN?&/QE\-WNH6<,%U#"T M$DL>^!4, MGQ0CE^).F>(3I?DZ=I<1@MK&%@&";2HR>F>?R&*M?$3]D['0_&>MW7[0DVDF M^D33!G&ZK^@_$>UT?Q%XIU*33YY4UU)%C174&+<6 M//KU[5'*[+T95]7ZHZ7P1XCU>T^ GB*XMK^6.739$2T<8S"I*$@>>VZN'\!^.-*T'P_JOA_Q-IL MU]I>I$,WV=L.I QZCT!SGC%3>'/'^CZ5;:MH&I:-+>^%K^'O! MF@FQM)I!)<7-V1),Y'8')QT'?VK2LOB)X;UCPOIVE^/]#N-0FTL;;:XMI-I= M< !6Y'8 'KG%*PS6\"^/-3\3_&+3)I84L6N;8P7BP]+K8C%6;/?/I5;2-;U+ M5_VB+6+4[R2Y2SU"YAMU?'[M/G^48^@K"N?B?+/\3+#Q/'IR0VNGJ(8+)6QB M'!!&PQ_2G:QXVT"'Q]8>*/"6DW-M/'.UQ>1W,G$S-U"@$[>"WY]*:W3$] MFC332CA2/F$8R0">,GCC/K6'H/Q(M='\7>)M8DTZ>6/6UD6. M)9%!BW,3R>_7M4V=EZ,K2[]4=;\,M>N?'GQ$O=<\0-"7TJQ9K*,1 +;AFZ@# MDX&>>O-7="\6:'9:E>2>(OB8FN:?>QNDUC/82*@W?W>NT=1@"O)/!/BZZ\%> M(H]3M8UG0H8IX&.!+&>HSV/ (KKSX]\#Z-]KO_"GA.5-6ND90UZX>&#=U*KD MC\,#\J;1*/-[Y((]0N4LG\RV65Q"_P#>3)VG\L5!2LQ=V=N68DDX[TE4M@>X M4444P"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB MB@ HHHH *[SX*_\ )6-+_P!R;_T4U<'6UX0\2S>$?%%KK5O;I!QW_*MS0)8EFEM M_A1HS7URQ*W7BC5\E<]RI/+?08^AK FT+PE\2899/".J-H>K3.9YM(O9#Y4L MG=E]_<9^@J73/!7C@^'_ .PO$>JQ>&?#=@S^=(TJ@S9;<>0?F'/<@>QJ1E?P M^LJ?#[XGKFZYXP\)Z!X4U'PIX%LYKF*^0+ M=ZG<,QKS*J0BYI&F3ZUK5GIEH,S7R(D=97&/T7/\ WT*^AI?] M9#_O_P#LIKCQC]Q>L?\ TI%1)****V ^6?C':W,GQ:UEX[>9U/D898R0?W$? M?%<1]AN_^?2X_P"_3?X5]NT5?,*Q\1?8;O\ Y]+C_OTW^%'V&[_Y]+C_ +]- M_A7V[11SA8^(OL-W_P ^EQ_WZ;_"C[#=_P#/IJG(KGK0=2-EW3^YIE+06BBBM1!1110 4444 %%%% !11 M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4 M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%9'B'Q5 MHWA:Q-UK=]';)_"A.7<^BJ.2:\+\9?'?5-5+VGA:-M-M&^7[0XS,_P!!T7]3 M32; ]ZN/$&D6NJQ:;UF^61/P[_45TU2,**** "BBB@ HHH)"@EC@#J30 5'/ M<0VL#37,J11(,L[M@ ?6O/O&7QET#PQYEK8-_:FH+QY4+?(A_P!INGX#FO#M M:\5^+OB3JBVC&:X#M^[L;12(U^H[_4U2C<5SZ*TSXG>$]7UN32[/5HC<(=JE M_E20_P"RQX-=8#D9'2OE?4?@UXKT[1TOA!#=.!NEMK=]TD7X=_PJ7PA\7O$? MA&06>H%]1LHSM:WN21)'_NL>?P-/E[!<^HZ*Y;PE\1/#_C&$?V9=B.Y R]K- M\LB_AW^HKJ:@84444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%8WB/ MQ;HOA2S-QK=]';C'RQYR[^P4W9?YTT MFP/<=7\:>'="OX;+5M6M[:XF;:L;/R/KZ#ZUM12QSQ+)"ZR1L,JRG((KY.TK MX:^+O$UG-JB6;D,-ZO=R;7N#_L[N32Z#XT\6_#K439[IHXXSB33[Q3L_#/3Z MBJY>PKGUG17GW@WXQ>'_ !3LMKJ3^S-0.!Y$[85S_LMT/\Z]!!!&0<@]#4#" MBBB@ HHHH ***.E !2.ZQH6=@JJ,DDX KAO&/Q:\.^$M]OYW]H:@HXM;<@[3 M_M-T6O"_$7Q \6?$*^%C'YJPR-B/3[$'#?[Q'+?CQ5*-Q7/I[3->TK6O-_LK M4+>[,+E)!%(&VD=JT*^1;WPOXQ\ RP:H8+G3R0"MQ;/D+_LMCC\#7HO@WX_% M0EIXS@XX OK=?_0D_J*''L%SW6BJ>F:M8:S8I>:5=Q7=NXRLD3!A5RI&%%%% M !1110 4444 %%%% !1110 4444 5-3U6PT:Q>\U6[BM;=!EI)6"BO%?&7Q^ M+![3P9!@<@WUPOZHG]3^52?M'\IH [9G./\ OBJOPG^'6AZEX?@\0ZM$U[/) M(ZI!)_JDVMC)'\1X[U:2M<3.&T;PCXL^(NI-?2F:5';]Y?WC$(/IZ_05[-X2 M^%6@>& EQ+&-3OQSY]PH*H?]E.@^IKMD18XUCC541!A548"CT [5S'C#Q))H M\:6ME@7,R[BY'^K7U^M7"$JDE&)C5JQI0]N#)G.[S#79^#O%$]W7O;2([DN[3(DB]V Y7Z]*W MO!OQWU32MEIXIC;4K4<"X0 3)]1T;]#7NG3D<&O//B'\.- U/1M0U>*W^PW] MM \_F6X 64J,X9>G/J*X]]STCT/P]XIT;Q38BZT2^CN4_B4'#I[%>HK7KYE^ M G_)3N.,V$N??YDKZ:J&K,H****0')^,OB/H/@J,IJ,YEO2NY+.'F1O0GT'N M:\#\6?%7Q-XTF-G:E[.SD.U;.TR6D]F8W(M;0 +(#[]F_&IK34);>0 M!R7C[@\X^E:$.L0RR;65H\]">E(#Y[\4_"_Q%X/F^W66^]M(CN2\M,AXO=@. M5/OTK?\ !GQVU72?+M/$Z'4K0?+YZ\3(/?LW\Z]T'KZUY#\:/".BV?A\:[96 M2VU\;I(G:'Y5D# Y)7IGCJ*J]]P/8/#OB;2?%6F_;=#NUN80=KXX*-C.&'8\ MUK5X[^SG_P BOK/_ %_C_P!%K7L50]&4%%%%( HHHH **** (+V[2QL)[N8$ MI!&TC!>I &:RD\0W+HK+H6H%6&0<+_C5GQ)_R*^I?]>LG_H)JY9?\>%O_P!< MU_E6JY5"[5S&7,Y\J=M#,_MZ[_Z .H?DO^-']O7?_0!U#\E_QK:HIN_^@#J'Y+_ (T?V]=_] '4/R7_ !K:HHYH_P OYAR3_F_(Q?[> MN_\ H ZA^2_XT?V]=_\ 0!U#\E_QK:HHYH_R_F')/^;\C%_MZ[_Z .H?DO\ MC1_;UW_T =0_)?\ &MJBCFC_ "_F')/^;\C%_MZ[_P"@#J'Y+_C1_;UW_P! M'4/R7_&MJBCFC_+^8N_^@#J'Y+_ (T?V]=_] '4/R7_ !K:HHYH_P OYAR3_F_(PI?$=Q!" M\LNAZ@J1J68X7@#D]ZV;>=;FUBGCSME0.N>N",U6UG_D W__ %[2?^@FETC_ M ) EE_U[I_Z"*93Y6[Z%RBBBLC8**** "BBB@ HHHH I:MK&GZ' MI[WNK7<5I;IUDD; ^@]37B?C+X^RS>9:>#H/+3H;Z=>3[JO]3^5;_P"T,,^" M=/S_ ,_X_P#0&KDO@WX(T37--N-9U>W-W-!<^5%"Y_=C"@Y([GGZ5:2M<3.1 MT3P?XJ^(6HM>MYTB.W[R_O&(4?0GK]!7LWA+X4Z!X8V7$L?]I7XY\^X7*H?] ME.GXG-=NBK'&J(JHBC"JHP%'L!TJMJ$SP6C/'PV0,T7$6'E56 D< GID]:S= M>\-Z1XGL_LVMV4=RH'R/T=/]UNH_E6!J6IP6%L][J=RL42?>DD/2LCPA\2T\ M1>-(]$T^)VL_*=S/+PQ*@8VCT^M '&>+?@GJ6F;[KPU(VIVHR3 W$R#Z?Q?A M6;X3^*_B;P;.+.\+WUG&=K6EV2'C]E8\CZ&OH^N<\5^"-#\5VDC:K: 7*H2E MU%\LBD#U[_C1?N!<\'_$KP]XR18["Y\B](^:SG^60<=O[P^E==7R=\)5 ^+> MB#KMEE _[]/7UC2DK,84445(SF?%GQ \/^#8"=5O%-P1\EK%\TC?AV^IKP;Q M?\8O$7BN1K+2M^FV4AVK#;DF:0>[#G\!6)XUMOMOQ:U>W9ROGZHT1?J0"^/T MS7O_ (7\ :#X00?V;;"6['#7U>'_"^C^%[3R-$LD@XP\I^:1_JW7\.E:YYZ_G7FGB3Q9=W MMY);V$S06L;%04.&D]R:VHT95I61S8C$0H1YI'I+JDD;1NJNCC#(P#!AZ$=Z M\U\6_!?2=9WW6@,NEWAY,6,PN?IU7\.*Q[36-1LIA+;WDP8')#.6!^H->G>' M=977-*6IN-.=-U+R[3Q7&-.NCP+E.87/OW7\>/>O0+RRMM0M'M;Z MWBN;>08>*50RFO ?BWX%TKPG+8WFB^9'%?/(K6[GWS5Z54/+/^1,UK_KPF_P#0#7CGT1XG M\!/^2FC_ *\)?_0DKZ:KYE^ G_)31_UX2_\ H25[[J,?B-@F5 MBPXYSCWI\O,[7L3*7*KVOZ&[17,^5XT_Y^-*_P"^'JGX6A\6I?2'4I$^Q>8V M5FY8\_P=P/K5^Q]UOF6AE[=\RCR/4\2^._\ R4ZY_P"O6+_T&O=M (7PKI;$ MX LH2?\ O@5X3\=_^2G7/_7K%_Z#7N>C(9?!^G(."UC$!_WP*A[(W*E]?&[8 M*%VHIR/>H[2T>[DPO"#[S>E0LK1N4<$,.H-"W)@QF8QIG)^; J1&[/IT,EL( MHUVE?NM_C6'+$\,ACD&&%79]<61;B+R9H(U \JX=2%E^AJ@TC28+N7]RQ5XM^S^+D^"]>%@8UN/M M@\LR#Y0?+7K7H>SQH/\ EKI1_P" M5*'-U2)E4Y>C?H=-17,?\5H/^@6?^^J M-_C0?\LM+/\ P)J?LO[R^\CV_P#=?W'3T5R_G>-!_P NVF'_ (&U'VCQH/\ MEQTT_P#;4T>Q?=?>'MU_*_N.HHKF/M7C,==.T\_]MS1]M\8CKI5B?^WBCV+[ MK[T'MU_*_N9J>)/^17U+_KUD_P#035RR_P"/"W_ZYK_*N .I^*KBQUJ*^LE: MS$N6Z#/6D$L;!L2(0.O(XKG.HXVQDNM/UF"366OMT]R42ZBG#V\NXG:I7 M^'_ZU:$7B:XDLK*8PQAKB.Y=AD\>6#C'UJ]!XTH6DT(3S?."B1C*6(V_=PW>^6\^RL0Q$9RF\-Z_45=T*YU"XU+55 MO9(FBAN/+0)GY?E!Q].?SS5F'1M-MO(14^>.4S(7D)9GQ@L23D\&K$&G6]O? MSW<*LLMQCS/F.TD<9QTS42G3LTD:QIU;IR?7_,Y..6ZT_6EN-7:]*RW96*[@ MG#0,&.%1D[#M5X>)[V2UF6"S62[M4?[3$I)VL'VKCUR,M]!6BOAO28KU;@0D M%7\Q8S(?+#9^\%SC.:+70T*7[:@(WEOI TAARH 4 +@]<\9SZU;J4Y:M&:I5 M8NR>_P#7]?,R%UW4;V73!:W%J2]XT4P4,N<(6P01DADL\V;R M21J0C93;G#$XQ@D=!TK3/A_3(H%5PX*S";SFF.\OC&=V<]./I4D6A:RMVM3%#M-I&8H?F M/RJ<9'Z"JK^&-+:*.+RI%BC0)Y:RL%90*Y3M*6L_\@&__ .O:3_T$TND?\@2R_P"O M=/\ T$4FL_\ (!O_ /KVD_\ 032Z1_R!++_KW3_T$5I_R[^9E_R]^193?%R#5;Y%M;?9IH/SYYE;T..WTI/C!X4\5:X\=UIS"\TNW7(LH>'1N M[D?Q?TKP\-);3$@M%(AP>Q'M32$>P_$;4+75/ #2V,RS*;F/A>HZ]17">#+R M_P#"^NQZQ$D8,:,A27^)3U^E7="T;Q#K&DS74.GEXU7=&7;9YQ'H#UKE=2GO M3\O_ M %S;^1KY?\#^%/$NMZM#>>&U>V-NX/VYSM2,_7O].]?3:K.FF[;MUDG6 B1T M7"LVWD@=A4,H^;_A-_R5W1?^NTO_ **>OK"ODOX7&5?BII1MU#2AYBBGH6\I M\"OHK[9XR/\ S#K0?\#'^-<^(KJDTG%OT5Q M6ULV6+8/'!KI/#%T4X M+*0#^%>)S1/!<212@JZ,58'L17MUA-7C_[0'_(-T+_ M *ZS?R6O8*\?_: _Y!NA?]=9OY+7F+<]LZWX"_\ ),(_^ON;_P!"KTJO-?@+ M_P DPC_Z^YO_ $*O2JE[E!1112 **** "BBB@ HHHH **** /#OVCONZ!]9_ M_9*Z'X.?\DPL?^NLW_H9K'_:'TV]NK'1[NVM99K>V,OG21J2(\[<9].AKDOA MO\5X/#&FQ:+K-FS6*.S)XSZ5?V26>M>(_%T.C,;:V43W>.5)^6 M/Z^_M7"WOB+5M08F>]D53_!&=H'Y55NW6^EFU&TF6[M9Y&=9XFW Y/?T/L:K M"O:MVFMZG8L#;7LR@'[K-N'Y& MJ-%=3C%JS1Q*\;K?3)::HJPS-PDJ_=<^A]#6QXL_P"1,UK_ *\) MO_0#7E$4$DRM(N$C09:5VVJGN6/ J?QG\8K%]%GT;0(?MK30&":\D.(P"N&V MCJWUKQL72A3DN3[CZ++Z]2K%J?3J8?P$_P"2FC_KPE_]"2OIJOF[X!:;>MX\ M;4%M9C9I9R1M<;#L#$I@9]>#7TC7#+<]-!1114C/F#X[_P#)3KG_ *]8O_0: M]W\/?\BOI7_7E#_Z *\:^._A[5?^$RDUD6,KZ=)!&@N$&5# 8(..E2>"OC7] M@MK?3?$]L7MXD6*.[MQ\R*!@;E[\=Q6FZ)/;WACD.7C5C[BL232(Y/$DMQ 5 M61((V5)%W1YRPZ=ONCFM+3-6L-:L5O-)NXKNW;H\39Q['T-02Z?D?LY_\ (KZS_P!?X_\ 1:U[%7EGP&T/4]%\*WYU6SEM/M5T M)85E&"R;%&>QV4'_"2![G3]0O5D6S;2+BVW;8HU4;\OT7G<6SU!KG[/PIK,6F8N;. M:,76FRJ1;I())&,J967)^\%Y& /XJ]G2-(HPD:JB*,!5& *=4W-+'E^@VFKZ M+XE@U37H;HPV5G/8AU5G!CC>-8VQZO\ ,WTK0\;6+W'C32KB>UFGL4M7#E;* M2X7=YBG&$(VG&>37?D!AA@"/>EI7U3'W/)8/#FKQZ\]\;62*&:\U AXDD\X@ MA_+5^<;&!XXZA:V_!.A3^%[>SO\ 4W,;WUO!:_9+>)\*YR=\F2?F[$\#BN_I M" <9 .#D>U"=@>IYAXPB>#Q%?R7<-P+ZYN+1=&NP&\J$ KO&X<+R')!Z@BK4 M^N>)D%S$8-08VZ7*R/';8P?M*B,J=ISB(D\9X]37HDD461IXDNS#-=PWDTD8,2R/"063[;$5)&!SY8)S@<"K6DW'B"QN-,T\7=W M)]LN[B&X%R@WP;)3)O7CE6CRN>1DBO2:C-M URMPT,9G52@D*C<%/49]*+@< MAXNMYO%.C:$VEP&2.:_21A<1.%5/+DYD48.,X_'%IY9;ZYXHNQ=26-Q?7"*T MR7)^S#; JW00&$X^9O+W\<]*DN1XMU/2K^(76HQVZ:?9)&C;)$? !(['H.#6L4GHR)MI7BKL]ZUGQS:V;&'30+J;.#)_ OX]ZR M;SPQHVJ:A%?WVGPRW"'<'QCB:G>_$33=4@LI7LK61S/<;<(N8V Y^I%?4=>?+<]="% M02"0"1R"1TI:**D9\F>*/^2T7W_8:_\ :HKZ;GD2)9))6"(H+,QZ 5\R?$2U MU#1?B?J5Y<6LD.Z_:XMVD0A9!OW @]Q7H$'Q9T_Q;H$NFWRC2]3EV@!W_],KWZ=*G!>ZCY2M7JU'[[)%GF0Y2>53ZAR*UM.\6 MZMI[C_2#<1CJDW/Z]:Q:#5RA&2LT9PJ3@[Q=CUO0O$%KKML7A_=S)_K(F/*^ M_N*\U_: _P"0;H7_ %UF_DM/TC5[3PI>KJNMS_9;;RV"H?\ 63$C@*O4UPGQ M$^(3>.;JUAM['[-:6C,80QW22%L DXZ=!P*\.O3C3J6CL?3X2K.K2YIK4]E^ M O\ R3"/_K[F_P#0J]*KS[X)Z=>:9\-H(=0M9;:5KB60)*I4E2V0<>]>@URO M<[0HHHI %%%% !1110 4444 %%%% ",JNA5U#*PP01D$5YGXR^"6A^(=]UHV MW2;X\_NU_=.?=>WX?E7IM%.]@/D;5?#_ (M^&^I%YHYK56.!/%\\$P]#V/T/ M-:^E>--,U+;%JR+IET>/.0$P.?<=4_45].75I;WUJ]M>01SPR##QR*&5A[@U MY'XR^ MC?&2\\)3"QG.3]DE.8F/^R>J_J*VIUI0=XNQA6H4ZRM-&!]AN&9?* MC\U7&Y'C.Y&'J&'&*QM5\3Z1HNZ-7&IWJ\>3"W[I#_M/W^@KF+CP[XOTF^;P MXUGJ,K?H*]6TG1M.T*Q6STBSAM(%Z)$N,^Y/<^YJ[7 Y-GIJ*2LB* MUM+>QMDM[."."&,82.-0JJ/8"I:**D84444 -DC2:-HYD61&&&5AD$>A%>6^ M,O@;H^MF2[\/,NEWIY,8&87/T_A_#\J]4HIIV ^1KK3O%_PQUG>?M&G29XEC M^:&8#]&_&O2_"/QNL;\QVGBJ(6-P>!=1C,+'W'5?Y5[-?Z?::I9O::C;17-O M(,-'*H8&O&_&7P#BE\R\\'3"%^ILIV^4^RMV^A_.JNGN*QZ%J'B/1]+TH:E? M:E;Q6;#*2^8"'_W<=?PKQ[Q=\<+N[WVOA.$V<)X-W,H,C?[J]%_'FN1TWX;> M+M5U@Z2FE7$3VYP[7&5BBSWR>.?;K7MG@WX):)X?V76M;=6OA@_.O[J,^R]_ MJ?RIZ(1X]X8^''BGQ[>&]E$D5O()?\ G]T__ORW M^-'D>)?^?W3_ /ORW^-;5%/VC[+[A>R7=_>8OD>)?^?W3_\ ORW^-'D>)?\ MG]T__ORW^-;5%'M'V7W![)=W]YB^1XE_Y_=/_P"_+?XT>1XE_P"?W3_^_+?X MUM44>T?9?<'LEW?WF+Y'B7_G]T__ +\M_C5/5KO7M'TN>^N;[3]D2YP(6RQ[ M <]S735S_C>SANO"=X\X),"&6/#$ ,.A]^M:4Y*4TFE;T,JL'&G*46[I=V-L M)M?U'3X+RVO]/:*9 ZGR6[]NM6/(\2_\_NG_ /?EO\:E\-6,-AX=M([8,J-$ MLA!;/+ $_K6K4SG:322^XJG3;@G)N_JS%\CQ+_S^Z?\ ]^6_QH\CQ+_S^Z?_ M -^6_P :VJ*GVC[+[B_9+N_O,7R/$O\ S^Z?_P!^6_QH\CQ+_P _NG_]^6_Q MK:HH]H^R^X/9+N_O,#=KWVK[,=2TWS]F_P ORFSMSC.,^U2^1XE_Y_=/_P"_ M+?XU@>/-+OOM\&NVLK10V4:K(T1_> ;SDCZ UVEK*DUI#+')YJ.@97_O#'6M M9Z04E;7R,(>].4'=6\]T8MU8>(KJTFMY+ZP"S(R,1"V<$8]:V;.#[+8P6^[= MY4:IGUP,5-16,IN2L=$::B[A1114&@4444 %%%% !1110 5QGC#X8>'/& :2 MX@%I?L/ENK< ,?\ >'1O\\UJ>+]4ETW2E-I=""YD8!$V[F?UQZ?6LSP-!=SW M-[?ZB\SR@B$>:3D=VX[=JXI8Q+$K#Q5WW[$.7O]>=>,O@QH/B7S+K3E&E:@W.^%?W;G_:3^HKTH590=T34I0J*TEVY_P"6L3?=_P!X'E?QK'U3Q5I&C[HX2-5O!_!$V(4/^T_\7T'YUBZU M\-/%OA_5!8'3[B<73>6DEIEDF]CC^1KO_!OP!>3R[OQC/Y:8R+&!N?\ @3=O MH*ZYXRHXVN<-/+J,)SAC@AC&$CC4*JCZ"I:**D84444 4=6T73M=L6L]7LH M;N!OX)5SCW!Z@^XKQ/QG\ IH?,N_!T_G)R38SM\P]E;O]#7O5%--H#Y M/$& MO>$[EM,U2WD>*,X:QO5(*?[IZK^''M77Z7J^EZ\ NESF*Z/6RN2 _P#P$]'_ M )^U>[>(_".B>*[,V^MV,<_&$E Q(G^ZW45X7XQ^!6KZ-ON_#3MJEH/F\KI- M'^'\7X%Y[Z1+.WC.'EG.U0?0>I]A7+ZKX] M@M'8=[]#>W*?^@(>GU/Y51T?PEXO\.P2 #MEN_L.: M]N\&_!+0O#QCNM8QJU\O/[Q?W2'V7O\ 4_E6M7%SGIL8T,!2I.[U9X]X:^'/ MBOQ]>?;I1)';R'Y[^])^8?[(ZG\.*]V\'?"GP[X15)E@^WWZ];JY4$@_[*]% M_G[UVRJJ*%0!548 P *6N%ML]"P4444AA1110 4444 %%%% !1110 4444 M%&><45RJ10WDVI7E_>R6T]O=[(W$A B4$;1MZ'/]:PJU73:26_RV);L=516! M_;=R#C]T3_:1M0".J8_G[UGS:SJ$FEWT<\PM[H6YD5/)*E0#@[6SAASUK"6- MII75_P"E<.9'78!8$@9'0TM:2;6] M2#331& 117BVXC9#E@V.2<\8S5/&4T[6?].WYIBYT=/17,RZWJ%O'-;MY;Q)X=B MU"6V^S2EY(I(@VX*Z.5.#W&16S33<7=$RBIIQ>QS_AK69[@RZ5JXV:G9\/\ M]-5[./K705@>)=%FNQ%J>E'R]4L_FB/_ #U7NA]C5W0M:AUS35N8@4D!V31- MUC<=0:TG%27/'Y^1C3DXOV<_EYK_ #1I4445B= 4444 %%%% !1110 4444 M%%%% !1110 5B>,3CP;J?_7 UMUA^-#CP9J?_7'^HK2E_$CZHRK_ ,*7HS0T M@8T6R'_3!/\ T$5[:JNF_IU_S.HHID4J3PI+$P9'4 M,K#N#3ZQ.@**** "BBB@ HHHH *S]:UFWT2P:XN#ECQ'&.KGT%/U75;;1[![ MJ[;"CA5'5SZ"N?T;2KG6]0&N:ZO'6UMCT0=B17'7K24O8TOC?X+N_P!.Y$GT M6Y)H.C7%_>_VYKPW7#\P0'I$O8XK?O[^RTBSDO-0N(K6W4Y>61@HS]?6K50P>5?-]6^Y48I(W M;3Q'HU]:PW%GJ=M-#/-Y$3K(,/)C.P>_'2KLMY;P7,%O-,B37!81(QY? R<> MN!7CL-Q>:[!9VLS0S6\?B*!8]5TZV^S_ &H&)]S8Q]X?=W5?MKK4K9K"W^UW M7ECR<=C70]%_7E_F-*[_KS/6:*\,LMX'4#-6)]8U..SU(^&M5OKRQ-K9M>W,SLQMY&D M(EVG&5^3&0!QUI\NMA7T/:Z@M+VVOH3+9SQSQJ[(6C;(#*<$?4$$5Y'%?W:6 M=E'>:],WAZ35F26[MII#Y2B+*IYS*"4+]_PS78_"Y=O@PX,C WUT5:489AYS M8)]SUI6"YV5%%%(84444 %%4]6OO[-TFXNPN\Q+E5]3T'ZFJ*WNI:;!+<:OY M4]NL0DWP+M*MG&W!//7K6,ZT82Y7ZORWW^YB;L;5%95WK]O:32Q-'(\B,BA1 M@;BX)')^E,?7674+.$VDJ13Q/([.,%,$?H/\*3Q%).U_(7,C7"A<[0!DY.!2 MUBCQ-;>2\LD$\:"$SQEE_P!:@ZD?F.M(_B:*,3;K*ZS"@E8;!_JS_'UZ>W6I M^M45]K^OZ0G*7*GJ',B]1116Q04444 %%%% !1110 4444 %%%% !5.7 M2+">]%W-:QO."#O/P:[-RUJAF+;RQS][UQTS21 M:+IT(D$=J@$JE&!R?E/;GH/I5ZBH]C3_ )5]PK(H'1-.8Q%K56,("IDD\ Y M///XU,VG6C!PT"D/*)F]W'0_H*LT4U3@MHH+(JRZ99SI,LMNK"9P\GNPX!]C MQ1#IMG;^5Y,"IY.[81U&[K^=6J*?LX7O9!9!1115C"BBB@ HHHH P-3\'V.I MZL]^;F]M)9D1+E;6?RUN%4Y4/QGCID$''%5M1^'VC:EJTU[,]W&ERZ/=6L4Y M6&Y9<8+KWZ#/(SCFNHHH YS_ (0;2?[<_M'=<[?M/VS['YO[CS\8\S;CKWZX MSSBI+/P;I5@-)$'G?\2F262VW29YDSNW<<]36_13N!GZ+HMKH.G?8K#?Y/FO M+\[9.YV+']2:T***0!7*:W:S>'=5/B'34+V\F!J%NO\ $O\ ST ]175TC*KJ M5VL=S:R"2*50R,.XJ6N,%Q_P (+JC0 MW!8Z'=EGA8U==:W,=Y9PW,)S',@=3[$9JJE/EU6SV)I5>?W7\2W M7]="6BBJ.K:UIVA6+WFKWD5I @R7D;&?IZUD;%ZBL3PYXPT/Q7;&;0[^.XV_ M>CSM=?JIYK;H **** "BBB@ HHHH **** "L+QL<>"]2_P"N7_LPK=KD?B1K MVEZ5X0O(=1OH;>6= L4;-\SG(/ ZUI2:52+?=&59-TI)=F=+IPQI=J/^F*_R M%6:R_#NL:=K.BV]QI5Y#=Q>6H+1MG!QT/I6I4/O-8O4D>"T3>ZQC+'D ?B16U M6TFI+K^9A13BG!]-O3I_D:=O/M@>]=-HGPY\,:'ITEI#ID=SYR[9IKH;W MD_'M^%9V[FUSM[#4;/5;-+K3;J*Z@<962)PP/Y59KQ;5/!5UX-U2"Z^'NMG3 M;B]D*QZ7W/\ RT]S_GVKCQ%=P:ITU>;V\O-^0I2MHMQVEZ?<^)M0 M76-90K:(?]%MCT(]3_GFNPZ=*0 *H"@ 8 ':EJZ%!48[W;W?=A&-@H(!!!& M0>H-%%=!12U35=/T'3FO-4N(K2UC(4R.<*"3@#\ZK:=KFB>*;.YCTR^@O8@I MCF$3\J&'0]QD5B?%"WN+GPI36]K/+;(;6*"%23EMF6V\\D<\@<4UJM0VV.]/A_33X<.A^1_Q+VM_ MLQCW')CQMQGKTJU:-:"-[>T>-A;D1R*IR4.!P??&*\DTZ#4K^UL=,^VZC%9O MXAEB\R)Y%/V8P;@ S?-M)Z$^M)>V4>G2>*+>*]N[*X.K12-YK3-'+ 4&-S+R MJDY!8>@'2G_7Y?YB_K^ON/8_+39LV+M_NXXIU@PHHHI %%%% $%]9QW]C-:SY\N52IQU'O66= GG MM9XK_4I)_,A\E,(%"#.B#PV+=+54N21")$D!3AU'M!B@NKM?(M4QYTI"@*.F?PKA_&GQIT+PT9 M+33#_:NH+E2D3?NXS_M-_05XAJ_B3Q;\2M66V3CR MMZ&?)!2YTM3U;QE\>K"PWVGA*(7]P,@W4@(B4^PZM_*O)HK7Q?\ $[6BY^T: MC*#S)(=L,(_DHKT/PE\#X( EWXPG$S ;OL4#85?]]^_T'YUZ;9/;6\%M9Z%9 MQK8,C%98 HACQP/J2:-%L4?.NN>"?%7@"\2_Q(B(H6MQ>K:VT6I6[3^?&WVB;RU54]G0D]1] M17"^)?A!H/B6$ZAX9FCT^XE&X>7\UO+^ ^[^%+?<#U?2-;TW7K%+S2+R*[@< M<-&V:M=Q6L"#)>1L?_ *Z\M\9_'G3M M.\RS\*1KJ%R,@W+\0H?;NW\J\C6+Q?\ $[6MY-QJ4H/+M\L,(_DHJE'N*YZ% MXS^/LDOF6?@V#RUZ&^G7D^ZK_4_E7 Z)X-\5_$&^>^/FR*Q_>7]ZY"?0$]?H M*]4\)?!;2='V77B!UU2\'(B'$*'Z=6_'BNR\2WVH:3HX6MW;WMLEQ9S1SPN,K)&P8$?45+7R/I M?B#Q=\,]7:W0SV3*A^(MEKJ^-)OSP%E;]W(?]EOZ M&DXC/2Z***D84444 %<;\6_^24Z[_P!<5_\ 1BUV5@_ M=5YC>V^HWB2XTUXE:ZCN"[R1@(J Y( ]*[3PLEIXZ^->KWMI)(=.:T5F=1P MY7RP5STZ@_E65>-2$&XQUZ7'&I&:]QW/1H(KCQKJ0N;I6BT>!OW<9X,Q]378 MHBQQJD:A548"@8 %)##';PI%"@2-!A548 %/KCP]#V2;D[R>[_KIV-(QL%%% M%=)04444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%% M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 M %%%% !1110 4444 %%%% !1110!\=^'](M]=^(EKI=X76WNKUHY/+.&QDGC M\J^D]/L-%\*0Q:9I%K%:-*C,B*,-+MQ]YS[D#GUKY[\#?\E>TO\ ["#?^S5] M)7$?G:E%'*8'@,3%H74%V8,I5A[#^>*TD2-AM;BX:"XU!S'(L95[:)\Q$GUR M,MQQZ55U+45M[26RT9/-O%3$<5N@(B],XX K&O\ 3M7/BITAN9IK1T,_D"XV M%ES@J#VY-;^E75AY9M;./[))'R]LZ['4^I!Z_7FJ:46G>YDI.:::MT_X)E>' MK^YT[3H[7Q"LUNX;;%+,ORD=@6]?K6V;%!+#+:2- L>X^5%@1R;O[PQZ\Y%. MOKNTMK9OMSIY;_+L8;M_L%[_ $KD;_3]2>^LQI9GTVTN'V+"T^#P"Q.WG;P# MQ35JD[O03O2II*\OS.C>2WOH(]+UZVMWEN VZV_UL;8]\<'!SV-?/WQ7\+Z9 MX6\5Q6^C1O%;W%L)S&S;@A+$8'MQ7T2\/DWML86A3>3YV\?O)<+@8/' M?'G_ )'2Q_Z\%_\ 0VK-&Q[E\/?^2;^'O^P=!_Z *Z.N=^'O_)-_#W_8.@_] M %=%4%!6!X[_ .2?Z]_UX3?^@&M^N?\ '#K)\/==9&##[!-R#G^ TP/F[X5^ M&=.\4^,39ZPCR6T-NT_EHVW>00 "?3FOI*RL;73;1+73[:*UMT'RQ1*%4?X_ M6O!/@3_R/UQ_UX/_ .A+7T'5RW)$JGJT-M=:9/:7DACBG0HQ4\X/I2:E>26J M*(@,OGD]JPY'>5RTC%F]2:D1T\3I)&#&P9>Q!I]<5?:]:^';8W=[>+;1C^\? MO>P'>M?P=XHB\7:$=3MX6BC\YXE#]6V]\=J8R]K.AZ9X@L3::S91W<)Z!Q\R M?[K=17S#XCTFWT+XA76EV6\V]K?*D?F')QN'4U]7&OF#Q[_R5W5/^PBO_H0I MH#ZU7[@^E+2+]T?2EK,H**:\J1E1(ZJ6.%R<9-'/A_I_B"\6VM;FYA\R>\N&!8G)Z$]/PKJA MXR\/L; #4X=^H@&V3/S,",@D=ACUJ]B3QKQ!I-WI-]YGC/39-.N77O+B$&GQ^($G.VVO--;*R-Z./X3]0*[_QMX]TU;6TM=)O MH+K_ (FD$%XB@.AC.2RG/!KA_'.G6_A7X@7D'ASS-.AN-'DFDCMY652Q##L> MG%:0J3@_==C.I2A55IJY6OK2SM+A8O&MZ^I7Y/[GP]H[9 ;L)7&0/IR:ZS3O M"GCK6+&.2.[M_!]I!\]EIUFN/F[&3')_X%^5:GP^L_#7A;X?:=KUV+6TN+FW M$L]W.078GK@G^0KJAXOT!KBQ@&IP>=?IYD$>[DKMW9/]T8]:AMMW9:2BK(Y> MQ^)NO>$+A+#XEZ8RQ$[8]5M$W1O[L!_3\J]-TK6-/UNQ2\TF\AN[=QE7B8$5 MYCXH\;Z7>ZCHFGZ;=P7UK<:I]FODVAXW79]WGCJP.1Z53\&:7:^'_P!H/5-+ MTA6M['^S3+]G5R4W'RSG'XFI:*N>ST445(PHHHH **** "BBB@ HHHH **** M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@#Y M)\#?\E>TO_L(-_[-7TI*A.L02?90P6!Q]HSRF67Y<>^,_P# :^;/ W_)7M+_ M .P@W_LU?1E]*L&LVKB.XEF:%T1$.(R-R[BQ/&0.1[9K21(,P_X2B,9&?L;< M9_VQ3]8TM-5L)(L*L^TB*8]8SZ@CFLB3PU>MXC;68;Z'S=V4C:,[<8P >?3O M6DNMQV[>7JZ&PE'=SF-_]UNA^G6J:46G%W,DW)24U;_(H>$-*%MI<=W<%9[F M7++*Q+,BG^$$]/PJ_JC :EI.2!_I#=3_ -,VJCHVM6D>AVD-N6NKD1X\B ;F MS[^@]S4&J>&]1UVZ@O+FXAM)(A\D2@OMYSR>_P"%/XYOG=B?@II4E3\O7\>E>&?'G_D=+'_KP7_T-J]KDEWZO9Q3K,)$WM&\?,]>*?'G_D=+'_KP7_T-JS1N>M^%-/U>\\ ^&WTS5A91#2X R>2' MR=@YR:U/[ \1-][Q1(/]VV6I/A[_ ,DW\/?]@Z#_ - %=%5*K):*WW(R=&,G M=W^]_P"9S/\ PC>M'[_BJZ_"!!7+ZAX3U+1_!/B&XO-3D\MK*<_9D.5;Y3R< M]#]*].K \=?\D_U[_KPF_P#0#5>WG9Q[^2)^K4^92UNO-G@?P)_Y'ZX_Z\'_ M /0EKZ$KY[^!/_(_7'_7@_\ Z$M>G>(O'W]A^(+C3(H%N93#&UN,[5#'=OW- M[?+P.:GEE*5DC64HP5Y,Z#6S_J?QKG]4N)+31[RXAP)(;>21,C(R%)%$+JZ" MR7Y-M$>=O\9'T[5Z/X?UF]\*6"6>C"(VJOO,,PSOSU^;J"?6JCA:LH\R0IXZ MA"?+<]E-?+_C\;OBUJH!QG4 ,CMR*]V\*>,H_%&H7B1H84@CCQ&^,B0[MX#= M&'"]/6O"?'G_ "5S5/\ L(K_ .A"N:S3LSL34E='T>/"=\5'_%2ZAT]J7_A$ M;W_H9=1_2NF7[H^E+3]O4_I(S^K4NWXO_,X?5_ NH7L<"1ZY<3[90Q-P>$&# MR,=Z=XUL)--^$6MVTMY->,MHW[V;KVKMJH:[H\&OZ#>:5=LZ0W<1C=HSA@#W M%$JTYI1EL.&'ITY.4=V?.FLV\-YX/^'-M=+YD,D,P=,D9&1Z5A1Z-II@1S;M MO-M.U@D0[ MVP&;[QKJ/'YW>*;,YSGPP.V\/Z-'JEP@)=QE8(AZL_3'^< MTR-H[B\D>7[7XAO$MF@E735Q#:P8P0K$'<1GCM[U,XJ+LGIJZY M;07N@_#JVNT\R%["3<@)&?RKG1I&G?V?YOV=O,-C)*6WM]X-@'\NW2K=N@NK M=%MD7Q#I]HF!;N-EW:)Z;.X'MD>]7;*R\-ZC$TMI#;D)S(LGR-'_ +P)X^M7 M3I*?VK>IE6KRI:N#:\C'U32K"SM+J2UA:-X9X!&=[?+N4$_K7KF@<_M)ZA_V M!U_]!BKSBTTRUUN^^P^$- 75KI3\TP4K!%[EN_\ *O8O 'PVO/#VLOXA\0:F M;S5YH# T<8_=QH=O /4XV@5E4C&.B=S:G.4U=QMZGHE%%%8&P4444 %%%% ! M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %% M%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444 M4 %%%% !1110!\>7\.M^"/&8O+BS>TO+>X,T/GIE6Y.#[CFO8O"GQCT77XUL MM>5=+NY!M.\YAESZ-V^AKU+6="TSQ!8M9ZQ9Q7<#?PR+G;[@]0?I7B/C+X!7 M-L)+OPA-]IBZFSG/SC_=;H?H:NZ>XK'J\-H]F+<:=*OV&.)@(/O%^ZE7)_#F MFN]MJ^G_ &.]C>W>YC)-M+@2* <$X]CWKYT\/^.O%/@*\-B_F-#&R^%_B-X;\8M$A*V.IHI"PW& X)&#Y;]Z>J=T2TFK,V_#UE:Z'I,- MN+B-YKC+DHP/FL!SM[D8%786O;[[/. UE"0WFV\J9D;LO(/R^OK6'K7B+P[X M%L83J]WYUU"A6%2%>X8$Y(& ,#\A7CWBOXNZ]XD=K/20VF6;G:(X3F:3ZL/Y M"AMR=V*,5%N78GCGUYKPSQ)XAU?X MA>)4F:S#7!40V]M;(6(7)('N>>M=5X,^"6M^(=EYKA;2K)CNPXS-(/8=OJ:] MX\,>"M"\(VHBT:R6-R,/._S2/]6_H*5TBK#_ 59W&G>!=$L[V)H;B"QBCEC M;JK! "#6Y114%!6/XNLY]0\&ZO9V<9EGGLY8XT'\3%2 *V** /CC1]5U;P)X M@E=[1H;CRV@G@G4HQ0D9 /4'@!7P-2EJM4.I\4$EQ) MY<*,['L!575-4TS05_XFLY>X[6=N09/^!'H@^O/M7'7_ (FUOQ+,--TR!H8) M3M6SLP2TG^\W5OY>U35Q<(:1U9=#+ZE3WI:(ZB^\4Z5X<<+;R?;;Z/[L5J^V M.(_[3C^2UR5I%K7C;QB;NWLY+R\N+A9IA!&=J_,,GV&!7HW@SX!W5V([OQ=, M;2'J+.$_O#[,>B_SKV_1M!TSP]8K9Z-916D(ZB->6]R>I/UKR:M:51WD>]1P M\*,;1+Z\*/I2T45SG0%%%% !7GOQ'\!^%[W1+[7KS2@;JRA>2>$O MUXUT>VU'6;J/3]"E^:#2=. M&Q7 ./G/4].IR?I7K.DZ/I^A62VFD6<5I"O\,:X)]R>I/UKQX>)M:T/X6>$+ M'P_-#;SZFLT9GD RF&XP3P.O4UD)XW\:A=.8:A:F*RB=Q&9!^_\ +^4F0]22 M3G'>K)/0_B#X4\.S2V%Y(DNF:I>7B6T%]8_(RNV<,PXR..HYKDM*\(QZA\3H M_"?C6VM[V:. W*ZA:-Y3S( "%< 8;/KP:Y;6?$'BB[3[=K%[!=?8KF&^51(, M*2/E55';UKTVQE,_[2%I*PP9-%#$#ME0:.@'JVF:3I^BV2VFE6<-I O1(EP/ MQ]3[FKE%%9E!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% ! M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %% M%% !1110 4444 %%%% !1110 4444 %%%% !1110 44SSHO/\GS$\W;NV;AN MQZXI8Y8Y03$ZN 2I*G.".HH Q/$W@S0_%UJ8=:LDE<#"3K\LB?1O\BO!O&7P M0UO0-]WH1.J62_-A!B:/\._U%?2:S1/*\:2(SIC>H8$K]1VI]--H#Y4\*?"W MQ/XSN?M4T@/+?RKWGP?\,/#W@]$DMK<7=\/O7=P 6S_LCH MM=A)(D49>5U1%ZLQP!3J;DV*P44UY$B ,CJ@8A1N.,D]!3JD84444 %%%% ! M1110!R'C#X9^'O&,;O>6PMKTCY;N 8?/OV;\:\%\6?"KQ-X,N/M=LKWEHA^2 M[L\AD^H'*_RKZIHIIM"/F?P;\$]<\1;+S6RVEV3_ #9D&9I/HO;ZFO>?"_@G M0O"%J(M%LDCD(P]P_P TC_5OZ"M^BAML HHHI#"BBB@ HJ/SX1<" RIYI&X1 M[ANQZXIC7]HJNS74(6-MKDR#"GT/H: )ZQ?&5E<:EX)UBSLHS+<3VT M-U33M3T R P7H9#*S'/!&/RR#1_9FM)'Y1DLQB.6/EI>DAR?XO\ /?-?0'B+ MPSX6\:B2RU2.VN+F,8WQ.!-%^(Y_ \5Y?JOPS\9>'9EBT"6+7K&1MD8N3MD@ MST).>0/K^5=5*=+:HCDK0K[TI?><3J.FZF^F7(OKJPM[:5(T>5GD& G3&6Y/ MM@^V*[OX?W%YXJ^+4'B.UL)UTVVT[[(]RR$(SJH'&?6MWPW\&8?M":CXXO/[ M6NQREJN5@B]L=_T_&O3HX[:PMXX(5BMH1A(T4!5'H *SJ3@W[BL:TH3BO?E= MDU%%%8FP4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 M4444 %%%% !1110 4444 %%%% !1110 444=>M 'BBZV5^(EOXL^Q7RP3ZFU M@]XT1%NUHP$<>&_ZZ+N_X%7;?#Z:*T\/:U/,P2*+5KUW8] !(2377&RM3:"U M-M";<8Q"8QL&#D<=.M*MI;)#)"EO$L4A)= @"OGKD=\]Z=]+?UT#K_7F>-^% M=7GL_&UMK$]C?6A\1QSI<37$)6)Y,F2#83UP@VUIZ/XHUFUL]/U+5M8FGBOM M"N;R5/LZD0O$4VL@&"3AN03S[5ZE):6\L<:2P1.D1#1JR A".A [4U;"T545 M;6 "-#&@$8^53U4>@/I0]K M[L\8U'7-2N]"\0V%[J$E[;/I$-V@G>)V1C, M>8^!D8^7G%=//K^OP>(]3T%;Q8GM!+J$=W,@$8MC%^[1CCH)#@GKA*[J'1=+ MMX3%!IMI'&R[2B0* 1G.,8Z9YJ&ST.*VU:^U&6:2ZGO (_WN,11C)$:@#IEB M><]:&[@>8VGB2^GM[>QU*YN+F[34]/=_M AFC"O)@F-TXY(R 1D5L^$_$>HR M>-/L6KZA+=&[,YA\AHI+9@C<8V_.A XPW4UW=OHVF6D92TTZT@0N)"L<"J"X MZ-P.H]:?!I>GVMW)=6UC;0W$O^LFCB57?ZD#)IW#H6J***D HHHH *\9N+SQ M%>Z]KHT6XU^74;?5VBM/*"FRC0%?EDR.F"V>?2O9JHZ;I%II+WCV2,IO;AKF M;+9S(P )]N@IK1W!['(CQW?IXLM;!H+*:RN+XV)>!W9XV )R6V[,Y7E0NM'27<3'S"V,AP,8QZ\U3TWXEWVH71ECTH-I\JW!A=0^Z/ MRU8J9"5VX;:>A.*ZT>$]*'_+)S_Q,!J62Y_U_P#>_P#K57M_ ^CVMW--$+D) M(LH6W-PWDQ>9G>53H,Y/Y\4=!]2;PAJ^H:]X=@U34[.*S-THEABCDWXC*@@D M^O7BMRJ^GV,&EZ;;V-FI6"VC6*-2"ZBR"T4 MR!Q[9!I\%O!:ILMH8X5X^6-0HX&!P/84KZ6#J>,^&&MM US1XK/^Q];2[>9+ M;4+0,E['E68M,O\ %TP<]*OQ>.M5GT"RDAU19+O_ (1N[O+C:JDB="NUB,<$ M9/%>HP:3IUK>/=VMA:PW$GWYHX55V^I R:JWGAG2;O3;VR6RAMEO8I(I9+>) M4?#C#'('4_TH;N@6C/,[OQ=K5CI>J/9^(/MX&DVM[]I,:$6LSS!648&,%23@ M\T^\U.[N=9CTZ;5#J]G::[ISPW95?P[+H_DI; M07'EK(\*JCR%"""3CD_+6G!I6GVT(BM[&VBC$GFA4A50'_O8 Z^].ZN39V.0 M\(ZUK6H^([G2-1F=FT3S8[R0H +AG?\ /6NZK-T?18](^U2?:)KJ MXNY?-FGFQN8X X & *TJ104444@"BBB@ HHHH **** "BBB@ HHHH *** M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ MHHHH **** "BBB@ HHHH **** ./^)NI7>E^$HYK"ZN+5WOK>)Y+90TFQG 8 M*"#DXKEK75O$=LV1>:J=+DU6PAMI]2@$4[[G(E3&!E.G./6O3=3TFRUBWC@U M&'SHXIDG1=[+AT.Y3P1T(IU_IEIJD<"7T/FK!.EQ&-Q&V1#E6X/8]NE-.W]> M@''-X_O1XHBTU+.REAN+F6UB:*Y+,LBJS#?A=H!V\@$D5@6WB'Q9K.G^$!.T M42ZAN^M_!FA6LUM)!9NIM;A[F!?M,I6.1\ M[F"EL<[CQC'-26?A31K!;$6MHR#3Y'DM09I&$1<8;&6/!!/'0=J%8&>%')R>*-/Z_KT YKP_X]O=8O]#% MSI4=M9ZU#*T#K/N='C'S!AC&T\X.:[BLBS\+:-8#31:6?E_V6)!9_O7/E!_O M=3SGWS6O0[=!!1112&%<+\3]*DUN+0;"WN6M9Y=1)AF4\I(L,C*?S KNJCDM MX9GC>:))&B;=&64$H<8R/0X)H \9MO&.KL=6N8(6M-3N-0LM.O,A?W#B-@Y7 M<=O)7@GCYJTOM^NWU[X:74=9$!CUB>W,L31MYBK$2OF;3MW=5QTYSUKTR;2- M.N([E)["VD6[(-P&B4^:1T+<3 M3:K&)]+OK6Q&F^4N;P.$#/ZY.YB,<#;7I+Z982-(TEE;L9761RT2G>R_=8\< MD8X/:F2Z/ILVIQZC-86SWL0PEPT0+K]&ZTDT@9Y=JNK:U=6XU*\F-]';>*%M MK.PAC"L=CN!ENY.0/H,UW?@?5;O6-!>YU27-^+F6.YMPH46KJV/*]\<O6I(K:""25X(8XVF;?(R* 7;&,GU.!UHO MI;^N@WO?^NI+1112 **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *** M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ :HHHH **** "BBB@ HHHH **** "BBB@#_]D! end GRAPHIC 16 a4.jpg begin 644 a4.jpg M_]C_X 02D9)1@ ! 0$ 8 !@ #_X0 L17AI9@ 34T *@ @ 0$Q ( M * &@ !''EZ@X2%AH>(B8J2DY25EI>8F9JBHZ2EIJ>HJ:JRL[2UMK>XN;K"P\3% MQL?(R;GZ.GJ\?+S]/7V]_CY^O_$ !\! ,! 0$! M 0$! 0$ ! @,$!08'" D*"__$ +41 (! @0$ P0'!00$ $"=P ! M @,1! 4A,08205$'87$3(C*!"!1"D:&QP0DC,U+P%6)RT0H6)#3A)?$7&!D: M)BH*# MA(6&AXB)BI*3E)66EYB9FJ*CI*6FIZBIJK*SM+6VM[BYNL+#Q,7&Q\C)RM+3 MU-76U]C9VN+CY.7FY^CIZO+S]/7V]_CY^O_: P# 0 "$0,1 #\ ^D:*** " MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ** M** "BF2RI!"\LS!(T!9F)X ]:X+5_B+)=3_8O"ML]S,_"RE"<^ZKU/U.!6M. ME*H_=,:M>%)>\=GJ>KV.D6QGU"Y2!!TW'EOH.]5]&\2:9KL>;"Y#..L3_*X_ M"N-L/ =[J<_]H^,;YO[QA#\@>YZ ?2K.K?#J%V6^\,7)M)@-RIO.UOHW:MO9 MT%[KEK^!S>VQ#]]0T[=3OJ*\WL/&^K^'[I;#Q;:2,.BS!?F(]?1OPKOM.U*U MU6QCN["4302?=8?RK&I1E3WV.BE7A5T6_;J6J*3>O]X?G2Y%9&UT%%)O7^\/ MSI[_RKC_ALR6O@ MV]O%B5I4D;+8Y8! 0,^E=AKW_(O7_P#UP?\ E7(_#NX^R> KVXV!_*D=]I_B MP@XKIBF\/)+N<-2RQ,6^S(C;:[XLC\[4918Z?C.&^5LJ&%HX:[F^>3(C*M5_A^ZN M[W^2.\O3J-W\+[NX\0Q?Z;AI '0 H-PVX';BK_PX'_%%P?\ 71_YUAZ;-XDN MO@S=W/C-'CU28.[HZ*A5"XVC:,XX['GUK=^''_(EP?\ 71_YUT-WH-^8XQY< M2E_=.;T[PY8>(O&?B!-2,N(904\N0KUSG^56-#:72?$>L:#;7>]=19^&M.\/Z3>_8$[[[Z'$^$O"&DZSX7^W7\\T,^YQO68J% /!Q5 MS0?$E[8^!=8F:_NT\PR^:1LSR*;X>?\]*LM_R6A/\ KS_]E--^(&;'6M"U:0$V M\$VV1@/N_P">?RK3GE*I%-WTO\[&2IPA2G**M[UOE:?G(Y/TJ/7=4EUGX1)>7!_?.460CC)#8)K?\ $OB/2XO"MY(E[!+Y MT#)&J2 EBPP./QKF+VSELO@O#%.I5V99"IZCIIVEW-Y*<+!&SG\!6=I.L:9'HMDLFHVJ,MN@8-,H(. MT>]8OQ%O_-T2UTVR822:E,J+L/WESGKZ'I7-&FY5.5G9.M&-%R3Z'/>$WN=( M\0:9J%ZYV:ZDF_=V;<2/\^];OQ07?I6F(2<->JIP>H*FLOQ#I^OQ>&$EU2WL MXQI31O;/;.20!P00?H.:L^.K]=1\+Z#?1M\LMU&^?3Y3FNRW-5C/U1YS?+0G M3?D]?/)M"T?0-.2]T#4)DU!9%$:)<%BQ[C%:'C74+QK+0+2]N'L[:] ^V MRKQ@X7@G\3Q47C#3O"]OI-QJ.G3V\6I;_,1H)@69\^F:Z6WGL;_POIZ>*&MM M]S"&*7+!=Y ZC/?&.GK4N=E&;N]_4N-.[G!-+;;;^F9NG>!/#OGPW.FWMPSQ ML'!CNB=V.>?:NPMXC#'L,K2G).YSD\G->8>)M/T?0)[.[\*W?E7K3J/)@FWA MA]/\:]20DJ-PP<OS64F[W[G7A>5-Q44K=MB&_MWN[">WCF:!I8R@E3JF M1C(K,\.^'[;PYHRVHV2,,M-.5 WGU-:MW=0V-I+*5\ M6W;68U&/1]'4_O7D;$LX] !T%*E"I3IR3?Q=#1\&".;QOKESI2;= M-P$!485GR.GY-^==9X@O7T_P[?753F:T5B(6A2Y$]7?[_(B^'V MFPVOA*".9MN1G(//7K47A[_BH?B!>Z_ #]BMX_(ADQQ(>G'X M$UHU).;EM_5C*+BXTE#?^KG>4445Q'I!1110 4444 %%%% !1110 4444 %% M%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 (.I^M% ZGZT4 + M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %% M%% !1110!!>VJWMC/;.Q59D*$CJ,BO-6TCQ+X%=I=,?[=I^'_'NF:P4@N#]BNCQYG^ M"OAW>7=[;P)/JUY*\TCG]Y,Q8YQG^%>:W-?\"Z5K8:1$^R7)_P"6L0X8_P"T MO0_SJCH7PYL-/83ZJ_V^XSG:PQ&/P[_C6O\ L_Q7?I_P3"^+7N67K_P#"DN? M%'CTF.WB^Q:8QY)X4C/<_P 7T%=YX6D"QSW9!FM,TW0]/T738P['+!20"?I6Y:V MD%E;);VD20PH,*B# %344.0I-"XPR.,@U-12YGN/EC:UCG;;P)X=M+E9XM-C+JO)K1/AW2 MVNK*X:U4R6*[;<_\\Q[5J44W4F]V*-&G':*(;JUAO;62VN8Q)#*NUU/0BLR7 MPGHTNDP:;)9JUI ^^.,D_*?\FMFBI4I+9E2A&7Q(YZV\"^'+6X6:+2X=ZG(W M3+C",%:*L1W$$5U;O#<1K)$XPR,,AAZ5F M_P#"+:%_T"K7_OT*UJ*%)K9@X1ENBC9Z)IFGS--8V,%O(R[2T: $CTIUEI5A MIS2&PM(K%1!@"I:*.9M6;!1BG=(****104444 %%%% !1110 4444 %%%% ! M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% "#J?K10.I^M% M"T444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% ! M1110 4444 %%%% !1110 4444 %%%% !377>A7<5R,97J*=10!Q>M:5XNM=T MNC:PUU'U\F15#CZ'H:XN?Q=XHM9V@NKV6&9>J21!2/PKVBJ.IZ-I^L0>5J-J MDX[$CYE^AZBNREB(QTG%,\^OA)RUIS:^9Y%_PFOB/_H)M_WP*/\ A-?$7_03 M;_O@5O:U\,[FWW3:'/\ :$Z^1,<,/HW?\:XBYMI[.=H+R&2"53@I(N#7J4_J M]5>ZD>+5^M47:;?WFS_PFOB+_H)M_P!\"C_A-?$?_03;_O@5A45K[&G_ "HP M^L5OYG]YN_\ ":^(_P#H)M_WP*/^$U\1_P#03;_O@5A44>QI_P J#ZQ6_F?W MF[_PFOB+_H)M_P!\"C_A-?$?_03;_O@5A5:L--O=4G\G3K:2X?OM' ^IH=.D ME=Q14:]>3LI,T_\ A-?$?_03;_O@58L?$WBW4[D0:?=S7$O=4B!Q]3VKH-%^ M&2+MFUZ?>>OV>$X7\6ZG\*[NRL+73K<06-O'!$O18UP*\^KB*$=(13/4H83$ MSUJ3:7KJ<]HFD>),I-KVM-Z_9X%'ZM_A74"EQ17F2DY.[/8A!05D%%%%26%% M%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444 M4 %%%% !1110 4444 %%%% !1110 @ZGZT4#J?K10 M%%% !1110 4444 %% M%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !6)XL\5Z? MX,T)M6U<3&V618SY$>]LMTXK;KS/X^_\DMF_Z^XOYFF@(O\ AH+P;_SSU3_P M$_\ KT?\-!^#?^>>J?\ @)_]>OFP]:*OE1.I])_\-!^#?^>>J?\ @)_]>C_A MH/P;_P \]4_\!/\ Z]?-E%'*@NSZ3_X:#\&_\\]4_P# 3_Z]'_#0?@W_ )YZ MI_X"?_7KYLHHY4%V?2?_ T'X-_YYZI_X"?_ %Z/^&@_!O\ SSU3_P !/_KU M\V44Q:SY'T.I MK6[N+&836K5!>WUKIT7F7TZ0KV#'Y MF^@ZFN*D\::H]F(D$4C_ (:"\&_\\]4_ M\!?_ *]?-E%8\J-SZ3_X:"\&_P#//5/_ %_^O1_PT%X-_YYZI_X"_\ UZ^; M**.5 ?2?_#07@W_GGJG_ ("__7H_X:"\&_\ //5/_ 7_ .O7S911RH#Z3_X: M"\&_\\]4_P# 7_Z]'_#07@W_ )YZI_X"_P#UZ^;**.5 ?2?_ T%X-_YYZI_ MX"__ %Z/^&@O!O\ SSU3_P !?_KU\V44F5YG\?O^263?\ 7W%_,TUN!\SGK10>M%;""MOP_P"" M_$?BI))- TF6ZAB;:\Y94C#>@)/)^E8,S%+>1U^\J%A]0*]3^(\TNB_#?P1H M^DS2VME-;>?(8'*&1PN">6-9/AK0- M,O\ P)X_U"ZLUFN](5C8N2BVE-HKB-K@+\BN>B MY]:]H;X>Z5!H-@VE>"E\3:;=6*S7&J6M\JW?FD<[$8@8]L^U9<&I:+IW[.UV MUUX:,ZPZN]O)!+-M=IQ]V5O1ERH(]5HY@/)J*]4N]#\'>!'T'0_$F@OKFHZQ M$LE[>F7;]F#''R#/8GI5K3OAUX;TK7_'-AXCBDN[#1[>"ZM)E?$J1.'8@'^] M\NW/X]Z?,@/(:*]7>P\ 7OPUA\<+X7N+1+*X-L^F13@_:VR%4.V<8R0Q/L:- M6\ :#KGB#P5/X>MY-)LO$T+37-JK9\E456.WT)W8_6BZ \HHKVVZ^&VE:C:Z MO8'PQ:^'DLHV;2]434HY9+AU[2H&) /\L]#7.0V'@W1/A%H'B'6M'>]U?4H7 MAB6-OE>0@_O&R1]WBES >?Z9IE[K6IPZ=I-NUU>SDB*%6 +X!)Y.!T!-=!+\ M+?'4$+S3^&YTCC4L[&>([0.I^]4OP@#+\6O#P=MS;I03ZGR7YJ]XXTNRM-0U MNZL_B.MW=_:)&72HW??DG[G7'%/J!P*D.H93E6 (/J*7%>KZ=X;\&:EX"MO' M+:RY.2?0CTK/TK3O"EA\'X?%VN^'_ .T;[^T6 MCCMXIMBR9/RHQ_N*,_D*7,!YQ17K<_PVT+7O''AI]$22QT/7+%K^:V5OFCV@ M-M4]LYQ[5+X@\!:=<^$?$,Y\-V?A>YTJ"2;3;J#44G-VB!B5D4$X)"C\6'I1 M<#Q_N!ZG ^M7M7T34M U$Z?K=HUG>!!(868,0IS@Y!(YP:[[QAIG@OPYX.TD MP:1(VNZWIR-#(&^2W/&9CD_>)..,UT.H_#O3]=^,>I6TRRS:=IFE07+VS3X: MXD;?M0NW1?E.:=P/$L<4E>I>,O!=HOP[O->.@6?AC5["13]DM+]+B.Y@) )X M)PPSG\/>MW4?#OP[TGXC:;X6?PV]S-K-NNZ03$):9!V[1UW$@DGZ4N8#Q&BO M2['PGX?\+:#XE\1Z_8/KD6G:HVFZ=8N^U7/&&<]SAL9_V3ZTWPYX4\(>/_'< M2>'/.@TJ&R-UJ>G;BI@FS@0JY_A)ZD9'O3N!YM17K/B3P/9S^!]3U63PW9^% MM3TXA[>*UU%+A;N'C(8 G##/Z=Z\E!RH([C-"=P%I4^^OUI*5/OK]:8'U+\$ M?^20:+_US;_T(UWU<#\$?^20:+_US;_T(UWU8O<84444@"BBB@ HHHH **** M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** $'4_6B@=3]: M* %HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** M "BBB@ HHHH *\S^/W_)+)O^ON+^9KTRO,_C]_R2R;_K[B_F::W ^9SUHHHK M80?7FN\TKQWH=WX-L_#7CS0[C5;;3FS97%M,4D1>FTX(/3C.>17!T4K7 ]"? MXK$>.M$U>TT@6VCZ';M:VFFHXR(V #-NQ][Y5X]!^-/N?B!X8M/#/B/1/#/A MVZL4UM&)N)9B[&5L\L#G"C)P!ZUYU11RH#T30?'GA'0;JVU73O#FJ:=J-NF& ML["_9+.X?&-S+[^^?QJM:>/=)U#PMKFB>,-'GNH]2OWU")[*0H8I6 !]AM' M/?G-<)6QX=\/-KLE]+-(UZ*H7(RS'@#/K19 =;!\0_#NJ M66BS^-O#MSJ6LZ(@2"YMY]B7 4Y7>/KS@Y&:J1?$IKB3QE6 &!QCKG MBM"?XCO%:^"FTBU>.[\+QLDIF/R7(954@8Z#Y?Y4_4OAK:_V)J.H^$O%-IXB M?2@3?VL,6QT ZE>3NQ@_7''-<(@:56,,-2,;L\Y&.?Q%9&K>)8-2^'_AGP[';RI-HI MZ3-K#+%%'-Y=Q I.58$=QT]Q7DF&"HY20(_W':-@K_[K$8/X&E' MFNK>6MQ(B?>\M7=$^N,J#]:5D!W^H?%-QXUT?5=!TT6NEZ-:FS@T^5L^;$1A MLGL< >F*S-9UWP7_8^JP^%_";17^JAMUQJ;"9;,-DGR5/W3DGD8_05R.?DW M@,4ZEE4E1]2.!^-.V2>=Y(AF,V,^4(6+@>NT#/Z4[(#H_&7BB#Q.- %M;2P? MV38BUD\T@^800JCMUZ9K5UCX@66I?%;1_%L5C M<1VVGI&CV[$%WVYZ=N]@6/Q#TB5/$6E>)=&GOM!UF^-]''%)MFMW.WN/]T=,8_&F0?$R#3?&MMJ>C M:'':Z-;V9L#IH8!IH3U+MW;/3-<%119 =3JVL^#8M!N=,\(^%Y+>6[<.]]J+ M^;+;*#D)"3ROIG/3-9_' M[_DEDW_7W%_,UZ97F?Q^_P"263?]?<7\S36X'S/10:*V$%%%% !1110 5W%L MJV_[/>J36_\ KKO78H[C!^\B*&0'VS7#UTOA?6;*+1=;\-ZW<"UT_5HEEBNR MA86UU'\T;$#)VMC:<#TI >B_;M+\$_#?PE]D\17/A\W\0NYIK73OM)O)" 2' M.#@<]*TM"N=)U/XA^,/^$;L[FTO=2T!'"7%L;=FF_> LJ'G!S&<^M>5^'_B) MK_AS1QI=M]AO+.-M\$-_;"86[>J'((^AZ5FMXLU]O%0\2-JDW]L!LBZP.!C& MS;TV8XV_CUYJ>5@2^%-+\4W-MK#>%)Y+2:RM&^WOYODC8#RC$]^,XKTG7/$5 M_P" 1X#T7P6HE>U]D;(X],Y MQTZ<4[,#T^&TT_PU\1/B/+IMI!)%%HD=ZULR@QB7#L5(]#M!(]ZQ(?'^KWOP M/G\3ZA'97.MZ?J+6]G=O:I^X+-C<%QC('%>;V7B_6K*;7)TNEFGUZ$P:A+<) MO:12"#M.1M.#CN!Z56CU_4(O!\WAE&B&F37'VEU\O]YYF<_>ST]L4W+K<2H@7S %[@>^3CW-;&A>*[W6?C1XC\(WUM9MH,<4R_ M9!;KAR,99CC)+9YKQL>--:%MX?@#V^SPZYDT_P#<_=)&#OY^;]*73_&NMZ9X MOO?$UI);#5+T.)F>',?S=<+GCIZTN5@=QIOBN^\J-8I% J M?95(!4# _A'&>M=%J6KZ3X&A\):=::_=Z-;_ &6.(=0T30]4TBP,/V/5E"W:RQ[F8 8&TY&/R-;>C?$_Q+HFCP:; ]E= M16G_ !YRWMJ)9;7_ '&R/US1RL#T/PM?Z7I_B#XBZGI&FNMDEO'<+97EN8BL MFW+ H1D#=S6-;>*-5LO@OJ'CJU:&/Q%K&JK%?7\< /DQJNU<+V "J/\ @>>] M<':^,MWFL[G!EM M+R+S8BPX# 9&#P._.!Z4[ >G^%Y9=5\0:QXL\3Z*NC:G9:,LEO<"W\PRC'-R ML7<]L>^*YSQ1XDT7Q)\+7B;5M2\07UM=[K75;C2S L>0-T3.!CH2>?8=JY6/ MX@>)H_%[^)EU+_B92)Y39C'E&+_GGLZ;?U]Z3Q#XUUGQ;;0:9?SV>G:#(P&2Q )/]*+:@:OBX?:/A7X#O)U(N%2XMPQ/+1@Y'Z@5Q%=+XVU MVSU6\T[3M%9GT;1;46MI(PP9R<%Y<=LD# //6N:IH HHHI@%%%% !2K]\?6D MH7[P^M 'U+\$/^2/Z)_US/\ Z$:[^N ^"'_)']$_ZY'_ -"-=_6+W&%%%%( MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B MBB@!!U/UHH'4_6B@!:*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ MHHHH **** "BBB@ HHHH **BDN8(O];-&G^\X%4+CQ-HMI_K]3ME_P"!Y_E0 M!J5YG\?O^263?]?<7\S727'Q%\.6Y(%XTQ_Z91DUY[\6/%]EXJ\%2Z7ID4RR M&>.022KM7 )JDG<5SP4]:*T/[%NO6/\ [ZH_L2[]8_\ OJM1&?16A_8EWZQ_ M]]4?V+=^L?\ WU0%S/HK0_L6[]8_^^J/[%N_6/\ [ZH"YGT5H?V+=^L?_?5' M]B7?K'_WU0%S.I:T/[$N_6/_ +ZH_L6[]8_^^J N9]%:']B7?K'_ -]4?V)= M^L?_ 'U0%S/HK0_L6[]8_P#OJC^Q;OUC_P"^J ,^BM#^Q;OUC_[ZH_L6[]8_ M^^J ,^BM#^Q;OUC_ .^J/[%N_6/_ +ZH SZ*T/[%N_6/_OJC^Q;OUC_[ZH S MZ*T/[%N_6/\ [ZH_L6[]8_\ OJ@#/HK0_L6[]8_^^J/[%N_6/_OJ@#/HK0_L M6[]8_P#OJC^Q;OUC_P"^J ,^BM#^Q;OUC_[ZH_L6[]8_^^J ,^E7[P^M7_[% MN_6/_OJ@:-=AA_J_^^J NCZ5^"'_ "1_1/\ KD?_ $(UW]>/?#'QII_AKP#I MND:E%.9;="&DB7^ MIVS_ /;0#^=:$=Q#+_JIHW_W6!J1DE%%% !1110 4444 %%%% !1110 4444 M %%%% !1110 4444 %%%% !1110 4444 (.I^M% ZGZT4 +1110 4444 %%% M% !1110 44$@=3BH);VU@7=-<11C_:<"@">BL6Y\8:!:@^;JMMD=E?)_2LR? MXE^'HO\ 5S33'TCB)IV87.MHK@)_BO9C(MM-N'/J[!:S)_BKJ# _9]-@C]"[ MD_RI\K%='J5%>-3_ !&\139"3PP@_P!R('^=9L_BK7[C/FZM=8/4(VT?I3Y& M+F1[L6"J2QP!U)JG/K.F6V?M&HVL>.H:90?YUX'-=7%PVS^._#=OD-JD;GTC5G_ )"LR?XHZ%%D11WC MS_%I.?LND2-Z&68+_+-9EQ\4M9DS]GM;2$>^Y_\ "N*I:?*A))_^ M7]8O:*(#^>:S+C7]8NO]?JEVW_;3;_*J%%.R%<61WFYFDDD/^VY/\S3 BCHH M_*G4E,!:K:@N^S8?[0JQ4@#%\BD\CVK1\D^E'DGTH&9_D>U'D^U:' MD4>10%S/\FCR:T?)H\GZT 9WDFCR#Z5H^2?>G1VID)R=JJ,DGM0*YF>11Y%: M'D$CC-'DT#N9WD&CR#6EY&.V*3R":!7,[R#1Y!K1\@T>10,SO(-'D5I>1[4> M1[4",WR*/(K2\CVH\C/0?I0!F^11Y-:)@]J!!GM0!G>31Y%:/D4HM^1NX'16I+:^7(5SN'4$=Q3?)H"YF^11Y%:7D4>10!F^11Y%:/D4>10!0\ MGVIODUI>31Y'M0!-8KMLHQZ9J>FPKMA44Z@!"BGJJ_E4DL MH1Y]I:2CVW+_ (UIP?%E3_Q]:1(OJ8I0W\\5YQ14\J'S,]9@^*.AR$":.[@/ M?=%D?H36G!X\\-W&,:G&A/:1&3^8KQ*BERH.8^@(-:TNYQ]GU&UD)[+,I/\ M.KJL&7*D$'N#7SEM'7 S4L5S<0',%Q-$?]AR*7(/F/HFBO!X/%.O6^/*U>ZP M.@=]P_6M.#XB^(X60?%745XN-.MY/='(K2@^+ M%J<"YTRX0]RCAA2Y6.Z/0:*Y>'Y0/-DG@/\ MQ'BM.V\9>'[K'E:K;@^ MC-@_K2LPNC;HJO#J%G*$9FE2,>K,!7S?\6_&'B/3_B7JVGV&M7=O9Q>3Y<$ M;85C6O^OU2U7V$H/\ *LR? MXA>&X!Q?^:?2.-C_ $KY3'B+5Q_R^M_WR*7_ (236/\ G_?_ +Y%/D"[/IFX M^*FDI_Q[6EW,?=54?SK,N/BS-_RZZ2J^\LV?T KYY_X236?^?]_R%)_PDFL_ M\_[_ )"GRH6I[K/\3M>E_P!4EG!_NQEC^IK,G\;^([@8?5'0>D:*O]*\=_X2 M36?^?]_R%+_PDFL_\_[_ )"G9"U/3Y]7U*Y_X^-2NY/8SMC]*IN%=MS_ #GU M8Y_G7GG_ DFL_\ /^_Y"D_X236?^?\ ?\A19!9GH8"K]T ?2ES7G?\ PDFL M_P#/^_\ WR*/^$DUG_G_ '_[Y%,5F>B9HW5YW_PDFL_\_P"_Y"C_ (236?\ MG_?_ +Y%(+,]$S1NKSO_ (236?\ G_?_ +Y%'_"2:S_S_O\ ]\BF%F>B9HS7 MG?\ PDFL_P#/^_\ WR*/^$DUG_G_ '_[Y% N5GHF:,UYW_PDFL_\_P"__?(H M_P"$DUG_ )_W_P"^10'*ST3-&:\[_P"$DUG_ )_W_P"^11_PDFL_\_[_ /?( MH'9GHF:,UYW_ ,))K/\ S_O_ -\BC_A)-9_Y_P!_^^10%F>B9HS7G?\ PDFL M_P#/^_\ WR*/^$DUG_G_ '_[Y% 69Z)FC(]*\[_X236?^?\ ?_OD4?\ "2:S M_P _[_D* LST/CTHX]*\]_X236?^?]_R%'_"2:S_ ,_[_P#?(I!RL]"X]*./ M2O/?^$DUG_G_ '_(4?\ "2:S_P _[_D* Y6>A8'I1@>E>>_\))K'_/\ O^0H M_P"$DUG_ )_W_(4!RL]"P/2E'0@=^M>>?\))K'_/^_Y"C_A(]8/_ "_O^0H# ME9Z(K%1@<4<;LX&:\Z_X2/6/^?\ D_(4?\)'K'_/_)^0H#E9Z,7W#!H#;1A3 MBO.O^$DUC_G_ '_(4?\ "2:S_P _[_D* Y6>B9Z^_6C/&.U>=_\ "2:S_P _ M[_D*/^$DUG_G_?\ (4!RL]$ST]NE .&R.M>=_P#"2:Q_S_O^0H_X236/^?\ M?\A0'*ST0' ('?K2ABHP#BO.O^$CUG_G_D_(4?\ "1ZS_P _\GY"@.5GHF>N M,<]:%.W[O%>=_P#"2:Q_S_O^0H_X236/^?\ ?\A3LPY6>B9^;/?UH9MWWN:\ M[_X236/^?]_R%'_"2:Q_S_O^0HLPY6>AGD#OBDQ[5Y[_ ,))K'_/^_Y"C_A) M-9_Y_P!_R%+4.5GH>WVHVCTKSO\ X2/6?^?^3\A2_P#"1ZS_ ,_\GY"C4.5G MH>*-OM7G?_"1ZQ_S_P GY"C_ (2/6/\ G_D_(4!RL]$VCTHV^U>=_P#"1ZQ_ MS_R?D*/^$CUC_G_D_(4!9GHN**\Z_P"$CUG_ *"$GY"C_A(]9_Z"$GY"F%F> MBT5YU_PD>L_]!"3\A1_PD>L_]!"3\A0'*ST6BO.O^$CUG_H(2?D*/^$CUG_H M(2?D* Y6>BT5YU_PD>L_]!"3\A1_PD>L_P#00D_(4!RL]%HKSK_A(]9_Z"$G MY"C_ (2/6?\ H(2?D* Y6>BT5YU_PD>L_P#00D_(4?\ "1ZS_P!!"3\A0'*S MT6BO.O\ A(]9_P"@A)^0H_X2/6?^@A)^0H#E9Z+17G7_ D>L_\ 00D_(4?\ M)'K/_00D_(4!RL]%I" >H!^M>=_\)'K/_00D_(4?\)'K/_00D_(4!9GH80*< MH-I]5XJY!J>HVV/L^H7<6.RSM_C7F'_"1ZS_ -!"3\A1_P )'K/_ #_R?D*5 M@LSV&W\9^(K;_5ZK*WM(JM_,5I0?$SQ!#CS1:7'^]$1_(UX;_P ))K'_ #_O M^0H_X236?^?]_P A19#U/H2#XL7*_P#'UI,;^\N MW:_]17S3_P )+K/_ #_O^0H_X236/^?]_P A2Y4/4^J+?XB^'+C[UV\)_P"F ML3#^6:U+?Q1H=U_J-4M3]9 O\Z^0O^$CUC_G_?\ (4?\)%J__/ZW_?(IE MR#/L,=3]:*Y+X6ZG?:S\-=*O]5N6NKN82>9,_5L2NHS^ HJ!G@7QG_Y*YK7 M_;#_ -$1UPU=S\9_^2N:U_VP_P#1$=<-6RV$%%%%, HHHH **** "BBB@ HH MHH **** "BBB@ HHI8T>:>."%'EFE.V.*-2SN?0*.30*]A**UY?#ZV.(]:UK M3]+N3UM)!)-(@_V_*5@A_P!DG/M4?]EZ5_T->G?^ EU_\:JN4S]K%[&916G_ M &7I?_0UZ=_X"77_ ,:H_LO2_P#H:]._\!+K_P"-4TC_2,RBM/^R]+_Z& MO3O_ $NO_C5+_9>E?\ 0UZ=_P" EU_\:HY0]K'^D9=%:G]EZ5_T->G?^ EU M_P#&J/[+TK_H:]._\!+K_P"-4UC_2,NBM3^R]*_Z&O3O_ $NO_C5']EZ M5_T->G?^ EU_\:HY0]K'^D9=%:G]EZ5_T->G?^ EU_\ &J/[,TO_ *&O3_\ MP$NO_C5'*'M8_P!(RZOZ+IW]JZM;6*NJ-<2",,PX!/*M.>/Q)8SNMPA6)+:X!I#HWA_MXD3_P!;_XJL346(U"?J/WC\?\"-6-#TEM M:FND-[%916EL]U--,K,%1>O"@DFJNKVL9.,E#FE-FE_8WA__ *&1/_ %O_BJ M/['\/_\ 0R)_X M_\56?J>BRV&FPZE:W]MJ>G32&);JT+820<['5@"K8YY'- M0:GI\VEV.FW4TZNFHVS7*! _P"AE3_P ;_X MJE_L;P]_T,J?^ +?_%41>#;EIX=/GUBRM];GB$L6E2APY!&55I-NQ7(_A)K) MTC2[C6;NXMX91 ]O;2W#^;GI']Y>._-%UV!:J_M'_7R-7^Q_#W_0RI_X M_\ M51_8WA[_ *&5/_ %O_BJJ^'?#\?B+,::[:V5UM>3[-/'(6*(NXOE5(Q@'C.: MIIIWVK7K;3-*OXM0%RZK''O\ H94_\ 6_^*K'U[3;CP]K%YIMY())+0\O&3MD&,AESV-/ MUO2I]"U9]/N9EED6-)-\><$.H8=?K2NET+46[6F]35_L?P]_T,J?^ +?_%4? MV-X>_P"AD3_P!;_XJN9+L%)!8X[9ZUTD'A:TGT=]3_X2O3TMHY$AE+0S_NY& M&0A^3GZCBA-/H3-.%N:;U_KL._L;P]_T,B?^ +?_ !5']C>'O^AD3_P!;_XJ ML>VTZ6[T?4]12X18M-,0D5BF75E)::%I^JM,KQ7_G>6BD[E\H M@'/;G<,4[KL/E=[<[-O^QO#W_0R)_P" +?\ Q5']C>'O^AD3_P 6_\ BJ>YE MN Q"*K!",*"ZS;Z9;1W(M09XY'W.5)'W%/& :KZQI5WHEY'!YMWW17$9Z.A]/8\BBZ70$FY=;-A MY5C& 1W8@4XM2Z!44Z5I.74Y$C!-%;C>#M=RVI]S%HK;_X0[7?^?6V_P#! MA;__ !=(W@[Q %)33UF(&?+M[J&5S]$5RQ_ 4XSPSXS_\ )7-:_P"V'_HB.N&KN?C/_P E MZ_<_P!DVC\QJR;KB&F^QS7^LN,KIEJS1^C32?*@_]"--$5)"8OM$^N6B/$LMSI$T40ED"!G)&!DT^\\%ZY+>3-]C7!D1N M/^W4#>!-9<8>Q1AZ&YA/_L]5ROFN9RJTI4^7F)=1M!X=\#W6CWEU;S:EJ5[% M.-< L1QN8GI[57\2S(^A^%/)=)'ATYMZ YVD3$[3Z$U(O@36$&$ MLD4>@N(1_P"ST#P-K8SBR49Z_P"DP\_^/TK2[$J=%6O/O^)U+Z9IVO>-VUV[ M@TG4/#^JF.22XO+G8]D<89-H.=^>*YOPLT%IXGUM6DCBB6POHH]S8!YPJ@]^ M!4!\!ZNS;C81EO4W$.?_ $*G?\(-K7&;)#CIFYA_^+IV?8A>R2:X4'GWJ M4^!M:;AK)2,YYN8?_BZ#X&UHX)LUR.A^TP\?^/TDFC2&>0/,#%RC-CKE6//M6KXWT&\O\ 6+C6;.2REL1:0G<+I=WR MQ@'Y>N<]JR1X&UL'/V)<^OVF'/\ Z'3/^$"U<-N&G1 ^HGA_^*HLV3&5*-N6 M>QSXY (K?M98Q\,]4A,B"5M5MV6//S%0IR0/2ID\"ZVS!?L8)/ N(B3^ :F MGP)K.[*VB'MG[1%G_P!"I*,DC65:C.RYMA_A;4VTKPOXGEA-L;AA:B*.YC61 M7^9\_(W!QQ]*C\5ZH^L>#/#LLPMEN%6\62*VB6-4Y3;\B\#//UI?^$%UHD$V M:DCH?M,/_P 72CP+K0)(LE!/4_:8>?\ Q^J]ZUC.]#GY^;7_ (%CJ(]>LQXW MM+'[/ID,KZ7#%;:QY8:6WG\A=I+'C@Y7VKGO /GQZAKD7^BF]DTR6-$O&4QR MR^:F0=W#9PQYJO\ \()K.TC["F#U'VB'G_Q^AO FLLH5K%"!T!N(3_[/3]XC MEH*+BI;V_ BU_1M4.I62:E#I=H]X5@C&GF-8UYP68)P/K737VHZ%K8\1Z%9" M:!OLZ?9)[B93"S6@V+Y8_AW)D^]?\ Q^@^!=;(P;)" M/0W,/'_C]+WNQ4G1E:\]BQHNG3ZY\.KFST][?[1_:T2:3;,MS/"VZ/S78L44]PN<9I6\!:P^"]A&Q'K<0G_V>G#P M-K8&!9*!Z"YA_P#BZ5FUL5&5)3YN?S^\YRNO\,V\-WX6UN*YM+V[C$ELWEV. M/,SGKSQBJ?\ P@VM_P#/HO\ X$P__%UI1Z;J7A_PCJQN2UG)//;B)HKI=[@' MG[C9Q5036X5ZD*D5&+UNC>S2+:)IKG0/%,$*_>DE,2JOU.*J?\4KCFRUW_ M +_P_P"%7O#=[<76M/IUW>7,T&I6\MHR33NZERNY#AB1]Y!^=<^ R#8_#J=K M#W'!_E6;?8VA&[:D_P 32_XI3_GRUW_O_#_A2X\*?\^6N_\ ?^'_ K-HI%/\ MGRUW_O\ P_X4F/"O:SUW_O\ P_X5G49HYF'LUW9KIH5CJT)?PS)-+<("9-,O M-OV@@?Q1D8$@_P!GJ*QO*3)!3!!P0RX(/H13NA5@2&5@RLI(*D="".0?<5M_ MVO::T%B\3[TN0-L>KV\8,H]!,G E'^T,-[FC1D^]#S7XF"8D_NC\J/*3^Z/R MK0U/2+K2?+:Y\N6VG_X][R!M\,X_V6['U4X8>E4J6J-8M25T,\I/[@_*CRD_ MN#\J?12*T&>4G]P?E2A%5E=!M93D,O!!]J=10*R-D>);BYC6'Q!;0ZU"HPC7 M/RSQC_9F'S?@3BA=)TS4V T'4_*G;I8:F1&Y/HDOW6_G6-2$!@0P!!Z@C.:K MF[F?LTOA=BQ?6-WIES]GU*UEM)O[LJXS]#T(J"M&RU_4;&V^RB5+NR_Y\KU/ M/A^@!Y3_ ("15C'A[4L;7FT"X/:3-S:L?J/WB?\ C]%ET%SRC\2^XQJ*T-0T M+4=-A^TSVXELS]V]M7$T!_X$OW?HP%9P(905((/0@Y!J;6-(R4E="T444%!1 M110 4444 %%%% !1110!]6?!K_DDFB_2;_T<]%'P:_Y))HOTF_\ 1ST5B]QG MAGQG_P"2N:U_VP_]$1UPU=S\9_\ DKFM?]L/_1$=<-6JV$%%%%, HHHH *** M* "BBB@ IR1M(V$&33:N:5>+8ZA%<.BR"-@VUQE6PHZC,T5E;&38NZ21B%CB7^\[GA1]:M^9HNC']R(]>OU_Y:."+.(^PZRD M>OW?>K7C'Q3+XHNBQ46]KN#BTC/[L,!]XCN?:M<_:-2N'N) ,+NX5!Z*HX JMFBBLSI225D%%%% PHHHH **E>W*6,-R6 MR)7= N.FW'_Q514-6$FGL%%%% PHHHH **** %1&D8*@R36U>1/IO@^RM2,2 MZC<->3_[B?)$/T+?C6983BVO$EY+]H?U/YFD\]_4_F:CHI\S)Y M(DGGOZG\S1Y[^I_,U'11=AR1)//?U_4T>>_J?^^C4=)1=AR1)?/?U/YFCSW] M3_WT:=>6QL[R6V+AS&<;@,9XS4--MH%&+U1)Y[^I_P"^C1Y[^I_[Z-1T4KL. M2)T?@R21O%6GL<[%G&3D_P!TUF:E+(M[('R#O;')]36EX.\2IX8U87C6T=P0 MK*$DZS5GJ<4(S>)E>.A7^T/ZG\ MS1]H?U/YFHJ*PYF=W+'L2_:']3^9H^T/ZG\S45%',PY(]B7[0_J?S-'VA_4_ MF:(;,.1C[W.,5%3NQ>YZL?SJ.BB[#ECV);2>2TOK>ZAYDMYDE7'^RP/\@:T?%&G?8/$E\(T MQ;RR">(CIM<;OYYK.M91%<*[#*@\C%='XO\ %:>)A:E;.&V-O"(@(A]X>_\ M0=JUC&+A=O4Y9RJ1KKE6G4Y>BBBL3L"BBB@ HI&.U2?09J>\MC9W;0,PYTOS(X1%<6D_%Q97*[H9A[CL?]H:LPHHHJ#<***F@MS/'<.&V^1%YA&/O<@8_6FE<3:6Y#124M(9 M8L-1O=*G\[3;N6V?N$;Y6'H5Z$5H_P!I:1J9_P")UIQL[@];W2E"[CZO">#^ M'-8U%.[(=.+=S8?PS=SPM<:+/#K5NHRS6>?-C'^W$?G7\L5F26TL2[G0@#KD M=*2VE-M=QW$;-'+&*/&A\1Z796\UM$DULI#3KRTI(QDG_ M #S6JC%QNSFE.M"HHI73ZG(T445B=@4444 %%%% !1110!]6?!K_ )))HOTF M_P#1ST4?!K_DDFB_2;_T<]%8O<9X9\9_^2N:U_VP_P#1$=<-7<_&?_DKFM?] ML/\ T1'7#5JMA!1113 ***0D 9)P/>@!:[3PEX4L]8\)7FK3Z-JNLW,-^+46 M^FW"Q%$\M6W'<#GDFN*'(X.1[5O:9X@TRU\+RZ'K6DW%]!)?"]26WO?L[(VP M)M]Q@4@+=GX)N=92.ZTR>RL8[Z>:'3[&^NO](F>,9:+A<%NO/ S@=Q4>D^#9 M=1TZ*]N]3M;!)[26]AMRK27$T,>=S*@&.H/5@>]);^*X+&]\-R6&FNMMH%Y/ M=0PRS[VE$FWY6;VV]?>NIT_6O#T_@'3-#O=;2TM%M)!?F*[,-TLC,6:,1_QJ M3QZ&EJ(YU_!,EQ?7ABO+#2K*U:TB>34+HG]Y/"LB %5^;);TX'T)IMI\/M;N M99(I3:VLHO&L($F=C]IN%&2B%5( Z?,V%Y'-5=7\6/K-G>PO8B#[9>65U]_/ ME_9H1$%_X%C/MTK:7XDF8W*WEC>+$UX][;Q6=^T #, &CE(/SI\H/K3U R8/ M NLW&E_:RL4,[6\MU%I\NX3RQ1DAW'&T8(. 6!..!3QX2>TTU[N_N+69I-'E MU2"U@GQ+'&H!$K@C&WJ-N/GG\.QV6HP78F:..7&QR" ,'(XSD4FL^#WT/0YKZXU6SNIHK[^SY+:RW2"&8+N=9 M'( !'3C()SSQ4Q\6Q7NN:G<7EKY,&K16MM,5;=]G2(C+@?Q9QTK>^(VN:1K] MK=7<>JQ372WFZQM;.],T3QDG=(Z?P-M"^_:@1YS1113&%%%':@"Y-_R ;'_K MO-_)*IU=G_Y 5A_UVF_DE4C52W,Z?PA112%@.I ^IJ30ZN;PE _PIM/$M@\L MFHFY9+FW)ROE&0QJZCM@CFNDG^&^A:=J4<=]J?[FUT22_ODDG*&2=&",JL$; M:BL<'@G.,#KCF_#_ ([N/#ZZ6L%BLRV$%S!(KOQ<"9RX)';:3Q59O&4[:2UI M+:^?.='N=->8R_,[3SB8RX]01C'O2U DE\%S6VC:AJ-]J-I;26=FEXVFQ[I9 MTCD.(]QP%"G(RH&U^SZ= M21^%;/B;7/#NJ^$S8Q:T@M;738TM8[>Z(EN9D7Y4E@] WKTZUQ^F:_ID7A0Z M%K>CW%[%]N-ZDMM>^0RL45"I]1A?UHU &\*W=UIKZSIR1KI;%Q&KR[Y(I X1 M;9N.9F9A@#@].W9O]&N",['+* 1C/S*2O!Y MIUKXRMM-TO\ LO2]&$5@&^TIYTWF3B\5U>*XU.WU* MSLKM;Q;S[7,MY?O-"#@[HHDSA4.3UY%&HC)N_!]W;V]SHP1R":EB\(8\-ZEJEYK%C:S6MI;7<-N[,2Z3$;=V%X) M!P/?\ZDM_$^@65U/#8>'GATV\LYK6^C^U[KF7S'5P1)V"% %'H6SUI+SQ5IV MH2ZE#<:-+%IM[I]M9QV\-Q\\!MR#&VX]1QR*-1DD_@6YDU26.*>TTJVWV]O M=2N3^_N)8$E\M"J\GYQR< ;@,U%I_@+5+^WC=[O3[&>:[DL8+6[F*2S7"=8U M !&3V)('3GFKDGCRVOYP=;T5KJ*WN8+VSCAN?+\N:.&.(AS_ !(WE*Q'4=*I M#QK75HLD^G:O+JKE6VB9G*G8!_"!M S1J(YA6W+D9_&G4@&,X[DG\S M2TQA2'I^(I:0]OJ/YTUN)[%[6?\ D.77^\/Y"J57=:_Y#EW_ +X_D*I4Y?$R M8?"@HHKKO!.CVNI:1KMW/IECJ-S9^0(([^Z:"%=[88E@1SZ"H99R-%=]H^AP MZE8:]=6GA'3+Z^M+ZWM8[ 7TBP1JRON9'W L20O>K@\)Z7'JGBJ+1-!BUN?3 M5M!%I\]TVRWE""P7L2:5P/-:*V?%NG6&E>)[BSTH@0)'&7B67S1;RE M9(@_\05B1FL:J ***,T 7+'_ (\-4_Z]Q_Z$*IU=L?\ CQU/_KW'_H0JE52V M1G'XF%-=MJ9'J!^9 _K3J:PRO) Y!R?8@_TJ30]*UCP-I6G>(+'2H_#VM;+R MZ@MX=1FOXQ#.70,0 %R#]X#TQ7+V_@N_N])BOH;NP5[F"6YM;%YC]HFBC)WD M#&,C'*FL[O3)_L08Z?I MT]CM$F/,\W/S^V,]*6HB*/PC>3: ^JVM[97 BMTN9;:%V=XXF8*"6"[-PR,I MNW#/(J?5? ^IZ5;32"[L+Z:WEAAN+2SF+S0F8@1;@0!\Q('!X)&<5>'CR-?# M8TU;"Z\TZ9'IK 7A%LBKM_>)%T#-L!.>Y..IJA)XPN/[3UN_M[40SZI/:3QD MOG[.]NZ.O^]DQC\Z-1EB+P3+;Z@T%U=66H(D=PDZ:?=?-;3Q*&*.2O.,]L@] M,U2B\(W+M+BU62_ MTKP_]EN+H7+73O<;V+S#!6,_PQJ&(NJ5,8U_\ 5M]#6AK7_(8E_P!R/_T 5GO_ *MO MH:T-:_Y"\O\ NI_Z *I?"S-_&BC116YX)TVUUCQSI6G:A$)K6XFVR1EBH<8Z M$CI4FAAT5Z;:>$=)O)M"DU#1K*SDO+^XMY8=+OGN('B2V:1=[$G9)O P!U - M>+2M,A2259_)9E9WW7P_MKS4M3FLKM["PM#!$L<5LUPRN\*N7< Y5, MGK7!NNR1TW*VQBNY>C8.,CVI@)5W3_\ CWU+_KT/_H0JE5W3_P#CVU+_ *]# M_P"A+51W,ZGPE*BBBI- HHK;\):;8ZEK4S:NDDFGV%E-?W,,3[6F6-2=@/;) M')]* ,3I25VOAJ#P_P"*?$.GQ0>'HK2Y-K=R7&FQS/\ 99BBJT1#DY4\D,,] M@>]:UIX7T-?$7AU?$6C0Z7+>)=SW^E6UT\L?V>.$LDP8DD'<,8!I7 \UHKT/ M3/ -E:/XL&MYF%FDJ:0=Q'G[5$GG#'4;'3VZUYS&Q:%&/4J"?RH ?1113 ** M** "BBB@#ZL^#7_))-%^DW_HYZ*/@U_R231?I-_Z.>BL7N,\,^,__)7-:_[8 M?^B(ZX:NY^,__)7-:_[8?^B(ZX:M5L(****8!6]X0GTFVU.[EUP6Z*+4BTN; MRV>>VMIRPPTJ)R01D#/&>QK!J]I6LWFB7$LMB86$\?E3PW$0DBG3KM=3UP>1 M0!U>K>&X[F\DU/4TL=/TNVTLWLUWH+^9%?X=4S"KX$;%F4$'@9S5B+2/#_AK MPWJVI7!N[\7-M9S6%Q):1.T4%QG^!FVB3(()Y' (ZUS1\::T;Q)]UF(DM&L5 ML1:J+7[.W+1^5TP3@Y]0*JZCX@U/5XKV*_FC:*]\D2QQQ!%1801&D8'W%4$\ M"D!UE_X(T?5/%>I:9X8GO()+%+*1X)U4J(9?+$L@.<_('#D'U;L!44WPZCLM M0DM[RZO9#ON)+<6R1#SK6/A9C([!(PQ[L<5@-XMU,=:BV"22"YB33UTPP7,(>.2W4Y"NO/+JZG4 MK.UCN7A::#RYMV,Q1H&\T.%.W\N[M8;25(8 B^5 M$Q:-5 Z8+'GTQ2WGBS5=0T][6[^R.984MY;L6RBYFB4Y5&DZD# HU VO",ND M#1Q;-_8D&LS7ARVOV\C07=O@ 1Q2KQ&0;4M1TN[OA;-<)Y#P7((^5DDBP-<*%E5) M%SM<+QN'(R.*8/$.I@*OFQD+IS:6,QCBV;JO^]S]ZJU_J-UJ36QO75C:VT=I M#M7&(D&%!]3CO5*XBM124M RY-_R K'_ *[S?R2J9JU-(IT:SC# NDTI9>X! M"8_D:J54MR(;"UW/A)M)ET6QLHHM!_M>:X?[5;Z[#(GV^(D!%@G&5C[C.,[B M.>U<-6UI?BO5-)L[>VMDL+B.TE\ZT-[:+,UJ_7,9/3GG'K4,LUE\%6R7-CIN MKW%]IFMZN)WLK,1I)%;A'90DK$AB3L(R!@<5N_V=X3DOM"T>6RO%M_[!FU&4 MI%$))9O*D)9I,Y)&PX'W7(>5 MW$D_C56'Q'J<&HV%\DD)FT^T%E 'B#(8-K+L=?XLAV!]29+>V6UC$=O#90B&.%0<_*!WSSFGJ([K4K70]6TV\_L2+1I-( MM5@:46\;P:KI*AD$LKJXQ,!DA@3CD$8Q5%?A[;VFHM9Z_JS6EPTMP+2!?+C: M]BCX5D>0A59VX&>,5C7?C'5=4AN(-1-K&E^BP:A>6EFB75S$,95G[G@?4@9J M;5?&5S=:\;RQB5[1+%-.CMM2C6?S(%&/W@Z;B>CZG:RIJ MRZM_:-C:V3W4<:;#.KX#;6(9"K@'!S7.7'C'6;OSQ<&U9)HX(EB^S@);B'/DF(?P%=S8/O4 MK>.=<:^AO$^P0W45RMVTT-FJ-<3*,!Y3_$<&C4#4L_"'AK4K?29+'6M7#:U] MH2R26UB^22'.XR$-]QMO&WD=ZXA"60%A@]P/6M*RU[4=/32UM)8U&DM*UGNC M!V&7._/KU/TK. P,"J$+2'M]12TA[?44UN#V+^M?\AV[_P!\?R%4:MZM(DVL M7,D3AT9@58'@\"JE$MV3#2*"M;1==CTJQU"QO-(M-7L]0\LS073NH!0Y4@H0 M>M9-%(LT]1UE+S2[O3;'3+;2[.YN8;H16TCMY,D2NH*EB3SO)^H%6=5\5W.K MP:O'<65JG]L?9S=LF[+/"00_)ZM@9K#HH 15"J%4 = !2T44 %%%% %RQ_X M\=3_ .O.X<"JE5+9$16K"NB\ 6=MJ'CJQM M;Z"WN(&AG8QW0S$2J94N/0&N=JUIFIW>CZ@E]ISJEPB/&&==PVN,-Q]*DL[R MY\*VVN0^';67^QK74;Y;J\FO="0BV>RB0<_.0IEWY'4 _-67+X-T>%I+F76 M;D:?!IDE_.D36\]S$R-CRR8W*?-U!R/>L#3O$>IZ3;:?;V$T:1Z=-)+;!HPQ M7S$V2(?5& Y7IGFM'3_&MQ937_>IL MQ%R]\(:1I>FG7M1U2_/A^:*U>T>"&/[2YG#G:X)VC9Y;9(SGC%,U;PCI7A_3 MKRYUK5+]VCOOLEK'9P1YG4Q^8)&W'Y?ESD>M9_\ PFNL_:YYY!8SQSQPQ&RG MM5>V18?]4%CZ+MYQ]35'4]6'4YQ,LMVUZ[;<,96783GTV\ =J:N!VG MB'PMHXU;7+'0Q);P0ZO960\Z,,\)D!SY;9^[['DU33P-I6H:M#9Z+K-XRKK# MZ1=27=N@(D6-Y-T04\Y\ME 8]2#D"L6Z\:ZW>R-+.UH)GGAN)98[<*TTL/\ MJW<]SSSZU/X9\8SZ-KRWM\IGMWOI-0E2%%WBX>-X_,7/! \QCMZ&EJ,3Q?HN MF:%#I$5A'?)(=,UR.T%C;.]Y$ M[MGJ:YJF@&O_ *MOH:T-:_Y"\O\ NI_Z *SW_P!6V/2K MVK2)+JDCQ.'0JF&4\'"@5:^%D/XT4ZOZ'J\N@:]::K;11S2VK[ECE)"OQC!Q MS5"BI+.GL_&S:4ULF@Z!IFDVD%PUTUM TCB>4Q-$&9G8G 5VP!CFL/1]0DT; M7+'5+=%DFLKA;B-'^ZS!MP!]JJ44@.CTWQERM9-02SDL(]7=G^T)!)NW+C.W=AV ;&0&- M8%%%@.KM?'UQ;:O)J&5)YH6B*($ +(P+H0,[&XS7,W5Q)>7UQ= MS[3-E144P"KEA_Q[:E_UZ'_ -"6J=6[%T2&_#L%+VQ5 M0?XCN' JH[F=3X2F.@I:04M2:!5[1-9NM U>+4;$1/)&K(T4Z;HYD889''<$ M'%4:* .C'C)[::!=)T:PTZQM[>XABLHF=US. 'D9V)9FPH !X %5]-\4W6FV M>EP+;03_ -EQ7,$$DN=QBGC*-&]8E%(#HU\8W !<_P"W@ ?A7-JH1%4=% I:*8!1110 4444 %%%% 'U9\&O^22:+]) MO_1ST4?!K_DDFB_2;_T<]%8O<9X9\9_^2N:U_P!L/_1$=<-7J'Q8\)>(M3^* M&K7FFZ%J-W;2>3LFAMG=&Q"@."!@\@C\*XW_ (0/Q=_T+&K_ /@%)_A6JV$8 M-%;_ /P@?B[_ *%C5O\ P"D_PH_X0/Q=_P!"QJW_ (!2?X4Q&!16]_P@?B[_ M *%C5_\ P#D_PI?^$#\7?]"QJ_\ X!R?X4 <_2UO?\('XN_Z%C5O_ .3_"C_ M (0/Q=_T+&K_ /@')_A0!@T5O_\ "!^+O^A8U?\ \ Y/\*3_ (0/Q=_T+&K_ M /@%)_A0!@T9K?\ ^$$\7=_#&K_^ 4G^%(W@7Q:HR?#&K_A8R'^0I7&8.:,U MN?\ "$>*_P#H6-9_\%\O_P 31_PA'BO_ *%C6?\ P7R__$T[@8=&:W/^$(\5 M_P#0L:S_ ."^7_XFC_A"/%?_ $+&L_\ @OE_^)I 8=%;G_"$>*_^A8UG_P % M\O\ \31_PA'BO_H6-9_\%\O_ ,31<##HK<_X0CQ7_P!"QK/_ (+Y?_B:/^$( M\5_]"QK/_@OE_P#B: ,.BMS_ (0CQ7_T+&L_^"^7_P")H_X0CQ7_ -"QK/\ MX+Y?_B:+@8=&:W/^$(\5_P#0L:S_ ."^7_XFC_A"/%?_ $+&L_\ @OE_^)H MPZ*W/^$(\5_]"QK/_@OE_P#B:/\ A"/%?_0L:S_X+Y?_ (FBX&'16Y_PA'BO M_H6-9_\ !?+_ /$T?\(1XK_Z%C6?_!?+_P#$T 8=%;G_ A'BO\ Z%C6?_!? M+_\ $T?\(1XK_P"A8UG_ ,%\O_Q-.X&'16Y_PA'BO_H6-9_\%\O_ ,31_P ( M1XK_ .A8UG_P7R__ !-*X&'FC-;G_"$>*_\ H6-9_P#!?+_\31_PA'BO_H6- M9_\ !?+_ /$T 8=%;G_"$>*_^A8UG_P7R_\ Q-'_ A'BO\ Z%C6?_!?+_\ M$T 8=%;G_"$>*_\ H6-9_P#!?+_\31_PA'BO_H6-9_\ !?+_ /$T7 PZ*W/^ M$(\5_P#0L:S_ ."^7_XFC_A"/%?_ $+&L_\ @OE_^)HN!AT5N?\ "$>*_P#H M6-9_\%\O_P 31_PA'BO_ *%C6?\ P7R__$T 8=%;G_"$>*_^A8UG_P %\O\ M\31_PA'BO_H6-9_\%\O_ ,30!AT5N?\ "$>*_P#H6-9_\%\O_P 31_PA'BO_ M *%C6?\ P7R__$T 8=%;G_"$>*_^A8UG_P %\O\ \31_PA'BO_H6-9_\%\O_ M ,30!A4M;G_"$>*_^A8UG_P7R_\ Q-'_ A'BO\ Z%C6?_!?+_\ $T7 PZ*W M/^$(\5_]"QK/_@OE_P#B:/\ A"/%?_0L:S_X+Y?_ (F@##HK<_X0CQ7_ -"Q MK/\ X+Y?_B:/^$(\5_\ 0L:S_P""^7_XF@##HK<_X0CQ7_T+&L_^"^7_ .)H M_P"$(\5_]"QK/_@OE_\ B:+@8=)6[_PA'BO_ *%C6?\ P7R__$T?\(1XK_Z% MC6?_ 7R_P#Q- &'16Y_PA'BO_H6-9_\%\O_ ,31_P (1XK_ .A8UG_P7R__ M !- &'25N_\ "$>*_P#H6-9_\%\O_P 31_PA'BO_ *%C6?\ P7R__$T7 PZ* MW/\ A"/%?_0L:S_X+Y?_ (FC_A"/%?\ T+&L_P#@OE_^)H PZ*W/^$(\5_\ M0L:S_P""^7_XFC_A"/%?_0L:S_X+Y?\ XF@##HK<_P"$(\5_]"QK/_@OE_\ MB:/^$(\5_P#0L:S_ ."^7_XF@##HK<_X0CQ7_P!"QK/_ (+Y?_B:/^$(\5_] M"QK/_@OE_P#B: ,.BMS_ (0CQ7_T+&L_^"^7_P")H_X0CQ7_ -"QK/\ X+Y? M_B:=P,.BMS_A"/%?_0L:S_X+Y?\ XFC_ (0CQ7_T+&L_^"^7_P")I7 PZ*W/ M^$(\5_\ 0L:S_P""^7_XFC_A"/%?_0L:S_X+Y?\ XF@##HK<_P"$(\5_]"QK M/_@OE_\ B:/^$(\5_P#0L:S_ ."^7_XF@##HK<_X0CQ7_P!"QK/_ (+Y?_B: M/^$(\5_]"QK/_@OE_P#B: ,.BMS_ (0CQ7_T+&L_^"^7_P")H_X0CQ7_ -"Q MK/\ X+Y?_B: ,.BMS_A"/%?_ $+&L_\ @OE_^)H_X0CQ7_T+&L_^"^7_ .)H M PZ*W/\ A"/%?_0L:S_X+Y?_ (FC_A"/%?\ T+&L_P#@OE_^)H ^D/@U_P D MDT7Z3?\ HYZ*G^$]C=Z=\+](M=0M9K2XC$N^&>,HZYE GRAPHIC 17 graph01.jpg begin 644 graph01.jpg M_]C_X 02D9)1@ ! 0$ 8 !@ #_X0 L17AI9@ 34T *@ @ 0$Q ( M * &@ !''EZ@X2%AH>(B8J2DY25EI>8F9JBHZ2EIJ>HJ:JRL[2UMK>XN;K"P\3% MQL?(R;GZ.GJ\?+S]/7V]_CY^O_$ !\! ,! 0$! M 0$! 0$ ! @,$!08'" D*"__$ +41 (! @0$ P0'!00$ $"=P ! M @,1! 4A,08205$'87$3(C*!"!1"D:&QP0DC,U+P%6)RT0H6)#3A)?$7&!D: M)BH*# MA(6&AXB)BI*3E)66EYB9FJ*CI*6FIZBIJK*SM+6VM[BYNL+#Q,7&Q\C)RM+3 MU-76U]C9VN+CY.7FY^CIZO+S]/7V]_CY^O_: P# 0 "$0,1 #\ ]YCCN[[4 M=1 U2ZMH[>X6*..%(L >5&W\2$YRQ[U/_9EW_P!!R_\ ^^+?_P"-4:9_R$-8 M_P"OQ?\ TGBK1H SO[,N_P#H.7__ 'Q;_P#QJC^S+O\ Z#E__P!\6_\ \:K1 MHH SO[,N_P#H.7__ 'Q;_P#QJC^S+O\ Z#E__P!\6_\ \:K1HH SO[,N_P#H M.7__ 'Q;_P#QJC^S+O\ Z#E__P!\6_\ \:K1HH SO[,N_P#H.7__ 'Q;_P#Q MJC^S+O\ Z#E__P!\6_\ \:K1HH SO[,N_P#H.7__ 'Q;_P#QJC^S+O\ Z#E_ M_P!\6_\ \:K1HH SO[,N_P#H.7__ 'Q;_P#QJC^S+O\ Z#E__P!\6_\ \:K1 MHH SO[,N_P#H.7__ 'Q;_P#QJC^S+O\ Z#E__P!\6_\ \:K1HH SO[,N_P#H M.7__ 'Q;_P#QJC^S+O\ Z#E__P!\6_\ \:K1HH SO[,N_P#H.7__ 'Q;_P#Q MJC^S+O\ Z#E__P!\6_\ \:K1HH SO[,N_P#H.7__ 'Q;_P#QJC^S+O\ Z#E_ M_P!\6_\ \:K1HH SO[,N_P#H.7__ 'Q;_P#QJC^S+O\ Z#E__P!\6_\ \:K1 MHH SO[,N_P#H.7__ 'Q;_P#QJC^S+O\ Z#E__P!\6_\ \:K1HH SO[,N_P#H M.7__ 'Q;_P#QJC^S+O\ Z#E__P!\6_\ \:K1HH SO[,N_P#H.7__ 'Q;_P#Q MJC^S+O\ Z#E__P!\6_\ \:K1HH SO[,N_P#H.7__ 'Q;_P#QJC^S+O\ Z#E_ M_P!\6_\ \:K1HH SO[,N_P#H.7__ 'Q;_P#QJC^S+O\ Z#E__P!\6_\ \:K1 MHH SO[,N_P#H.7__ 'Q;_P#QJC^S+O\ Z#E__P!\6_\ \:K1HH SO[,N_P#H M.7__ 'Q;_P#QJC^S+O\ Z#E__P!\6_\ \:K1HH SO[,N_P#H.7__ 'Q;_P#Q MJC^S+O\ Z#E__P!\6_\ \:K1HH SO[,N_P#H.7__ 'Q;_P#QJC^S+O\ Z#E_ M_P!\6_\ \:K1HH SO[,N_P#H.7__ 'Q;_P#QJC^S+O\ Z#E__P!\6_\ \:K1 MHH SO[,N_P#H.7__ 'Q;_P#QJC^S+O\ Z#E__P!\6_\ \:K1HH SO[,N_P#H M.7__ 'Q;_P#QJC^S+O\ Z#E__P!\6_\ \:K1HH SO[,N_P#H.7__ 'Q;_P#Q MJC^S+O\ Z#E__P!\6_\ \:K1HH SO[,N_P#H.7__ 'Q;_P#QJC^S+O\ Z#E_ M_P!\6_\ \:K1HH SO[,N_P#H.7__ 'Q;_P#QJC^S+O\ Z#E__P!\6_\ \:K1 MHH SO[,N_P#H.7__ 'Q;_P#QJC^S+O\ Z#E__P!\6_\ \:K1HH SO[,N_P#H M.7__ 'Q;_P#QJC^S+O\ Z#E__P!\6_\ \:K1HH SO[,N_P#H.7__ 'Q;_P#Q MJC^S+O\ Z#E__P!\6_\ \:K1HH SO[,N_P#H.7__ 'Q;_P#QJC^S+O\ Z#E_ M_P!\6_\ \:K1HH SO[,N_P#H.7__ 'Q;_P#QJC^S+O\ Z#E__P!\6_\ \:K1 MHH SO[,N_P#H.7__ 'Q;_P#QJC^S+O\ Z#E__P!\6_\ \:K1HH SO[,N_P#H M.7__ 'Q;_P#QJC^S+O\ Z#E__P!\6_\ \:K1HH SO[,N_P#H.7__ 'Q;_P#Q MJC^S+O\ Z#E__P!\6_\ \:K1HH SO[,N_P#H.7__ 'Q;_P#QJC^S+O\ Z#E_ M_P!\6_\ \:K1HH SO[,N_P#H.7__ 'Q;_P#QJC^S+O\ Z#E__P!\6_\ \:K1 MHH SO[,N_P#H.7__ 'Q;_P#QJC^S+O\ Z#E__P!\6_\ \:K1HH SO[,N_P#H M.7__ 'Q;_P#QJC^S+O\ Z#E__P!\6_\ \:K1HH SO[,N_P#H.7__ 'Q;_P#Q MJC^S+O\ Z#E__P!\6_\ \:K1HH SO[,N_P#H.7__ 'Q;_P#QJC^S+O\ Z#E_ M_P!\6_\ \:K1HH SO[,N_P#H.7__ 'Q;_P#QJC^S+O\ Z#E__P!\6_\ \:K1 MHH SO[,N_P#H.7__ 'Q;_P#QJC^S+O\ Z#E__P!\6_\ \:K1HH SO[,N_P#H M.7__ 'Q;_P#QJI-&N);O0;"XN&WRS6T"GD"+XPT%G)P%&IPY)]/O5I>(?^19U3 M_KSE_P#0#7S'\$_AQX+\7?#?7=4\8P>6]I=-&+_[4\7V>,1JV)[?1HEN;&.XW-& M)"DA=>"#CY4) QU]ZZOP+\7OB!X]O-)?1_"5F^E1SQP:S?DE50LWS&(-)_"A M!Q\Y^F10![E17AMU\:/&GBOQ)J.G?"3PK:ZK:Z8^R:\O)/EDY(!'SH!G!P,D MD#.!VT?!GQAU[Q?I_B'14\/PVGC;28'>*PEZ#\?5_&/QAU M\>/IO!?PT\/0ZUJUJNZYEN'Q&AP"1CO4?B+XG\6Z NG6W@?PN== MO+TR;Y')$5L$VXWG('S;CC+#[IH [:N.D^)NB1_%.+P"T-[_ &M+'YBRB-?( M_P!69,;MV[.T'^''O7"^'OB]XTT_XC:;X2^)WAFRTV;5<"VELI,[T*#G!P!NR?8'IUH ^H:* M\3\+?&7Q5!\38/!OQ,\/6ND7-]@6KVI.%+9V9.]@X8@KE3P>,=<,U3XO^.M: M\>ZUH'PT\+6.HQZ'*T5T][+AW*L58J#(@ W @?>/&>^* /;ZS]1U_1](N+># M5M6L;&:Z;;;QW-RD;3'(&%#$%CDCIZBJ_A/5-1UGPK8W^N:8^E:A,A\^S?.8 MF#$8YYP<9'L:\0_:0_Y*!X _Z^&_]&Q4 ?0]%>2?%'XOZI\/O'^C:1::5%J5 MG?6QD>)$8W$DA9E1$(; RP7^$GDXK&LOC1XWT7X@:3HGQ%\*6NE6FLR(ELUN MY,D8=MH).]@V"1D84CKCM0![I17DWQ$^+VJZ+XUMO!7@+1(]9\0RH'D69B(X MLKN"X!7)V_,26 QUSQT7PX\1^--:_M*U^('AJ/1+NS,7E20$F*X#[L[3N8? M+M&<,?O#I0!V]%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 M%%%% !1110 4444 %%%% !1110 4444 %%%% !6=X=_Y%?2_^O.'_P! %:-9 MWAW_ )%?2_\ KSA_] % !IG_ "$-8_Z_%_\ 2>*M&L[3/^0AK'_7XO\ Z3Q5 MHT %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !111 M0 4444 %%%% !1110 4444 9WB'_ )%G5/\ KSE_] -?+?P.^#GAWXC>&[[5 M-?N=1CEM;WR%CM941&78KDZ#; M-;Z'IEGIL#MO:*SMTA5FQC)"@ G '- '$>+?"FC>#?@3XETKP[9+:6B:;.Q4 M$LSL4Y9F/))P.:Q_V<8_.^",408KON;A=P[9/6O6+JUM[VUEM;V".XMYE*21 M2H'1U/4$'@CVJ+3=+T_1K%;/2+&VL+5"2L%K"L2*2(_#?CYYM+NUN@RL8'D#%05*X52>P(.,$'\]WX.-+XR^//BKQW86LD&C/& M\$,CIM\QF*!1]=J%CZ9'K7N.J^&- UV19-",82*) BJ/8#@4 ?,OPB\6:-X!^*WC33_%%R]G/>WP@MQY#MYCB M9QCY0<9W Y/&.]2Z+XAL_A-^TCXLF\9^=:V6KF:2"[$3.H6242J<*"2,97(S M@C'T^A[GPSH-YJL>IW>B:=/J$9!2[EM(VE0CH0Y&1CZU+JNAZ3KD"PZWI=EJ M,2G*I=VZ2J#]&!H ^?+/5X/BM^U%I.M^%899=)T6V43WC1%%8+YC D'GEG"@ M'!XSC KZ1JIINDZ=H]J+;2+"UL+<'(BM85B3\E %6Z /E']G?XC>%? NFZ[% MXJU3[ ]W+"T(^SRR[PH;/W%..HZUM?'#QPGB&?PA)INN7MKX*U3>T]]9QR(9 M"LNR3*D!CM X!'?.#Q7N+?#KP2[%F\': S$Y).EP\_\ CM7V\,Z"^BIH[Z)I MS:9&24LC:1F%@,@S_C7T M-#X2\.6[6C6_A_2XC8L7M"EE&OV=CC)3 ^4G Y&.@JP^@Z1)J4NHR:59/?31 M>1+=-;(99(_[C/C)7@<'CB@#YQUWQ%8?%C]I3PE)X.,EU9Z48)9;HPL@*Q2F M5SA@"!C"Y(')^F:/Q+O?AI=ZSKFN>'M>U;PYXPM)YD:"&&0+H:A]NO_#VE M75YG/VB:RC>3/KN*YH YWX-:UK?B#X5:3J/B;>][*' FD&&FC#D(Y'N,<]^O M>O,OVD/^2@> /^OAO_1L5?0X 50%& . !VK/U'0-'U>XMY]6TFQOIK5MUO)< MVR2-"<@Y4L"5.0.GH* /"/C1_P G(?#K_KO9_P#I72_M',5^(7P_9201<,01 MV_>Q5[O>:#I&H:E;:A?Z58W5[:$&WN9[9'DA(.1L8C*\\\4:AH.CZO<6UQJN ME6-]-:MNMY;FV21H3D'*%@2IR >/04 ?/7B#5HOAI^U=<>(?$Z31Z1J=O^[N MEC9@%,2J3@ YVLN"!S@@^U>MZ1\8/"6OZ7X@U+1[FYNK+0+=;BZF%NR!E8.0 M$#88G]V>H Y'/IUFJ:-I>MVPM]:TVTU" '(BNX%E4'UPP(IMGH.D:?I\EA8: M596MG*I62V@MT2-P1@@J!@C'% &1X"\>Z3\1?#KZQH4=U%!'<-;O'=1A'5U" MMV)&,,IX/>NFJIIFDZ=HMD+/1["UT^U#%A!:PK$@)ZG:H S5N@ HHHH **** M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH M**** "BBB@ K.\._\BOI?_7G#_Z *T:SO#O_ "*^E_\ 7G#_ .@"@ TS_D(: MQ_U^+_Z3Q5HUG:9_R$-8_P"OQ?\ TGBK1H **** "BBB@ HHHH **** "BBB M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BL_7=#T[Q+HESI& MM6_VFQNE"S1;V3< 01RI!'('0U\Z:#\+?!U[^TOXF\*7.C[]$L=,2>WM?M4P MV.5MB3O#[C_K'X)(Y]A0!]-T5Y$GQ^,'O7._%WXFZKJGPX\+:[X)6]M-/U&_1GO8;WR)%D42+]E=5.2" M0Q)SM^0=++30=.D M_P"%>WL^MWK2AM.AOXFBM@A !DN/NC<""!CU':N;G^(Q\9_#OXAZ5J.BS:)K M&C:5:;=07EK,,QSV\@D1QTR M&'!J>N ^!O\ R1/PW_UP?_T:]>/>+SX _P"&D/%__"T-QL!:VWV;'GY\WR(> MGE<],]>* /J"BO#?A1XCF\$_"/7?$?B1]0/AZ*[:31TNFWS26Y(5 H)_B) ' M09R>G-=)I7Q=OSX@T;3_ !=X.NO#L&O-MTRZ>\CG$K$ A74 &,GC+\W* \/GT3'2N\\-_$\> M(=+\7WG]DFW_ .$9N)X=GVG?]I\I6.<[1LSMZM:M:176YH0KR*6!V?.?W>0N%ZXS5C7OB]JOA7PM8:QXC\$W5C)? M:JME'9"]224PE-XE 5?O=1Y9P?$&V\)>)_"=UX>N[^ MW:XL&ENDG\Y &8[@H^0X5N,G!&#BK'QQ8K\%/$A4D'[.@X/_ $T2@#OJ*^2Y M;;P[H%C\.[OX7ZAM\77QM1J%O8WSS>8S1KY@E7<0GSD@KP,%N../:]9^*]^G MB;5='\&^$;GQ*VB ?VE.EXEND)()VKN!WL,'@8.0?2@#TFHKFZ@LK62YO)X[ M>")=TDLKA50>I)X KS+6OCII>G?#[0O%NGZ7<7]IJUZ+1X/,"2P$;M_&"&8% M>!QG(Y%<5\7ZI(\NH1R,J*%>+**,Y<[LC^$Q\]10 M![[INJ:?K%DMYI%];7]JQ(6>UF65"1UPRDBK5>4KXZ'@?1]$\/V/@$67B/56 MD-OX;L;N(JBJ2/,:91M&X+G.">N>A-:?AKXK/JNK:SH?B#P]<:#KVDVC7CV, MEPLRRQ@9RDB@ ]5[=^^#@ ]#HKR[P1\7]3\:Z>-4M_!5S:Z3%#,US?/>H421 M%9@B#:&<$ M@ $XYQ6)%^T)?R>#X?%/_" 7PT59?)O+S[6"H,@Z ME^(FVZ5J,]PC-/TVEHAR@.Y>IS M\P.,5I>+/B#XCT&^U$:/X O]5T_3$\RZOY+R.V0J$#L8@P)D ![=P1VH [^B MO,-:^-MAIOP]\.>+;+1[F^M=;NQ;?9UD"RQP9" .,^HJSH/Q4O+SX M@VWA+Q/X3NO#UW?V[7%@TMTD_G( S'<%'R'"MQDX(P<4 >C45Y<_QAU"_P!: MU2'PAX(U#Q#I>CSF"]OX+E$;>/O"*(C,OT!R>/45H^)/B9>6/C*;PKX0\+S^ M)M7M;<7-XB7:6T=NK8V@NX.6((.,=",9YP >@45S'@+QQ9>/O#SZE96\UI+! M.]M=6D^-\$JXRI(Z\$'/_P"JNGH **** "BBB@ HHHH **** "BBB@ HHHH M**** "BBB@ HHHH **** "BBB@ HHHH **** "L[P[_R*^E_]>*M& M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** M"BBB@ HHHH *\NT'P;KME^TIXF\67-F$T6^TR.WM[GSD)D<+;@C8#N'^J?D@ M=*]1HH \)T3PM\1_A[H6N^$?#OANRUK3;^>:2RU-M02+[.LBA?GC;YG( !X[ MYY-2^(O@[KD'P#T3PMHK0WVKZ3?KJ#IY@1)G_>;D5FP,#S."<9V]LU[C10!X ME\1/#7COQQ:>'-1O/#'FVUN\PU+PQ'K2Q>9DX1C,,*>!GU'0=36?X)^%OB30 M],^(UN_A^#2XMS;L@N 6; SG!Q7OM% '(?"K0]1\- M?"[1-(UJW^S7UK"RS1;U?:3(QQE20>".AKG](\$:F/CSXQUS5M.1] U?3H;: M*1Y$83$1Q*RE,[A]QAR!7I]% '@5C\(O%,WPX\6> ;M%AL([X77A^]EG5ED& M\DHP4EE& .HZNQYQ3?!?PJN+;Q-H\U[\+=/T9]/GCGFU5_$$MP'9#D-'"KG! MW '#9%>_T4 >3:+X;\7^%?CAK^J6>APZCH?B*6%I+[[:D9M%4?,3&?F8\L,# MV.>HK#MO!OQ"\,ZAXWT;0=#L;_3?$UQ--!J<]\L8MQ(&!#1_>8X;' R,YQ7 MNM% '@$GPQ\6M\&/ >A#2A_:6DZR;F]@^TQ?NHC-*V[=NVMPR\ D\]*[;XR^ M$M:\66'AN/0+,73V6LPW-P/-1-D0#9;YB,XR.!D^U>DT4 >;>(?"6M7W[0GA M/Q/:V@?2-/L9X;JX\U!Y;,DH4;2=QR77H#6U\5=#U'Q+\+M;TC1;?[3?74*K M#%O5-Q$BG&6( X!ZFNOHH Y+X?\ @S3O#'A/1E.AZ?8:Q'IT$5[-!;QB1I1& MH?65I>EX[>,L_.^9LL0 MI7.">$M:\:?#E=+\-V@O+P7T4WE&5(_E 8$Y<@=QWKTFB@#R_X@ M^$O$J_$G0?'O@VR@U6[TVW>TN-.FN!"9HSOQM=OE!_>-S[#KTJEH'@SQ7K/C M?Q!XV\5Z=;Z1=7FE/IUCI<5TL[*"!\SR#Y3R.WJ>!CGUVB@#S;X7>$M:\._! M%?#^LV8MM3\NZ4P>:CX+LY7YE)7D$=ZY6#X<^*4_95N?!S:9C7I) RVGVB+D M?:UD^_NV?=!/7]:]SHH \C\6>!?$.IGX6"QL1+_PC]W;2:D?.0>2J>3N/)^; M[C?=S7+>-/A;XKUWQ]XAN-0\.Q^)[340!I5[/K)MHM+&".8@=SXR. ,<9[FO MH6B@#P"3X8^+6^#'@/0AI0_M+2=9-S>P?:8OW41FE;=NW;6X9> 2>>E=MXA\ M):U??M">$_$]K:!](T^QGANKCS4'ELR2A1M)W')=>@->DT4 >*>%_#_Q%^&= MYKFB>&O#MAK6E:A?O>6=_-J"PK;%P!^\0_.V JY"^AP>:H>/_A#>W/Q0O_$\ M/A*W\9:=J42;[%M5:QEMY555W!\@$$+GOU/3%>]44 <3\+/"9\)^&)X)- M- M DNKIIS96MY)=!!M51NDNVHHH **** "BBB@ HHHH **** "BB MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "L[P[_R*^E_]>*M&@ HHHH **** "BF3&5;>0VZ)),%)C21RBLV. 6 .!GO@_0UY]I/C MG4[B;64CU+0_$-M9:2UZNH:1"ZP0SC=^X<^;(&) #<,I !R/F4T >B45YUH7 MQ!DD\%:AXEO_ !!H&LI8Z7]MGT_2("DMN^S?L=C/)CH5Y5>1GL16GINO>([/ MQ1I&F>)AILT>LVDLT+6,+Q&UEC"LT;;G;S 0_#@+RI^7D8 .RHKE-4UK7;WQ M=<^'_"\FGVTME81WEQY599'=%A4(Z< Q.2^3QM^7DX /1**QO".O'Q/X1T[66 MM_LKW<(>2#=N\MQPRY[@$'GO6S0 4444 %%%% !1110 4444 %%%% !1110 M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1 M110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%% M% !1110 4444 %%%% !1110 4444 %%%% !1110 5G>'?^17TO\ Z\X?_0!6 MC6=X=_Y%?2_^O.'_ - % !IG_(0UC_K\7_TGBK1K.TS_ )"&L?\ 7XO_ *3Q M5HT %%%% !1110!!>BZ-A<#3FA2[,3>0TZEHQ)CY2P!!*YQD @X[URD>B>)+ MWQ2WB*]@TG3KVUTN:RLX;>YDN4F>1E<-,YCC.Q2@PH!^\QR._944 W/B06&DB71KC2HTTZX>Y9Q,5)=W>./A2@PF#R2:K8:IK MHTB"ZT?3YH;-+6>25+FXD5099,QH40!.$77Q!I MZ:+=:C?:3#::E;S7$L$,=Q$6821,(W9DS)(-K ' 4YZU1TGP/KW@JX@G\*RZ M?JC-I,=C=C4IGM@98W=UF78DG!,LF4XQ\N&KT6B@#)\*Z"OACPKIVC+<&Y-G M"$>P_\!4_PHT/_ )!\O_7Y M=?\ I1)6C0!G?\([HO\ T![#_P !4_PH_P"$=T7_ * ]A_X"I_A6C10!G?\ M".Z+_P! >P_\!4_PH_X1W1?^@/8?^ J?X5HT4 9W_".Z+_T![#_P%3_"C_A' M=%_Z ]A_X"I_A6C10!G?\([HO_0'L/\ P%3_ H_X1W1?^@/8?\ @*G^%:-% M &=_PCNB_P#0'L/_ %3_"C_ (1W1?\ H#V'_@*G^%:-% &=_P ([HO_ $![ M#_P%3_"C_A'=%_Z ]A_X"I_A6C10!G?\([HO_0'L/_ 5/\*/^$=T7_H#V'_@ M*G^%:-% &=_PCNB_] >P_P# 5/\ "C_A'=%_Z ]A_P" J?X5HT4 9W_".Z+_ M - >P_\ 5/\*/\ A'=%_P"@/8?^ J?X5HT4 9W_ CNB_\ 0'L/_ 5/\*/^ M$=T7_H#V'_@*G^%:-% &=_PCNB_] >P_\!4_PH_X1W1?^@/8?^ J?X5HT4 9 MW_".Z+_T![#_ ,!4_P */^$=T7_H#V'_ ("I_A6C10!G?\([HO\ T![#_P ! M4_PH_P"$=T7_ * ]A_X"I_A6C10!G?\ ".Z+_P! >P_\!4_PH_X1W1?^@/8? M^ J?X5HT4 9W_".Z+_T![#_P%3_"C_A'=%_Z ]A_X"I_A6C10!G?\([HO_0' ML/\ P%3_ H_X1W1?^@/8?\ @*G^%:-% &=_PCNB_P#0'L/_ %3_"C_ (1W M1?\ H#V'_@*G^%:-% &=_P ([HO_ $![#_P%3_"C_A'=%_Z ]A_X"I_A6C10 M!G?\([HO_0'L/_ 5/\*/^$=T7_H#V'_@*G^%:-% &=_PCNB_] >P_P# 5/\ M"C_A'=%_Z ]A_P" J?X5HT4 9W_".Z+_ - >P_\ 5/\*/\ A'=%_P"@/8?^ M J?X5HT4 9W_ CNB_\ 0'L/_ 5/\*/^$=T7_H#V'_@*G^%:-% &=_PCNB_] M >P_\!4_PH_X1W1?^@/8?^ J?X5HT4 9W_".Z+_T![#_ ,!4_P */^$=T7_H M#V'_ ("I_A6C10!G?\([HO\ T![#_P !4_PH_P"$=T7_ * ]A_X"I_A6C10! MG?\ ".Z+_P! >P_\!4_PH_X1W1?^@/8?^ J?X5HT4 9W_".Z+_T![#_P%3_" MC_A'=%_Z ]A_X"I_A6C10!G?\([HO_0'L/\ P%3_ H_X1W1?^@/8?\ @*G^ M%:-% &=_PCNB_P#0'L/_ %3_"C_ (1W1?\ H#V'_@*G^%:-% &=_P ([HO_ M $![#_P%3_"C_A'=%_Z ]A_X"I_A6C10!G?\([HO_0'L/_ 5/\*/^$=T7_H# MV'_@*G^%:-% &=_PCNB_] >P_P# 5/\ "C_A'=%_Z ]A_P" J?X5HT4 9W_" M.Z+_ - >P_\ 5/\*/\ A'=%_P"@/8?^ J?X5HT4 9W_ CNB_\ 0'L/_ 5/ M\*N6UK;V*M&@ HHHH **** &31M+;R1I*\+.I59 M8P"R$C[PW C(Z\@CVKR&\UO4?"#^(9[4:QIGE>');JUL=>OVOI)YXF/[Y&\R M5%5=ZAE#@MN&5 )]:O;47UA<6CRS0K/$T9D@D,.95L[2Y\,^.?#5K;ZK MJ5Y!JUE<+>I?7DEP'EC5'650[$1GEP53"D,..!6G9_#S3D4IK-_J&O(+!]-A M74GC(@MW $BKY:)DL%0%VW-\HY'.7Z;X$@L9!+RB8 M#=Y9CC7YSM3+MN;Y!SUR 4+^"3Q/\1]2T6[U#4;2PT[2K>6--/O9+5FFF>4& M0M&RD[1$ %)*\DD'MS7@N]U'X@RPV>OZMJ")8Z)!(S:?=R6C37$DLR-,S1%2 M3B%<*NG37\,T3S7<2]#*9(W!<'<=X"ME MVYYI)?AYIT+6K^'[_4/#SVU@--#::\9,ENIRBMYJ/RIR0XPWS-RZ/?:I-Y]Y)!MFFVA?,96*EL#@$[<_C6]=WD5FJM,LS!C@>3 \I_$*# MBH]+TRST72;73-+@%O9V<2PP1 D[$48 R>3]3R>]6Z .?T;6;6.QD5H[TDW= MRWRV,S=9W/9.O/3MT-7_ .W;3_GE?_\ @OG_ /B*-#_Y!\O_ %^77_I1)6C0 M!G?V[:?\\K__ ,%\_P#\11_;MI_SRO\ _P %\_\ \16C10!G?V[:?\\K_P#\ M%\__ ,11_;MI_P \K_\ \%\__P 16C10!G?V[:?\\K__ ,%\_P#\11_;MI_S MRO\ _P %\_\ \16C10!G?V[:?\\K_P#\%\__ ,11_;MI_P \K_\ \%\__P 1 M6C10!G?V[:?\\K__ ,%\_P#\11_;MI_SRO\ _P %\_\ \16C10!G?V[:?\\K M_P#\%\__ ,11_;MI_P \K_\ \%\__P 16C10!G?V[:?\\K__ ,%\_P#\11_; MMI_SRO\ _P %\_\ \16C10!G?V[:?\\K_P#\%\__ ,11_;MI_P \K_\ \%\_ M_P 16C10!G?V[:?\\K__ ,%\_P#\11_;MI_SRO\ _P %\_\ \16C10!G?V[: M?\\K_P#\%\__ ,11_;MI_P \K_\ \%\__P 16C10!G?V[:?\\K__ ,%\_P#\ M11_;MI_SRO\ _P %\_\ \16C10!G?V[:?\\K_P#\%\__ ,11_;MI_P \K_\ M\%\__P 16C10!G?V[:?\\K__ ,%\_P#\11_;MI_SRO\ _P %\_\ \16C10!G M?V[:?\\K_P#\%\__ ,11_;MI_P \K_\ \%\__P 16C10!G?V[:?\\K__ ,%\ M_P#\11_;MI_SRO\ _P %\_\ \16C10!G?V[:?\\K_P#\%\__ ,11_;MI_P \ MK_\ \%\__P 16C10!G?V[:?\\K__ ,%\_P#\11_;MI_SRO\ _P %\_\ \16C M10!G?V[:?\\K_P#\%\__ ,11_;MI_P \K_\ \%\__P 16C10!G?V[:?\\K__ M ,%\_P#\11_;MI_SRO\ _P %\_\ \16C10!G?V[:?\\K_P#\%\__ ,11_;MI M_P \K_\ \%\__P 16C10!G?V[:?\\K__ ,%\_P#\11_;MI_SRO\ _P %\_\ M\16C10!G?V[:?\\K_P#\%\__ ,11_;MI_P \K_\ \%\__P 16C10!G?V[:?\ M\K__ ,%\_P#\11_;MI_SRO\ _P %\_\ \16C10!G?V[:?\\K_P#\%\__ ,11 M_;MI_P \K_\ \%\__P 16C10!G?V[:?\\K__ ,%\_P#\11_;MI_SRO\ _P % M\_\ \16C10!G?V[:?\\K_P#\%\__ ,11_;MI_P \K_\ \%\__P 16C10!G?V M[:?\\K__ ,%\_P#\17$ZA\6[2T^(T.B1Q;M-B5(K^=H)!-#/+_JALQG;G8IR M.LT>.]=KXBUZQ\,>'+W6M5E\JTLXC([8R3Z #N22 !ZFOER_^'_BC2?"L?Q' MUW44635Y2-4@DMW9[>VN3CS#\XY4E7"C:58CGC /J3^W;3_ )Y7_P#X+Y__ M (BC^W;3_GE?_P#@OG_^(J;2HYXM'LX[R[2]N%@02W2)M69MHRX&3@$\XR>M M6Z ,[^W;3_GE?_\ @OG_ /B*/[=M/^>5_P#^"^?_ .(K1HH SO[=M/\ GE?_ M /@OG_\ B*/[=M/^>5__ ."^?_XBM&B@#._MVT_YY7__ (+Y_P#XBC^W;3_G ME?\ _@OG_P#B*T:* ,[^W;3_ )Y7_P#X+Y__ (BC^W;3_GE?_P#@OG_^(K1H MH SO[=M/^>5__P""^?\ ^(H_MVT_YY7_ /X+Y_\ XBM&B@#._MVT_P">5_\ M^"^?_P"(JY;7*74/FQ+*JYQB6)HS^3 &I:* "BBB@ K.\._\BOI?_7G#_P"@ M"M&L[P[_ ,BOI?\ UYP_^@"@ TS_ )"&L?\ 7XO_ *3Q5HUG:9_R$-8_Z_%_ M])XJT: "BBB@ HHHH **** "BBB@ HHHH **** ,[0_^0?+_ -?EU_Z425HU MG:'_ ,@^7_K\NO\ THDK1H **** "BBB@ HHHH **** "BBB@ HHHH **** M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH * M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBN'^)_BR\T+2+;1O#FV7Q+ MKTGV338LX,9(^>8^BH.<^N.V: ,'4S_PM7XG#1H_WGA7PM.)=08'Y;V]'W8? M=4ZL/7(/8UZ1K>D6OB#0;[2-07?;7L#P2#V88R/<=1[UG^"O"=GX*\)VFBV) M,GD@M/.WWIY6Y>1O^TUZ#7F&OX\$_&_2?$ _=Z9XJC&E7YZ*MTHS Y]R!L^@->GT %%%% ! M1110 4444 %%%% !1110 4444 %%%% !6=X=_P"17TO_ *\X?_0!6C6=X=_Y M%?2_^O.'_P! % !IG_(0UC_K\7_TGBK1K.TS_D(:Q_U^+_Z3Q5HT %%%% !1 M110 4444 %%%% !1110 4444 9VA_P#(/E_Z_+K_ -*)*T:SM#_Y!\O_ %^7 M7_I1)6C0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444 M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 M 4444 %%%% !1110 4444 5M2U&TTC3+G4-1G6WM+6-I9I7/"*!DFO._AII] MWXIUN\^)6OPM'+J*>1HUK)@_9+('@^S.?F)]#Z'%0>,9'^)/CV+P%8N_]B:8 M4N_$,\9XD.*O^$S\!:;K$@VW3Q^5= MQD8,8>'?^**^-NK^'"-FF>)XSJVGC^%;E>+A![D#?\ M0"@#T^BBB@ HHHH **** "BBB@ HHHH **** "BBB@ K.\._\BOI?_7G#_Z M*T:SO#O_ "*^E_\ 7G#_ .@"@ TS_D(:Q_U^+_Z3Q5HUG:9_R$-8_P"OQ?\ MTGBK1H **** "BBB@ )"J2QP!R2>U9>F^)] UBWN)](US3;^&U&ZXDM;N.58 M1@G+%2=O /7T-7[I;=[.9;Y8FMFC83"8 H4Q\V[/&,9SFN!MK:#Q3J6M>*1) M'INAR:*^E6EU*NWSXLL[W)SC$0SA,XR [<*P) .NTGQ5X>UZX>#0M=TS4IHU MWO'9WDM2:9XBT76IYX=&UBPU"6V.)X[2Z25HN2/F"DXY!Z^E M>9>);WQ#X;\*:IX-GN[/4BOA2YFM;C3[5X)H!"JQ_O%,DF=P;A@5Y1ACTVYG MTR'QWX(GTM[>.WAT6[=GB8!$L@D.TD]!'NV8SQZ=Z .SU;Q!HV@1QR:[JUCI MB2DK&UY(M%T."&;6]8L-.BG.(I+NZ2)9.,_*6(SQZ5REC= MZ?>_%S5KBXGMY[67PY:R63T(V]L5ROPE\D:A$FK[1 M&/"=J;,7/3[(9IRV-W\.WR# MAPOV13%OSGRB28^O.-FW'MBNGNWNT5?L,$,S9^833&, >Q"MF@"KH?\ R#Y? M^ORZ_P#2B2M&N?T:;5Q8R>58V3+]KN9^#%U?XA>,W^(EYI]LVG6JO::!;3W M#($7.)+@?NSDL<@$@<=N : .V^'G@U?!?A5+2>7[5J=U(UUJ5V?O7%P_+$GN M!T'L/?K7_0/L?_ .?_P"-4 :->>_&/2;J7PG;^)-&3=JWABY74K?' M5T7_ %J?0IDGUVBNQ\_6O^@?8_\ @<__ ,:IKR:O+&TZ,"K*UZY!!Z@ MCRJ )M&U:UU[0[+5M/??;7L"3Q'_ &6&<'WYP:NUY+\+;C5O#.J:Y\/9+:V= MM(G-U8"6[=""#@@UD6/@OPMISDDC:)WM["*,LC?>4D*,@]QWK;HH SM(\/:+H"2IH.D6&F+,09%LK9 M(0Y'3.T#.,FF:=X8T#2(KJ/2=#TVQCO %N5MK2.,3CGAPH&[[S=?4^M:E% & M3?>%/#NIV=I::EH.F7EM9)LM8;BSCD2!< ;44C"C"@8&.@]*EU?P[HGB!8AK MVCV&IB')B%[:I-Y><9V[@<9P.GH*T:* "BBB@#.T/_D'R_\ 7Y=?^E$E:-9V MA_\ (/E_Z_+K_P!*)*T: "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H MHHH **** "BL+QGXI@\'^&+C5IXA/(I6."W,@C\Z5CA5W$$*.Y;L 3VJSX<\ M1:=XIT&UU;2+A)H+F)9,*P+1DC[K#LPZ$>HH U**** "BBB@ HHHH **** " MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBN=\=>+K;P1 MX1NM8N4,TJXBM;=02UQ.W"1@#GD_H": .2^(U[<^,?$EK\--$F:-;E!T!R(P>S2'CZ$=B:](L;&VTS3[>QL($M[6VC6*&)!A411@ ?A7(_#+PA< M^&]"GO\ 77$_B+6I?MFJ3_[9^[&/]E < =,YQQ7:T %%%% !1110 4444 >8 M_%%6\+>)_#GQ#@!$6GS#3]6VC[UG,<;C[(Y!'NU>FJP=0R$,I&00<@BL_P 0 M:+:^(_#M_HVH+FWOH'A?CD!AC(]P>1[BN2^#VM75[X,;1-8;_B;^')VTN\!/ M+>7PC^X*8Y[X)H [ZBBB@ HHHH **** "BBB@ HHHH **** "L[P[_R*^E_] M>R? RZ:\\&ZK/;F0Z2^N7AT@R C_1 M"P*8SVW%Z /2J*** "BBB@ HHHH **** ,[0_P#D'R_]?EU_Z425HUG:'_R# MY?\ K\NO_2B2M&@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***QO$_ MBW0_!VDMJ/B/4(;* 9";SEI#_=11RQ]A0!LUQ/BSXH:7X?U$:+I-O-X@\12# M]WI6G_,Z^\CN><"O"TG'VF0?\3&\0]U7_EB#Z]? M3(XKM_"G@K0?!6GFT\/V*0;SF:=COFG;^\[GEC^@[ 4 >6ZI\/OB%XSUZSU3 MQW;:-JFGPKYL.@KJ4MM#;R9XWE8G\PA>ISU)'3@VM$^!=C-JVK7NLZ9#H+3R MI+8MH&JR[[?*X=,^6BA<@,/E.-Q'0"O9J* /-/\ A O'NB<^%_B/:?\*N\0:/SX.^(VN62K]VWU,)?Q#_ &0'P5%5&' - 'NE%>4:/XL^*_BS3$O= M$T'PSIT+,\9.H7DLC(Z,5=2J $$,",'TJ]_PCOQ;U#_C\\?[2\0Z5:$=1/>QH?R)KF[WXW_#FP;;)X MGMI6Z!;:.2;)]MBFKMA\)? .FX^S>$M+8CH9[<3'_P ?S7266D:;I@QINGVM MH.F((%C_ )"@#QSQG\>XVT](_ ]GJK3QL+FXNIM,;RD@7DY!&0K-M0MCY0Q( MY KUCPQXGTOQ=X?MM7T2ZCN+>= Q"L"T;8Y1AV8="*R;WP+-/XGO]K$URT?P.CT2:?5/!WBC4]+UZ69IFNV6( MPS9Y\N2%$5"FK45YC:_$_5/"EW'IOQ8TC^RRS;(MV M3]Z,GT/Z"O2;6[M[ZUCN;*>*YMY5W1RPN'1QZ@C@B@"6BBB@ HHHH **** " MBBB@ HHJ*YN8+.V>XO)X[>",;GEE<*JCU)/ H E)P,FO*=!_XNE\2W\3R_/X M8\-RM;Z0N3MN[K^.XQW"]%/T/K7"?$#XCZAXO\27UGX,U2_71+9197UY9Q,] MM';,,W%P[#C(RJJ?19"#\PS] Z#H]AX?\/V6DZ/&([&TA6.$ YRH[D]R>I/< MG- &A1110 4444 %%%% !1110 5YAK&/!'QTT[6%_=Z7XOB&G7AZ*MY'S"Q] MV7Y!^->GURGQ+\+/XO\ &H:=:_+?HHN;&0'!2XC^9"#VR1MSZ,: .KHKF_A M_P"*5\9^!-,UK 6>:+;H6=AM^W7<%MOSM\Z4)NQUQ MD\T >->,KGQIJ_B*Z2Z^#NDZ[:VEQ)'9WEW)$[R1!CM;DY 88.WWKM_A/XHO MO%O@LWNH:-;:*T%U):QV=NW$:QX!!7JA#;AM('0'O7':U#\3;G7+^71OBGX< MM-.DN)&M8'C@+11%CL4DQ$DA<#.379_"WPLOA3PO

N7E]?RWU[>QD;7 MGDV[L8)[ ?B2>,XH [2BH[B9;>VEG=798T+E8T+L0!G 4.K-KJ M]MM:T[4-!EL[ ZBZZB(B&MP2'<-$[CY2.02&&X<WC ,CKL=B"H925<*P#=.N)]'\;6VJZM;:=<:7J6E3WML; MNR^W)&!=1+MW%=CL01O0E7VL PXZX .EHK UKQ9'I6J?V9::5J.L7XMC=R6V MGK'NBAW%0Q,CH.2" H)8[3@<52;XAZ=T6TU72YO.L[R)9H9,$94C(X/(/M5V@#.T M/_D'R_\ 7Y=?^E$E:-9VA_\ (/E_Z_+K_P!*)*T: "BBB@ HHHH **** "BB MB@ HHHH ***K:EJ-KI&EW6HZA*(;6UB:::1NBJHR3^0H LTV66."%Y9G6..- M2SNYP% ZDGL*\]OOC3XB_K6AX9^%EGIVJ#7_%E[+XF\1G!^W7H&R ^ MD,7W4'Z^F.E=K8:?9Z580V.F6L-I:PKMCAA0(B#T %6* "BBB@ HHHH **** M "BBB@ KF;_X?Z'J.M7>JRMJD%Y>;//>TU:YMP^U=J_+'(!P!Z>OK7344 9/ MA[PUIOA>SGMM(6X$=Q.UQ*;BZDG9I& !;=(S'G [UK444 %%%% !1110 444 M4 17-K;WMK);7D$=Q!*NV2*5 RN/0@\$5YM=_"_4O"UW)J?PGU?^R'8[Y=%O M"9;"X/L.L9/JOTX%>G44 >>:+\6;5-4CT/Q]I\OA36VX1+M@;:Y[9BF^Z03V M/TR:]#!! (Y!Z&L_6]!TKQ'ICZ?KMA!?VDG6*=-P!]1Z'W'->>'P;XQ^'@\W MXG2KD3:+KT9Q+I. MI+Y4P/\ LYX<>F.<J/] MIN&;^]N;A3[J!0!A_P#">^,_&'R?#SPJUE9/P-9\09ACQ_>2$?,WL>GJ*EMO M@]%J]RE]\2->OO%=TIW+;2MY%G$?]F%#C\2>?2O2J* .(MOA%X4LM-_L^S75 MK>RVE?LT6MWBQX/4;1+C!R%W^33?$*G6--'15 MFZ7$8]SC=CL!7I]>=_&33+H>&K/Q5HZ%M4\+70U&(#K)".)H_H4Y/^[70I/$WJK#(_G0!;HHHH ***RM?\4:'X6LC=^(=5M=/AQP9 MY "_LJ]6/L : -6D=UCC9Y&"(H)9F. .Y->8_\ "S/$7BW,?PR\*37,#=-8 MUG-M:_[RK]^0?3!]J)?$FW;%#I\#7$<)S@N[+\N ,G /48.,YKB_A?J6OMXBL; MJP:*2[U.4/JME]J>X<0 L)+BZ8X6*<.-J(H&0"I4!05]STC1-+T"Q6RT33[: MPMEZ16T00?4XZGW/-36VGV=G/<36EI!!+=/YEQ)%$%:9L8W,0/F. !DT 6** M** "L[P[_P BOI?_ %YP_P#H K1K.\._\BOI?_7G#_Z * #3/^0AK'_7XO\ MZ3Q5HUG:9_R$-8_Z_%_])XJT: "N7\9_#KPUX_6S'BBR>Z^PE_(*3O'MW[=W MW2,YVKU]*ZBLCQ%XJT7PE9V]WXCU".PM[B<6\^#+^$)?!$\OP^L;V MRTM[YRRWF[<\NQ S LQR,!1P<94]\UQ5[X$UF_TC6]0\&3Z7JQ'BR+Q/I,L5 MTK"Y?!WQ.>@"D\?-SSTKN_A)X=USP]X6OSXHBAMK_4]4N-1:S@<,EJ)<'RU( M)& 03P2.: .SO;H6-A<7;Q33+!$TAC@C,DCA1G"J.68XX Y)KREX+KQUH7B> M>XL=2MO$6L:1+9V5E=:91>*[+4 M?B38PP:-I.H6CVNAWJ3?VE:26H%Q/$J1P*9%7>)M M"U>VT;5X+?0].N9KQ+JPD@*QO!UEJ/PZOHI_ M$&DZA*E[H=NA_LVTDO##<1RS.\#")6P<3C#'"G:W->NT4 <[X TB\T+P#I&G M:I&(KR*#,\08-Y;L2Q3(X.-V,C@XXK;N[>6X51#>36I!R6A5"6]CN5JGHH Y M_1M/NGL9"NL7J#[7OX\8Z5?_LR[_Z#E]_W[@_^-T:'_P @ M^7_K\NO_ $HDK1H SO[,N_\ H.7W_?N#_P"-T?V9=_\ 01?&J[U^_N--\">%+Z^U+4M1/VJ\A00!H;>,@@G 3&6Y&6 .W M'>O2_'7C*S\#^%YM4NU,T[$0V=HG+W4[?3U] #65\-O!]YH=G=ZYXGD M6Y\4:VPGU";'$0Q\L">BH./K[ 4 MZ387EJDDE_J#6 M4MQ)(KFZNC&WEE>PB1=,TE1:PKGJDAQER#D$$ @CK7>Z#X&L/"]B+/P]<2Z?#W6"WMU M+>['RLL?=?"RVO-#U'7OA_<:O>0MH-QYM@ L1\RSE^9#ED))!)!YP,@<8KU: M>>*V@>>YE2&*,;GDD8*JCU)/2OG;XH?$33?^$PMO$OP]GGOKNQM)M,U+4+9" MMM''+Q$3.05W+(P8<$$T >QV^LZ==^)KCP_;>+KB35;=-\ML$@R!QD9\K!(R M"0#D9&0,BL#Q#\2-!T*\_LZW\2ZGK6K$X33=(MX+F9CZ';'A?H2#[5YC;_"K MQEXFN+/PUXDEN+"VL9/.:6SA5;-$9?FD68DO//)N8$-C!R6)& ??O#WA/0?" M=G]F\.:3:Z?&1\WDQX9_]YOO,?

>VUM\6O%TFYK]?!NE/QB=8;J]9?7" MHJID>^1GO6KI'P4\/:9J?]JW-[J&K:JV"U]J;1W+D^H\Q"%_#GWKT6B@#._L MR[_Z#=]_W[@_^-T?V9=_]!R^_P"_<'_QNM&B@#._LR[_ .@Y??\ ?N#_ .-U M' M?^17TO\ Z\X?_0!0 :9_R$-8_P"OQ?\ TGBK1K.TS_D(:Q_U^+_Z3Q5HT %8 M_BF'PY/H4B^,ETYM+# O_:6SR@W.#EN >N#UK8K"\6^#-$\<:;;Z?XEM6N[2 MWN5N5B$K("X5E&2I!QASQF@#YQ\43_#'2]6/_"J=2\20:Z[82/P\SO$S=>=Y MRP]E)'.,5[?\'[GQI=>!B_Q%CE34A=,(#/&J2-!M0J65>AW%QR >!GUKJ=$\ M-:)X:M?L^@:5::=%C!%O"J%OJ1R3[FM.@ HHHH **** "BBB@ HHHH SM#_Y M!\O_ %^77_I1)6C6=H?_ "#Y?^ORZ_\ 2B2M&@ HHHH **** "BBB@ HHHH M*AN[N"PLYKN\E2&W@C:265SA44#))/H!4U>4^*[B;XH^-6\#:7)+'X?TMUD\ M0W<1P)G'*VBGZC+8Z8]L$ =X-MKCXE>,!X_UB.1-%L6:+PY92KC(Z-=,#_$V M/E]/P!KU2H[>"*UMHK>VC6*&) D<:#"HH& .P J2@ HHHH **** "BBB@ H MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB MB@ HHHH **** "BBB@ HHHH **** "BBB@ HJCK&N:7X?T][[7-0M["U3K+< M2!!GT&>I]AS7GS?$K7_&+&W^%GAY[FW)VG7=75H+1?=%^_)^ 'TH ]'O]0L] M+LI+S4[N&SMHAF2:>0(BCW)X%>=S_%BZ\17#V/PLT"?Q!*K;'U.X!@L(3_OG M!?'/ Q[$T^Q^$$.IWT>I_$C6+GQ9?H=R03_N[. _[$"\'KC)Z^E>BV]O#:6Z M06L,<,,8VI'&H55'H .!0!YM#\*+WQ).E[\4_$$VO.K!UTJU)M["(_[HPSXQ MU./<&NQU3PCI&H^"[SPQ%9P6FG7-NT BMX@BQY'#!1@9!P?J*W*JZI2*#>$\U@I(7#4[$>#=;66/Q%H436UR7 MV3>4_EY4YRQ"^63Q_&#D\X]/KX]G\4/X9\4Z+XOTJRU=+II/-U::\5%M[^8L M3(\$BR$.I5Y%P"0%"MVKZ_BE2>%)8F5XY%#*RD$$'D$$=: 'T444 %%%% !1 M110 4444 %9WAW_D5]+_ .O.'_T 5HUG>'?^17TO_KSA_P#0!0 :9_R$-8_Z M_%_])XJT:SM,_P"0AK'_ %^+_P"D\5:- !1110!\Q^-O'WB/PGXXU^P^''B' M4-:@:6>;48)K$W":3(7);RWQPJDD8QM'N>GK?P76R;P+)=V7BF;Q1+>WCW%W M>S JR3%$!CVMRN %X/KGH0*XVX^(VM:=X_%OX5T'2;'PU+XM30[ZZ,9\^ZNW M?,S\$?[7)![=>@[OX6:G!J6D:V$TJQTR\L]%[O6]58^3;K\D:GYYG/"QKZL M3Q^O04 <]\2O%U]I<-IX:\*+YWBC7"8K-0>+6/\ CN']%49Q[CO@UN>"O"-C MX(\+V^CZ>6E*DR7%Q)R]Q,W+R,?4G\A@=JY[X;>%=0BFO/&?C"/_ (J;6^7B M)R+&WZI;KGI@8+>_TR?0* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B MBB@ HHHH **1F"*6.I+WQ'KLL*2M_;!#):L0"46$$HN#VYY M'%>E*JH@5%"JHP !@ 4M% !16?K6NZ5X=TY[_7=0M["U3K+/(%!/H/4^PYKS MX_$7Q/XV8P?"[0"MDQP=?UE&BM\>L4?WI/KZCD4 >B:MK.FZ#ITE_K5];V-K M']Z:XD"+],GJ?;J:\RUGQOK/Q*TF_P!#^&VA2S:??026LVOZENM[95=2K&(8 MWN<'@XX/8UK:1\(;!]0CUCQWJ-QXNUA>5DO^+>$^D< ^51]<_A7H:(L:*D:A M54855& !Z4 ?/C?"7QMXIBMM*\4:KK4$:R@WDKWENVGB-!A5M[9,MGH,L$&, MY'8N\-:7\0/#7C*;X?6_C[["EK;B;1UN]+CFCO+<=0')W*R="N3P#C@5]!5Q MGQ+\'W'B?0X+S1)!;^(M'E^UZ5<9QB0=8S_LN!@CITS0!D_9OC/9?ZG4/!^J M*.OVB&>%C]-G%'_"2_%FR_X^O &EZD!U-CK*Q9^GF"NE\!>,;?QOX3@U2)/( MN5)AO;4YW6TZ\/&0>>#R,]B*Z2@#S;_A:'B.T_Y"_P +O$<6.OV$QW?Y;2,T M?\+Q\/P?\A?1?$VD>OV[2)%Q]=N:])HH \QU'X_^!(]%N+C1]9AO;Y0%AM)8 MY8-[E@HW,Z#"@G)/. ">:N>&O'EY>Z[I]I=ZMX=URUU)WACN-#=@;6=8VE"2 M*SOD%$?#?+ROW>>.NUWPWI'B339['6K&&YAG0HQ9<,/=6ZJ1U!'(K \+?"[0 MO"FK_P!I6CW%S'?^17T MO_KSA_\ 0!6C6=X=_P"17TO_ *\X?_0!0 :9_P A#6/^OQ?_ $GBK1K.TS_D M(:Q_U^+_ .D\5:- !6+XB\8^'O"?V?\ X235K;3OM6[R?/;'F;<;L?3SU+[/N\G[5"LGE[L;L9Z9VC\A0!X!XRTWP+K?B.35?# M7Q9@T1)]034Y;0J98UNU&!.G*[6Y)[Y)Z@ "O7OA-8^'-.\%&W\)ZT-F.3UKQI+KX>> O&GBNP^(W@T+--?O)IK1V"O UH !$ ML8R &ZDD<$GD@BO3_@)%+'\.[AQILFFZ?-JEQ+ID,R;9?LK$&,N>K'J-QSD* M.V* /2Y&*1,RHTA520BXRWL,D#/U-XD+B)C$JM(%.U6;:">P)P<#WP:XGP_I'B_3M6\2 MWES9Z) VL2_:H&COYIQ#*L"1(K*84W*3'DD,#@X [T 4M"^(,DG@K4/$M_X@ MT#64L=+^VSZ?I$!26W?9OV.QGDQT*\JO(SV(K3TW7O$=GXHTC3/$PTV:/6;2 M6:%K&%XC:RQA6:-MSMY@(?AP%Y4_+R,4M5\$:MXQOKVY\2"PTD2Z-<:5&FG7 M#W+.)BI+N[QQ\*4&$P>23D=*LV>A>*KS5;#5-=&D076CZ?-#9I:SR2I33[:6RL([RXN=0MWG5FD=U MCC"HZ$?ZMB6R<<#!YQC:-XXUWQI]F@\-1:?IEPNE1WUVVH0O6XX9<]P"#SWK9K)\*Z"OACPKIVC+<&Y M-G"$>4Z%$_Q;\W"G#7+#NJD87_\ 6#7\;6=IXV\7)\/?"UG9V\$06?Q#J$$"AK>'.1 I M X=_T'XUZ3:>$_#UC9PVMIHEA'!"@2-!;J< # Y(YH UZ*SO^$=T7_H$6/\ MX#)_A1_PCNB_] BQ_P# 9/\ "@#1HK._X1W1?^@18_\ @,G^%'_".Z+_ - B MQ_\ 9/\* -&BL[_ (1W1?\ H$6/_@,G^%'_ CNB_\ 0(L?_ 9/\* -&BL[ M_A'=%_Z!%C_X#)_A1_PCNB_] BQ_\!D_PH T:*SO^$=T7_H$6/\ X#)_A1_P MCNB_] BQ_P# 9/\ "@#1HK._X1W1?^@18_\ @,G^%'_".Z+_ - BQ_\ 9/\ M* -&BL[_ (1W1?\ H$6/_@,G^%'_ CNB_\ 0(L?_ 9/\* -&BL[_A'=%_Z! M%C_X#)_A1_PCNB_] BQ_\!D_PH T:*SO^$=T7_H$6/\ X#)_A1_PCNB_] BQ M_P# 9/\ "@#1HK._X1W1?^@18_\ @,G^%'_".Z+_ - BQ_\ 9/\* -&BL[_ M (1W1?\ H$6/_@,G^%'_ CNB_\ 0(L?_ 9/\* -&BL[_A'=%_Z!%C_X#)_A M1_PCNB_] BQ_\!D_PH T:*SO^$=T7_H$6/\ X#)_A1_PCNB_] BQ_P# 9/\ M"@#1HK._X1W1?^@18_\ @,G^%'_".Z+_ - BQ_\ 9/\* -&BL[_ (1W1?\ MH$6/_@,G^%'_ CNB_\ 0(L?_ 9/\* -&BN9UF7P1X>C\S73H>GKC(^TB)"? MH#R?PKQS7_BKIVI:WT5BVFG>&-03?86FDW2_WH8XW'Z59_X1W1?^@18_^ R?X4 : M-%9W_".Z+_T"+'_P&3_"C_A'=%_Z!%C_ . R?X4 :-%9W_".Z+_T"+'_ ,!D M_P *QO$UWX)\':4=0\1PZ78P":5N9;J[0333'U9V'Z# ]J .87P M9XN^(V)_B1>G1]&;E/#FF3$&0>EQ,.6_W1Q]#7H^D:-IN@:;%I^BV,%C:1#Y M(8$"J/?CJ?<\FH_^$=T7_H$6/_@,G^%'_".Z+_T"+'_P&3_"@#1HK*FT30+: M"2:XTS3HHHU+N[P(JJ!R221P*^8VUO4->T/^W_"ULT5]"5:ZOKR8+;/@#Z?USQ#I'AG3FO\ 7]1M]/ME_P"6D[A=Q] .I/L,FN / MC_Q;XY/E?#/03::>W']OZTACB(]8HOO/WP3QGJ*M>'/@GX;TJZ_M+Q!N\2ZL MW+7.H(OEH?\ IG"/D4?GCL:[;_A'=%_Z!%C_ . R?X4 <=HOP@TN/44UCQI? M7'B[6EY%QJ7,,1](X?NJ,CW_ KT%5"J%4 # '2L__ (1W1?\ H$6/_@,G M^%'_ CNB_\ 0(L?_ 9/\* -&BL[_A'=%_Z!%C_X#)_A1_PCNB_] BQ_\!D_ MPH T:*SO^$=T7_H$6/\ X#)_A1_PCNB_] BQ_P# 9/\ "@#SKQ0K?"_XA)XS MM01X_#KQ18VUQ>6"F?2;Z>W3-] M9D\SA$5G!'!&#G9$@49^@H EHHHH *SO#O\ R*^E M_P#7G#_Z *T:SO#O_(KZ7_UYP_\ H H -,_Y"&L?]?B_^D\5:-9VF?\ (0UC M_K\7_P!)XJT: "BBL_6M?TCPY9+>:]J5MIUL\@B66YE"*SD$A03WP"<>QH \ MFN?$7Q4\8^)M>C\&0Z%::7HNIR:>JZBI,CO'C+]#UR"#@<$=>37HO@:/Q?'H M4H\?RZ?+J7VAC&=/!V"+:N <@?-NW?ABO&=4T7PO>>*]7US3?CHVDR:I<&:6 M.SNQ'@9.U25D&X*/E&>PKU7X66UO:^%9X[3QK-XS0WCDZA-/YIC.Q/W6=S8 MX;&?X_>@#M:*** "BBB@ HHHH **** ,[0_^0?+_ -?EU_Z425HUG:'_ ,@^ M7_K\NO\ THDK1H **** "BBB@ KC/B/XTF\+Z7;V&AQK=^)-7D^S:7:8SESU MD8?W$!R3TZ>YK-^+OC^U\+^''TJRN'DUW5,6]O:V8\RX1&X>14'<+G;GJV/? M',_!;P[-8^)[^?Q5;36^LP6<8TFRN)A,+'3F9ML:,/X@B> ? M!D/@GPV+,R_:]1N7-QJ-\WWKJ=N68GKCL/;WS73T44 %%%% !1110 4444 % M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 445RGB?XF>$O"+F'6- M8A^V9PME;_OIV/8>6N2,^^!0!U=%?.7CGQ-XH\;:W;PWFGIX5\-M"\UE+XA> M6V$CHNYI6$9SYBCYD0M@8+%+#6?%$ZG&W2K!V0'W=L #WYK2T;X.^ ]$D\Z#P];75QG+3WY-R['U M_>$@'Z 5V<4,=O"L4$:Q1H,*B* /8"@#S?^W?BSK_\ R"?"ND^&X&Z3:Q>& M>3'J$BZ'V-'_ K/Q/K?/C+XC:O.C?>M='C2QC_W25R6'UKTNB@#B=&^#O@/ M1)/.@\/6UU<9RT]^3@:[?0W-Q#-;;4$-Q#:2>5'>P@ MY$4RC[Z \XX[C."0>IHH 9Y$0@$ B3R@H41[1M ],>E8E_X&\*:IG^T?#.D7 M)/\ %+8QEOSQFMZB@#SZ[^!?PZNW\P>'([:4:.+7QC#>1PV M:ZO M7$B6SXY2%<;54'H<9],9Q70HT<=PT0,B*>JAL9 .!D>U6 M* "BBB@ K(\3>*='\(:)+JOB"]CM+:,<;CEI&[*B]68^@K%\;_$6R\)O%IMC M;R:QXCN^+/2+7F1R>C.?X$]6/OZ'&7X:^'=[>Z['XL^)-S%JNN@9M;-!FTTT M==L:GJWJY[CVS0!EP:%X@^+MQ#J'C&*?0_"*L)+;0@Y6>^]'N"/NKWV#_P"N M?0+/P?X:T^^AO;'P_I=O=P($BN(K.-9$4# 8#(XXK9HH **** "BBB@ HHH MH **** "N)^)GA&Z\0:3;:MX>98/$NAR?:],F(^\1]Z$^JN!C'KCMFNVHH Y M_P #^+K3QMX3M=8LU:)WS']=!7E/B 'X6?$8>*H?D\ M,>(I5@UII%>JJP90RD$$9!'>@!:*** "BBB@ K.\._\ MBOI?_7G#_P"@"M&L[P[_ ,BOI?\ UYP_^@"@ TS_ )"&L?\ 7XO_ *3Q5HUG M:9_R$-8_Z_%_])XJT: "LO7_ WHWBG3TL?$.G0:A;)*)5BG7(#@$!OKAB/Q MK4HH XK_ (4[\/?^A3T[_OV?\:Z'0/#>C>%M/>Q\/:=!I]L\IE:*!< N0 6^ MN% _"M2B@ HHHH **** "BBB@ HHHH SM#_Y!\O_ %^77_I1)6C6=H?_ "#Y M?^ORZ_\ 2B2M&@ HH) !). .I->O3.>* .XUG6],\/:7)J.MWT%C9Q?>FG<*/H/4GL!R:\Y/BOQA\2F$/ M@"V;0/#[\/XAU"+][,O'[QKO0M TW3KAD,;36MHD;%202N5 .,@<>U;-% !11 M574-4T_28//U2^MK*+_GI MY9OH5&W]:J?\+)\6ZQQX4^&FKNC?=GUF9+%0/7:E5GZYKEAX=TB74 MM5F\J"/ X!9I&)PJ*HY9B> !R37"_P!F?_P#C]U_P_P"&8FZ+I]HUW*H] MS)\N?I7"_$KP##8C2EU[Q=JGB'6)IFEBM]5U!+6R$2 >:6P5\K(8*"ISEAP1 MF@#VG0/%NE^(;![B!WM)8)#%N$']:^8O"UM\&8[S4[SQM;6>FRJZ1V^E6][-?0QIM!WB:)F\UR20>@&,! M>YZ>-_A!-_R+WPSUO7,_=:STJ9U/XNPXH ]KD\8>&8?];XBTE/\ >OHQ_P"S M55D^(G@J+_6>+]!7V.I0Y_\ 0J\ICT,7?_(#^ %JJGI+JMU!#M^J$$FK4?PX M\7WO^K\&?#31(SW?3C=3U;7]2 MS]Y)[_8GX*BK@4 8OC3]HO2[74K*P\$ZAIDXE^:YU&_AG:" 9Z;$ ?&GP_XMT?&M:II>EZO#*8I8&N0DL_LZ^ M"+O3T70;5M&OH26BNLFZ4G_II'*65U]N/J*S+[]F;PX-.@_L+4+BSU&%,--< MQ)-@P/XBGU\U3> 9/!&+&^UZV\_P"''QGO;P*,FUU:".[E M4>CA]KK]<4 >TT5YKY_QDTC_ %EIX7\0Q#IY,DMK,WUW?(*/^%H^(=,_Y&?X M9>(;4#[SZ88[]1[Y0CB@#TJBO/;/XY^ KB;R+S5I=+N>\.HVDL##ZDKM_6M' M4_BIX3L+6&6RU)-:>8DK!I#+=2*BC+R%5/"J.3GGL 3@4 =C17G^J?&GPC:R MQVNBW,_B34)E#166BPFX=L],D?*.HSDY'I5$2?%;QC_JH[#P+IS_ ,4F+R]9 M?I]Q>/7D9H [_5])7SM^W2+]ELU/3/F/UQZ #/8U=T?X->&+*]&HZZ+KQ/JG4WFM3&X(/7 MA#\H'IP<>M=['&D4:QQ*J(HPJJ, #T H \S_ .$%\<^+?F\>>,&TZS;DZ5X= M!A7']UIF^=O0CIZ&NK\,?#_PMX.3_BGM&MK6;&&N2N^9_7,C9;\,XKHZJZAJ M=AI-HUUJM[;V5NOWI;F58T'XL0* '7NGV>I0+#J-I!=Q*ZR+'/$'4,IRK8(Z M@\@]JL5X)KGQ5T'6O%FL1KJ7B74[>S*)I]OX8D>--GEJSSR.K+N^=F7YB5 3 M..XE'Y?+1_P@GQ"U#G6?BA/$AZPZ;I<4./H^2: /2:H M:AKND:2"=4U6RL@.IN;A(\?]]$5PO_"D]+N^=?\ %'BK6L_>2\U5MA^BJ!@5 M?T_X*?#O32#!X6LY3W-T7GS]?,8T .U#XS_#O3,_:/%=C(1_S[%I\_\ ?L-7 MEEU\6-&U9M7U.[U/QC'<17,HM)=*C=+6PA#$0N\9(5]P"NWF!OO8XQ7O6G^' M=%TC']E:/86..GV:U2/'_?(%)>>&]#U'4H=1U#1M/NKZ#'E7,]JCR1XZ88C( MH Y[P%\2M \9:%IQCUBQ;6)+:,W=D)-DB3%1O4(V"0&R,C(KLZYGQ)\.O"7B MW*O#?S> ?'=['"OW=.UQ1=PX_NA_O M(/IDT >F45YE_P +!\:>&OE\<^!)YX%^]J/AV3[3']3$?G4#U)KHO#?Q.\'> M*V$6CZ[;-/7\P/2- \/:5X7T6' M2M!LX[.SA'RQQCJ>[$]23W)Y- &-X*^'VF^#([BX2674M8O3NOM5NSNFN&^O M\*^BCVZ]:ZNBB@ HHHH **** "BBB@ HHHH **** "BBB@"EK.D66OZ+=Z5J MD(GL[R)HI4/<$=O0CJ#V-<%\,M7O=#U.\^'/B:=I=0TA/,TVZD/-]9$X1A_M M)]TCV]B:]*KA?B?X3O=8TZTU_P ,XC\3:"YN;!P/]<,?/ WJ''&/7ZF@#NJ* MPO!GBNR\:^%+36]/!19EVRPM]Z"4];M !1110 5G>'?^17TO\ MZ\X?_0!6C6=X=_Y%?2_^O.'_ - % !IG_(0UC_K\7_TGBK1K.TS_ )"&L?\ M7XO_ *3Q5HT %%%% !1110 44V0.8F$3*LA4[69=P![$C(R/;(KRNRUC7?#/ MA7XD7%WK-QJ^H:/(SP7%R %5_L<4GRQCY40.Q(0=N"21>+;W4?AS M%;WFD:MJ%V]UHE]).NHWW->"[W4?B#+#9Z_JVH M(ECHD$C-I]W):--<22S(TS-$5).(5PIRN68XZ8 /7:*YKX>:I>ZU\/='OM4F M\^\D@VS3;0OF,K%2V!P"=N?QK$^,WCF_\!^"8[W2$!O+R[2TCE:/<(, M'IT&EX=O?B)X8\V?PQ\+I1J=SS<:KK DNKJ8]R7)3'T ]G?\(KXQ^)3 M>;X]N7\/>'WY7P_I\O[Z=>WVB8?JH_0BO1=%T/3/#NEQZ=H=C!8V<7W88$VC M/^1N ML6J7>I2*/8+%&H% 'T=J?B?0=%S_ &QK>G6&WJ+FZ2,_J17)WOQR^'UG+Y,> MO+?3G[L5C;R3EOH54C]:\OTSX0ZI98\N#PS:D=_^$7%\0Y["+_GCIW@U80/Q"YH I>./CG=G3[:P\,>'->LIM2E$,=_?6HMQ@D ^ M3O."WS MPI8'!Z52\%>,?BGK.HZGX7TNVL+/^R&S/=Z_+)%H;S3Y8(Y(7V^8FY(FVY*(?NL/EZ M=Z3PC\$/#%I;3OXS&J:I--)E;95O#%&H)."PC0R'M-&>&S91Z?)N=]_X+Y_\ XBC^W;3_ )YWW_@OG_\ B* .&_X5+J.I<^*/ MB)XFU'/WHK6=;.)OJB \?C5:^_9_\(;89]&MEM]1AD\PW&H*U\D_&"LLH/H7]NVG_/.^_P#!?/\ _$4?V[:?\\[[_P %\_\ \10!B>#O -CX M4DN[QELY]0O&3S)+6Q2UBB5 0J1QKG:!DGJ223D],=96=_;MI_SSOO\ P7S_ M /Q%']NVG_/.^_\ !?/_ /$4 :-%9W]NVG_/.^_\%\__ ,11_;MI_P \[[_P M7S__ !% &C16=_;MI_SSOO\ P7S_ /Q%']NVG_/.^_\ !?/_ /$4 :-%9W]N MVG_/.^_\%\__ ,11_;MI_P \[[_P7S__ !% &C7'^)_A9X4\57(O;RP-GJ:G MYM[A6_O;UZG_>!K?_MVT_YYWW_@OG_^(H_MVT_YYWW_ (+Y_P#XB@#@ M?L'Q1\%'.FWUMXYTM/\ EVOB+>^5?19?NOWY;GVK2T/XP^&]1OAIFM_:?#6K M]#8ZS'Y#$_[+GY6![I6_EWMM!=PL,[9HPZG\#Q7DOC+X*Z0=:DU M?0?"6FZK%=J(Y]+:8V:PR 86:-T(PO3>G<A6^B"P817>H-8W-Y;O*55U7"E& MBRK*1G>>>E 'I_P_\#6?@/PZUC;>6]Q<2FXNI(H]B&0@#:B_PH .?4Y))K MJ:\>L_C-XF\1Z5;2^$_A[J$TD@VRWEV62UC<$J^TA2TBA@1T!XY Q4G]C>-O M$O/C#QI?:7;M]ZQ\-Z3/#CV\]T+_ *&@#T?7?%>@>&8/-\0:Q9:>N,@7$RJS M?[J]6_ 5Q3?&-=88Q_#[PKK/B=LX6Y6'[+:D^\LF,?E4FA?#WX?:#/\ :8= MNKZ])W->:C8W%S*S?WLNA /T KM5UNR50JPWH4# T^?C_QR@#A?[)^+'B?_ M )"NN:7X1M&ZP:7#]IN,>AD?Y0?=:M:?\$_"<5VM[KZWOB:_'6YUJZ:X^OR< M+CV(-=C_ &[:?\\[[_P7S_\ Q%']NVG_ #SOO_!?/_\ $4 07/A#PW>P6\-Y MX>TJXBM?]1'+91LL7^Z"/E_"M=55%"H JJ, 8 %9_\ ;MI_SSOO_!?/_P#$ M4?V[:?\ /.^_\%\__P 10!HT5G?V[:?\\[[_ ,%\_P#\11_;MI_SSOO_ 7S M_P#Q% &C16=_;MI_SSOO_!?/_P#$4?V[:?\ /.^_\%\__P 10!HT5G?V[:?\ M\[[_ ,%\_P#\11_;MI_SSOO_ 7S_P#Q% &C16=_;MI_SSOO_!?/_P#$4?V[ M:?\ /.^_\%\__P 10!HUSOB3P!X5\7(1XAT*SO'(QYQCVRCZ2+AA^=:/]NVG M_/.^_P#!?/\ _$4?V[:?\\[[_P %\_\ \10!P?\ PJ_Q!X=^?X?>.=1LHEY7 M3M6 O+?_ '5)^9!],FE_X3GQ[X8^7QIX';4;9?O:CX;D\]2.Y\EL.!WSFN[_ M +=M/^>=]_X+Y_\ XBC^W;3_ )YWW_@OG_\ B* /&V_:%A_LJ37TU#1&M$G" M?V$8YEOS&6P&$A.PMM^; 0J.F_O71:=X*UKXA:G%KWQ0C$&G1D26'AA'S%%Z M/<'^-_\ 9Z#\UJ23X<^#IM4BN95UF2TAE,L6GM8.84).XJ&\GS0F?X-^WMC' M%=]_;MI_SSOO_!?/_P#$4 7T18HUCC5410 JJ, =@*=6=_;MI_SSOO_ 7S M_P#Q%']NVG_/.^_\%\__ ,10!HT5G?V[:?\ /.^_\%\__P 11_;MI_SSOO\ MP7S_ /Q% &C16=_;MI_SSOO_ 7S_P#Q%']NVG_/.^_\%\__ ,10!HT5G?V[ M:?\ /.^_\%\__P 11_;MI_SSOO\ P7S_ /Q% &C16=_;MI_SSOO_ 7S_P#Q M%']NVG_/.^_\%\__ ,10!HT5G?V[:?\ /.^_\%\__P 11_;MI_SSOO\ P7S_ M /Q% &C16=_;MI_SSOO_ 7S_P#Q%']NVG_/.^_\%\__ ,10!HT5G?V[:?\ M/.^_\%\__P 11_;MI_SSOO\ P7S_ /Q% &C16=_;MI_SSOO_ 7S_P#Q%']N MVG_/.^_\%\__ ,10!YSJH_X51\21KD0\OPGXGG$6I(H^6RO#]V?V5^C>^3Z" MO5ZYOQ)<:#K?AG4-.UZ&\.G7$#+<%K&=0J8R6SLX(QD'L1FN ^"OB7Q+"R^' M?&*7;6TUN)M O;J'8;BW0 %""[6PQ+8+'IB@#V.BBB@ K.\._\BOI?_7G M#_Z *T:SO#O_ "*^E_\ 7G#_ .@"@ TS_D(:Q_U^+_Z3Q5HUG:9_R$-8_P"O MQ?\ TGBK1H **** "BBB@!LBEXF57:,LI =<97W&01GZBN4T_P"'UO:3:P;_ M %O5-6M];##4+6]6V$ M06#Z;"NI/&1!;N )%7RT3)8*@+MN;Y1R.NG37\,T3S M7<2]#*9(W!<'<=X"MEVYYI)?AYIT+6K^'[_4/#SVU@--#::\9,ENIRBMYJ/R MIR0XPWS-RK>"X=0U>;4[#6-5T6ZN46.Z;3ID47(484L'1@& XW+AL8&>!CI** M *6CZ39Z%I%OIFF1>5:VR;44L6/7)))Y)))))Y))-7:** "BBB@ HHHH *** M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH M **** "BBB@ HHHH **** "BBB@#)\4>'XO%/AJ\T6XN[BTAO%"22VVW?MR" M5^92,$#!!'()K";X?7-Q?Z9'?^17TO_KSA_P#0!6C6=X=_Y%?2_P#KSA_] % !IG_(0UC_ M *_%_P#2>*M&L[3/^0AK'_7XO_I/%6C0 4444 %%%% !1110 4444 %%%% ! M1110!G:'_P @^7_K\NO_ $HDK1K.T/\ Y!\O_7Y=?^E$E:- !1110 4444 % M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44 M44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !111 M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %9WAW M_D5]+_Z\X?\ T 5HUG>'?^17TO\ Z\X?_0!0 :9_R$-8_P"OQ?\ TGBK1K.T MS_D(:Q_U^+_Z3Q5HT %%%% !1110 444V21(8FDE=4C12S.QP% ZDGL* '45 MDZ3XK\.Z]01SZ4 :-%9^K:_H^@0QRZ[JUCIDHZ52Z[=>(?"GA2\\&/>6>I ME?"EW)9SV%J\$\ MXUC!D4R2;MV\88;?F4C!SQK%M,C\6?#Z726@2"+2;E]\ M1 5;(01[23TV;O+QG_&NUTCP[HGA]91H.CV&F";!E%E:I#YF,XW;0,XR>OJ: M9I_AG0=(^T_V5HFG6/VL8N?LUI''YPYX?:!NZGKZF@#E[.\L+[XP7MQ)<6]Q M;2^&8)+*7>KQO"T\GG,K="I_7Y+&#.?] M29&\O&>VS;CVQ747;W:*OV*"&9L_,)9C& /J%;-3@!5 48 X ':B@#G]&FU< M6,GE6-FP^UW.2UXPY\]\C_5'OGGO[=*O^?K7_0/L?_ Y_P#XU1H?_(/E_P"O MRZ_]*)*T: ,[S]:_Z!]C_P"!S_\ QJCS]:_Z!]C_ .!S_P#QJM&B@#.\_6O^ M@?8_^!S_ /QJCS]:_P"@?8_^!S__ !JM&B@#.\_6O^@?8_\ @<__ ,:H\_6O M^@?8_P#@<_\ \:K1HH SO/UK_H'V/_@<_P#\:H\_6O\ H'V/_@<__P :K1HH M SO/UK_H'V/_ ('/_P#&J//UK_H'V/\ X'/_ /&JT:* ,[S]:_Z!]C_X'/\ M_&J//UK_ *!]C_X'/_\ &JT:* ,[S]:_Z!]C_P"!S_\ QJCS]:_Z!]C_ .!S M_P#QJM&B@#.\_6O^@?8_^!S_ /QJCS]:_P"@?8_^!S__ !JM&B@#.\_6O^@? M8_\ @<__ ,:H\_6O^@?8_P#@<_\ \:K1HH SO/UK_H'V/_@<_P#\:H\_6O\ MH'V/_@<__P :K1HH SO/UK_H'V/_ ('/_P#&J//UK_H'V/\ X'/_ /&JT:* M,[S]:_Z!]C_X'/\ _&J//UK_ *!]C_X'/_\ &JT:* ,[S]:_Z!]C_P"!S_\ MQJCS]:_Z!]C_ .!S_P#QJM&B@#.\_6O^@?8_^!S_ /QJCS]:_P"@?8_^!S__ M !JM&B@#.\_6O^@?8_\ @<__ ,:H\_6O^@?8_P#@<_\ \:K1HH SO/UK_H'V M/_@<_P#\:H\_6O\ H'V/_@<__P :K1HH SO/UK_H'V/_ ('/_P#&J//UK_H' MV/\ X'/_ /&JT:* ,[S]:_Z!]C_X'/\ _&J//UK_ *!]C_X'/_\ &JT:* ,[ MS]:_Z!]C_P"!S_\ QJCS]:_Z!]C_ .!S_P#QJM&B@#.\_6O^@?8_^!S_ /QJ MCS]:_P"@?8_^!S__ !JM&B@#.\_6O^@?8_\ @<__ ,:H\_6O^@?8_P#@<_\ M\:K1HH SO/UK_H'V/_@<_P#\:H\_6O\ H'V/_@<__P :K1HH SO/UK_H'V/_ M ('/_P#&J//UK_H'V/\ X'/_ /&JT:* ,[S]:_Z!]C_X'/\ _&J//UK_ *!] MC_X'/_\ &JT:* ,[S]:_Z!]C_P"!S_\ QJCS]:_Z!]C_ .!S_P#QJM&B@#.\ M_6O^@?8_^!S_ /QJCS]:_P"@?8_^!S__ !JM&B@#.\_6O^@?8_\ @<__ ,:H M\_6O^@?8_P#@<_\ \:K1HH SO/UK_H'V/_@<_P#\:H\_6O\ H'V/_@<__P : MK1HH SO/UK_H'V/_ ('/_P#&J//UK_H'V/\ X'/_ /&JT:* ,[S]:_Z!]C_X M'/\ _&J//UK_ *!]C_X'/_\ &JT:* ,[S]:_Z!]C_P"!S_\ QJCS]:_Z!]C_ M .!S_P#QJM&B@#.\_6O^@?8_^!S_ /QJCS]:_P"@?8_^!S__ !JM&B@#.\_6 MO^@?8_\ @<__ ,:H\_6O^@?8_P#@<_\ \:K1HH SO/UK_H'V/_@<_P#\:JY; M-'?\ MD5]+_P"O.'_T 4 &F?\ (0UC_K\7_P!)XJT:SM,_Y"&L?]?B_P#I/%6C0 44 M44 %%%% !1110 4444 %%%% !1110!G:'_R#Y?\ K\NO_2B2M&L[0_\ D'R_ M]?EU_P"E$E:- !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4 M444 %%%% !1110 4444 %9WAW_D5]+_Z\X?_ $ 5HUG>'?\ D5]+_P"O.'_T M 4 &F?\ (0UC_K\7_P!)XJT:SM,_Y"&L?]?B_P#I/%6C0 4444 %%%% !111 M0 4444 %%%% !1110!G:'_R#Y?\ K\NO_2B2M&L[0_\ D'R_]?EU_P"E$E:- M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4 M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11 M10 4444 %9WAW_D5]+_Z\X?_ $ 5HUG>'?\ D5]+_P"O.'_T 4 &F?\ (0UC M_K\7_P!)XJT:SM,_Y"&L?]?B_P#I/%6C0 4444 %%%% !1110!%QQJEXB@$E=KLR MG:P;:X5L'IP<7_%^F3ZWX'UW2K/;]HOM.N+:+<<#>\;*,GZFN0LKNZU[6O"= MS%H^JVJZ#;33WXN[*2';(UOY0A0N )6)9CE"R_+U^84 =5K7BF/2M3BTVUTR M_P!7U"2!KDVMB(]R1 [=[&1T4#)P!G<>< X.*"_$+3KNWL'T*PU#6IKZU-XE MM9I&LD<(;:6?S715.[Y=N=Q(. <'&1_:\MGXYA\57>B:U'IVJZ##"J)ITLT] MO-'+))Y,J03TK&\)66H^!=6M=0UW2=0,-]HYC86-I)=M;S?:Y MY_*=8@Q!VW &[[N4//2@#TW1-9L_$.B6NK:9(TEK=1[XRRE6'8@@]""""/45 M?KFOA[I=YHW@6PM-3A,%T6FGDA)!,1EE>382."1OP<=Q6]=V\MPJB&\GM2#D MM"J$M['>K4 5=#_Y!\O_ %^77_I1)6C6%IFDWL=HXDU:^A)N)VVA(.096(;F M,]0<_CQCI5S^S+O_ *#E_P#]\6__ ,:H T:*SO[,N_\ H.7_ /WQ;_\ QJC^ MS+O_ *#E_P#]\6__ ,:H T:*SO[,N_\ H.7_ /WQ;_\ QJC^S+O_ *#E_P#] M\6__ ,:H T:*SO[,N_\ H.7_ /WQ;_\ QJJ]A8:E-IUM)>:Q?17#Q*TJ". ! M7(&1_J_6@#9HK._LR[_Z#E__ -\6_P#\:H_LR[_Z#E__ -\6_P#\:H T:*SO M[,N_^@Y?_P#?%O\ _&J/[,N_^@Y?_P#?%O\ _&J -&BL[^S+O_H.7_\ WQ;_ M /QJC^S+O_H.7_\ WQ;_ /QJ@#1HK&L+#4IM.MI+S6+Z*X>)6E01P *Q R/] M7ZU8_LR[_P"@Y?\ _?%O_P#&J -&BL[^S+O_ *#E_P#]\6__ ,:H_LR[_P"@ MY?\ _?%O_P#&J -&BL[^S+O_ *#E_P#]\6__ ,:H_LR[_P"@Y?\ _?%O_P#& MJ -&BL:^L-2ATZYDL]8OI+A(F:)#' 0S@' _U?K5C^S+O_H.7_\ WQ;_ /QJ M@#1HK._LR[_Z#E__ -\6_P#\:H_LR[_Z#E__ -\6_P#\:H T:*SO[,N_^@Y? M_P#?%O\ _&J/[,N_^@Y?_P#?%O\ _&J -&BL[^S+O_H.7_\ WQ;_ /QJJ][8 M:E%;JUKK%])(98U(,<'"EU#'_5]E)/X4 ;-%9W]F7?\ T'+_ /[XM_\ XU1_ M9EW_ -!R_P#^^+?_ .-4 :-%9W]F7?\ T'+_ /[XM_\ XU1_9EW_ -!R_P#^ M^+?_ .-4 :-%9W]F7?\ T'+_ /[XM_\ XU1_9EW_ -!R_P#^^+?_ .-4 :-% M8UY8:E% K6NL7TDAEC4@QP<*74,?]7V4D_A5C^S+O_H.7_\ WQ;_ /QJ@#1H MK._LR[_Z#E__ -\6_P#\:H_LR[_Z#E__ -\6_P#\:H T:*SO[,N_^@Y?_P#? M%O\ _&J/[,N_^@Y?_P#?%O\ _&J -&BL[^S+O_H.7_\ WQ;_ /QJJ]Q8:DD] MJL&L7SI)*5F)C@^1-C'/^K_O!1^- &S16=_9EW_T'+__ +XM_P#XU1_9EW_T M'+__ +XM_P#XU0!HT5G?V9=_]!R__P"^+?\ ^-4?V9=_]!R__P"^+?\ ^-4 M:-%9W]F7?_0PU(:C#&FL M7QMVBD:1_+@RK IM'^K[@M^5 &S16=_9EW_T'+__ +XM_P#XU1_9EW_T'+__ M +XM_P#XU0!HT5G?V9=_]!R__P"^+?\ ^-4?V9=_]!R__P"^+?\ ^-4 :-%9 MW]F7?_0!Z56U? M6;31=-O+RZ?=]DMGNGA0@R,BC)VKWYX'N0*XC7]8N-4M].\8>%"T\,$4MC=J M8"]QIX>2+S)!#@DR1B-@4()Y!Y ((!Z-17*^!M0N[ZWU /J-QJVGQ3@6.H7, M(CDF0H"P.%4-M8D;@HSTY()KJJ "BBB@ HHK,US7[/0M,O+N??';_Q)X6Z3JD@PR!E!P1ZC.* +M%%% !1110 54GU2PMM2M=/N+R&.\O Y MM[=G >4*,MM'4X')JCXA\46'AS2Y;VZ$UR(98XG@LT\V4%R/X!SPIW8ZX!P# M7-:YH=E=>&[KQ;X:E.JZIYD>JV=V9 YE6+++!&0,*AC,D8 _YZ$G+$F@#OJ* MAL[J*^L8+NW),5Q&LJ$C!VL,CCZ&IJ "BBB@ HHK!\1>,M)\,6L%QJ$DDD,E MU]FD:V3S?((1G9W Y555P(H V3=6XNA:F>/[05WB'>-Y7UQUQ[U+7DOB& MQ?1/%FG:O-K6E6=C>7TU[!K3V1DF!:!D6!I-VUE*R'9ZA%&,CGT7PS=ZC?>& M;&YUJ(0WTD695"%,\\'8>5)&"5/0G':@#5HHHH **** "HENK=[E[9)XVGC M9X@X+*#T)'45B:[XVT;P]]A:_F9H+R9XC<0C?' $.UGD(^Z@U+QOHNE:OIMC M=3MLU)28KM!N@0[@J!W'"[R<*3P2,9SC(!NQSPRR21Q2H[QD!U5@2A]QVJ2O M'9O#FJ>%K>POC!I]AJFEL(H;ZTE+7'B*1F \N5-H)W@LS9+$.=P( )KV*@ H MHHH ***1W6-&=V"JHR6)P /6@!:CBGAGW>1*DFQMK;&!VGT..AKFM8\5Z9-J MS>%EO9;.\U*QS:WZ+F$/('"*L@./,PA8+QD#BN/MM'U#PUKFB7L6GZ9H=]YL M&GO8:9+O&KQM(JRRNNU>(X]TBDY8?,"<=0#UFBBB@ HHHH **9//%;6[SW,J M0PQJ6>21@JJ!U))Z"N&\9>)A?6NH>'K6UOH8KIO[,_MD(OV:&ZD "1M\P<@E ME4LHP"VW.U1P7$-U")K6:.:)NCQL&4_B*X'Q3XD/B&SN/ M#]AIUW$M],UM9:A<*GV2]GA;>]N<-O"N(W3<5 8;L$\9K:'>V/\ PFFGR^%K M*XTNYNW>+7M$>W,:P!8F(G8 ; P<(@=3B0/WP" #TNBBB@ HHHH *"<=:9+/ M% %,TJ1AV"+O8#Y]*X:[UG3OB!&GAV]L=4L=/U)5NK.\;:B:A%%(K'8 MR,63/RL,A25Y'% '>45Q/A_6]9T[Q,W@_48I-9:U191JZ.HV6[!MHN!VFRH' M ^<'=Q@BNVH **** "BBJ][J%IIT!FO[F*WC"LV9& R%4LV/7"J3QV!H L$X MZT5P-U<6GQ&ECT34K/6M EMRNIV_F%8GN(]KHDB,C$J4=D?:<,"$R,$BKOA/ MQ%K-QK-WX'?\ D5]+_P"O.'_T 4 &F?\ (0UC_K\7_P!)XJT: MSM,_Y"&L?]?B_P#I/%6C0 4444 %%%% !1110 4444 %4-;UBWT#1;G4[Q9G MAMUW%($WR.20 JKW8D@ >II->U=-!T.YU2:&2:&U423",998P1O?'?:N6QWQ M7':EJ'BBPUZUN3!<>(+2Z\Z9])L[:$Q011L##*L[[@\0^'+M[#PSK%I'?7=H MH!%],XR/D*_NOEQO(/SY [$GLM(TR'1='M--M7E>"TB6&(S/N;:HP 3WP.* M+E%%% !116;KVM1>']*.HW4;/;1RQI.Z_P#+%&<*9#_LKG)] ">U "ZWK,6B M6*320RW,TTJP6]M#MWSRMT4;B .A))( )KB]0\1VDVN6NMM:7%E>:3(EIK. MG7:J'CMI6&R;@E75)55PZD@+YG0Y R_%,WB.W6X37QJ6IV8L!J-R=,MX4_L6 M=)%:-X)&V^;@+(2IW,=@R 'Q71V/AW5=>U""^\6?V5/;II\]F);(2!K^*?;G MS$8#RQA<[ 7Y.OIFES(LU[:VS\7UR"0&92OR84#< M5.7R ?N\];4%A:+8:;;6:2RS+;Q+$))FW.X4 98]R<*- M-\)V$-YK#R)!-.( T<9?:2K,6('(551F8]@I-'B/73H-I;2"W\TW4XM4=GVI M'(ZGR]Y[*TFQ,^KBN0;7M9\-:U=IXGAO?$.E0"W9]16QAB2PFDW*X495I(PK MIRH=E#,"QZ4 ;.J-!I?C#2O$$1273]55+"YD4AD5SDVTP/3DLT>1U\U.PI=( M\(W6E>-+Z_L[U[+0W82Q:5 ^8Y;AE/F2L"/D!W?<4X+#>>:H6/P_F$VLZ9<7 MLUMX7F#)8Z7!(#Y)8 M(K;YP-9F\06.N![JZU&YDTZ_A@L/$$MC$D43W&U'M MY8U*-) SF(;D7@[?F)2NLL?!]QJ%QJ-_XF2VM;N^EM)?)TR9F2.2W8LLH=E4 MEVR ?E^ZJKSUH E\*^$KOP_K.H.M])#HWF,--TB.3=%;JVTLV2 1E@2J9VH" M<=>.LHHH **** "L76?%NDZ!J^FZ=JLS02:D6$,A0F-"I4?.W1,LZJ,]2<=: MB\0:S=VU_:Z-IRK#>ZE&WV6ZEYC5D9-XQW<1L[J#P?+(KF--U6=[R;P_XUTR M\U>QOKV;3;36;NRAC6Y3RPQCDC7# ;DE4,$"L%4]\T ;%C;0Z3XWU#1KF!9+ M'68I+ZT\Q0RAR5%U#R.C'9)CN6D_NU)X-\+7WAV6]6XU"5M/$KQZ;IHEWQV< M&[@;B S$XR &_!=_!! WB/5+FX:PO/-TN'S0YM(E+JJM)M#2,R M.58GM@FEZC-:6VDZAJAM(DFO6LE1OLR,3MRI8,Y(5CM0,<# MIR <3PT-&O;K4]"*6^HZ+J\#:CISL Z36\K?OHN><)*Q;'83*.U8&EWWB5_$ M-A/'#<0ZS<1SP17>IVZPVNM6T4C-'YB1DO!*$;\U M'RXK^+4+B_6.R<^5$9E(>($@%D.=QR!EANP.E #_ 7X:MG$"VR-7(#.P5L%SRV!Z5T]%% !1110 5B#Q9I#^+I/#,DK)J B#JL MB$1RY&2BMT9@I5BO7# ^N*&LZK?ZAJEYHFF7,L".(&L1J=M<.([9KB6/"+.C(6,,@/ MEY# $!@,$9% &EI.BV4NE:UX'U.R2Y2P"FT61MIEM'W-;D..5,;!HPPY7RP> M];GA'1-2T?1(4\0ZK+J^IXS)<2X(C^4#8F .,*,D\LN!%H'AB[LS8:CX@ MU674M<@@DBFN441QN'V$H$ 'R@H",\YR>Y%=)0 4444 %%%<;K>L:EJ4^J6& ME7L^BG1PTEW<0VRW-PZF-7B,415@ROF0'C.8BHY.0 .UOQCI?E:A:ZGI=Y-H M*,]C?ZFJHUO$Q&'5P&WA!G#/MV@YR< D9L,.HZQ\/K[0+?RKK6='NH8@UQ)M M6Z6*2.6&4N ?OQA"6 /S;AVK,\/7/B>;6+J.WTJ*QU*[LX+K5M'U=@MM.[IL M:>"2+S-F2A5HV7G /!))[/PQX0MO#EO9,DSR74&G1V$KK\J2HA)7Y>?N[F"\ M\ XYH T=#L;ZPTT)JVH-?WLCF6:7;M0,?X47^%!T Y/.(]<\-"60R0B2UN8G4QLRY*-)&?XE#AEW#HR$=JQM?U[7M2TW5KGP[ M'O%6 MB72&.2=HU,'G$,[YC+K+&P+%DS\Q'.#A@ 2_\3SQ!X/LX+);4^(=$U-(KH71 M*QF6,X,I"Y.&5UE ZD-C()KM-)LIM/TN&VNKZ:_G0$R7,P :1B22<#@#)X Z M# [54T?P]'I-U+>->7-W>7-O%%=32D#SFCW8D*@ !B&P<=E4=JUZ "BBB@ I M&944LY"JHR23@ 4M>=ZGXA\1:EIL>N>'Y+B%(+B.V71X;5)I+F<2E)XI6;_5 MA<$!@R 8+$D$"@"75?$MCXLT>+3;FUOM(AUE4?1-5N%3RI9@=\#J58E&RJNJ MN%+#CKD4^X.M>+=&\.:KX?2UL-0M+F6.\6XY%D_ER0R@*/OE'R O . >E8FD MZ-JVO>'=3\-Z;'#:Z&MT]J]MJ1(N]&<%7VQ%-R2J RM&=R[Y-6*** "BBFR,RQLR+O8 D+G&X^F: $FE2"!YIF"1QJ6=CV &2:XV[U&T^ M(7@I*'U60D9!%9U_KWB#5;'3]>T7S MY[*ZN88(]#BM8Y/M,9 ^T"=W \ITQ*H^95S& <[L4O\ 9]QXNOK#7O"QN?#5 MRTDMCK3-L$NR(E/**89&<-]R0'Y1GKG;0!'O$'A:ZCL;2XTVX@ MN;F0?O[=)FMW^1",>8/)9?FX4G)!Q@]M%$L,2HN3@ %F.2W'4GN:J:5I%MHT M-Q%8[UBGN9+DQLV0C2'K&KU !1110 5G>'?^17TO_KSA_\ 0!6C M6=X=_P"17TO_ *\X?_0!0 :9_P A#6/^OQ?_ $GBK1K.TS_D(:Q_U^+_ .D\ M5:- !1110 4444 %%%% !2%E# %@"W0$]:6N=\4>#X/$UQ9W1OKJQO-/20V5 MQ;M@P2L4(DQ_%@(5VG@J[ ]: ,V#4?$UKXBTI/$1LI-.UZ2:V%BD&'LG$3RH MI?<1)F.-PW &<8XJ/PO!;:GH=[X3N+R::#2Y%2&:VN2OVBR?)A^=#DC :(D$ M$F)JIV,-U\2;%+3Q':36::+>L'O["YV17\JK)#((^-WE,DC!CD$$E03@FO0+ M>V@L[>.WM88X88D"1QQJ%5% P .@'I0 L$$5K;QP6T:10Q($CC1<*B@8 [ M "GT44 %%%% %:ZU&RL9(8[V\M[=[AMD*S2JAD;T4$\GV%>>VOC;SO#6HOK= MC>:M;)YHU[8L:Q:6OS*\.PX9PBJ2V-QP=W.X"M'Q;8PV7B235]:TG^V=!OK% M+&\06_GO9;79A((P"Q1M^&VC(*(<$ D4?"G@K3=5MKNYO1?RVHN3!;RRSRQ' M4K10IC%PG'FA270%QED49)!Y -70K!-,-(U(66L6L ^>YI01?91"I+*^06(4HRJRMGOZC-:&B1 M1^+-%L9/$"R/?:5.T-Y;!V6)[J(@;V0<,N0)$!R,,IZ@$4]+TJ+QY)IOBG7M M*O--\N,>3IEQ,"LJY5TDE0#JK[BJDG^%B WQC\: "BBB@ HHHH QO$6N# M3-*U!-.DMY]:CLI;BSL&D&^=U0E0%SD@L,<5QEWKPU_PM:V5HU]>VUS,D=CX MG<1[/MJMNB8HN&">8-F0N,@J>#DOU[3+"PUC5H/%NGS3Z7J]PMU::Q:PL\UE M,(U0(60%XRNP%'''S%3CH='P9X/M_P"S-/U;58;F._8_:9;=I7CA>;D"X:WS ML25AAB,<,3W&: -;2A9>,-/TG7KN&99(AN^QR2G9!<*Q5PR X9T=64$YP1D< MX-=%0!CI10 4444 %9NMR:F=.:/0/)^VO*D7FS#GRMD7X=\((A_#,N51,?? "GL0 -N9M6U/0- M4L=4NK3^W]!U.,Z?=JHA2ZEV)+$-I)VEUD,3 $]6QUKI=,ATSQ&=-\4()Y2U MN)+6.9V"VY92&/EG@28)4G&0,CC)S3T?PO;W.NGQ7JEI/!J-RJR+8S3"1+-] M@3< !CS"@4$\XY"G!)/4@8&!P* "BBB@ HHHH Y;QAXE@L=(F6QU:"V>&YAA MOYXV622PB=PK2%>=I /5@0,[B" :Y_6?$D]]]@OH='U&UO-.C.JZ>\H0G4+5 M,+<1X4Y5VC<,$8 Y*'&5(&+J.FKI6@MHUYI5PGB?3%D.CZC;VAE750Q.$=@, M'S,A94D(')?.,,/1-!\':5H$XN+*.X\Q8C%"D]T\RVD9(+1Q!B=BD@<#^ZHZ M %NSTW3KG4E\00.]S+<0 02O*S)'$P!_=J>%#8!) R<#/0 :E &!@<"B@ MHHHH *Q==_MR[^S6WANYM[,2ES/?S1"<1!1PJIN7+,3US@!6[XK:KS9K*\^% MC:?!X>6XUK3]0<6QTIY1YWVG:29XF/ 5BI:0' 7)<=P0!9?$$HTG0_%VI-!; MZCI\US9:I!$V!- DQAN&4$Y*H\:R]\*I'>NYM-&M+/5+K44$DMW=8#RS2%RJ M Y")GA5!).!CGDUF>'?!UAH5Y>:@HDFO;Z665FGD\S[.)9&E>*/@83S'8],D MGGH,=%0 4444 %%%9WB#3'UOPUJ6EPW+VDE[:R0+.G6(LI 8?3.: .=\3^,; M6TN-*DM=47^S9+B1)Y[$I,\DR*&CM1U :0[O<[=H(S6=/XAEB\70:K=:9:=9S>')-.U_SH;+5= M.BMF6UN[7(#OYBC8R(!OC?(=64+P3BO1M$\.6.@K-]E:YGFGV^;<7EP\\KA< M[5+N2<+DX'N3U)) )M.T2STV\N[N$2275XP,T\\AD<@9VH">B+DX48 R3U)) MT*** "BBB@!&944LY"JHR23@ 5RGBVY\66RWEYX?>R@M=.M/M.RYB\PWSC<6 MBR&'E@*H&[!Y<=ASO:WI,&NZ)=:7=EA;W:>5*%_B0_>7\1D?C7%VYU/0-<'@ M:.&76]+O8"]O.9\2Z;;$['69B#N4 GRSRS%2IZ%@ 7FU*VL_&UAJ=M,OV;7+ M:*WO(%8%H96#-;2L!RH8"6//>:0R23/C&68 M\G@ = ,55\,^&+'PMI(L[(R3NQ#3W5PVZ6X< ,[>P P *V: M"BBB@ IDTT=O"\UQ(D44:EG=V"JH'4DGH*?6#XSTJ\U?PVT.FK%+,X[>RF>_BFM(VTRSLFC*Z@[&3S7,IX" MQK&IX(QNYW%E%0Z#JZR>*)QY-UI]OXA\R.2WDPKVFH0+ME31R[R.QRSLQR68DDDF@!=*TJTT:Q%K8(RIN+NSN7>1V. M6=F8DLQ/4DUYX%<=KFJ>*=*U$:J6LUT:*_@M&L M3#NEEAD=(S/YF[@AGSMQ]U?4\;7B;PS9>*]-BL-3:86R3"9EAD*,S*#M^8<@ MAB&!'.5%!-8,]TEB8S)XAM9%C90-LD092"/M (4L -N"&XW! M: -+3VAL_&&KZ#%=L+/5@]W;O;28-O<#:+B/(^ZWS1R@'DEW/:NHTS3+31]. MBL=.B\J"/) +%BQ))9F8Y+,222Q))))/)INDZ19:'IL-AID A@B!P,DLQ)RS M,QY9B>23R2*M&L[3/^0AK'_7XO_I/%6C0 4444 %%%% !1 M110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !116;XCU?_ (1_ MPKJNL^1]H_LZRFN_)W[/,\M"^W=@XSC&<&@#2HKF_MWC?_H7O#__ (/I_P#Y M#H^W>-_^A>\/_P#@^G_^0Z .DHKF_MWC?_H7O#__ (/I_P#Y#H^W>-_^A>\/ M_P#@^G_^0Z .DHKF_MWC?_H7O#__ (/I_P#Y#H^W>-_^A>\/_P#@^G_^0Z . MDHKF_MWC?_H7O#__ (/I_P#Y#H^W>-_^A>\/_P#@^G_^0Z .DHKF_MWC?_H7 MO#__ (/I_P#Y#H^W>-_^A>\/_P#@^G_^0Z .DHKF_MWC?_H7O#__ (/I_P#Y M#H^W>-_^A>\/_P#@^G_^0Z .DHKF_MWC?_H7O#__ (/I_P#Y#H^W>-_^A>\/ M_P#@^G_^0Z .DHKF_MWC?_H7O#__ (/I_P#Y#H^W>-_^A>\/_P#@^G_^0Z . MDHKF_MWC?_H7O#__ (/I_P#Y#H^W>-_^A>\/_P#@^G_^0Z .DHKF_MWC?_H7 MO#__ (/I_P#Y#H^W>-_^A>\/_P#@^G_^0Z .DHKF_MWC?_H7O#__ (/I_P#Y M#H^W>-_^A>\/_P#@^G_^0Z .DHKF_MWC?_H7O#__ (/I_P#Y#H^W>-_^A>\/ M_P#@^G_^0Z .DHKF_MWC?_H7O#__ (/I_P#Y#H^W>-_^A>\/_P#@^G_^0Z . MDHKF_MWC?_H7O#__ (/I_P#Y#H^W>-_^A>\/_P#@^G_^0Z .DHKF_MWC?_H7 MO#__ (/I_P#Y#H^W>-_^A>\/_P#@^G_^0Z .DHKF_MWC?_H7O#__ (/I_P#Y M#H^W>-_^A>\/_P#@^G_^0Z .DHKF_MWC?_H7O#__ (/I_P#Y#H^W>-_^A>\/ M_P#@^G_^0Z .DHKF_MWC?_H7O#__ (/I_P#Y#H^W>-_^A>\/_P#@^G_^0Z . MDHKF_MWC?_H7O#__ (/I_P#Y#H^W>-_^A>\/_P#@^G_^0Z .DHK-\.:O_P ) M!X5TK6?(^S_VC90W?D[]_E^8@?;NP,XSC.!6E0 4444 %%%% !1110 4444 M%%%% !1110 4444 %%%% !1110 4444 %9WAW_D5]+_Z\X?_ $ 5HUG>'?\ MD5]+_P"O.'_T 4 &F?\ (0UC_K\7_P!)XJT:SM,_Y"&L?]?B_P#I/%6C0 44 M44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !7-_ M$?\ Y)9XK_[ MY_Z(>NDKF_B/_R2SQ7_ -@6\_\ 1#T :FK>(-&T".)]=U>Q MTQ)B1&UY'_\ P:0?_%5J:MX?T;7XXDUW2+'4 MTA),:WELDP0GJ0&!Q67_ ,*X\$?]";X?_P#!7!_\30!A77QI\(6WC.ST1-8T MV:UN(2\NI)?QF&%_F*(3G!R$;)S\IV _?%;O_"Q_!'_0Y>'_ /P:0?\ Q5<; M>?L^^&+I[WR[J:VANYVG\J'3[']UEL[$8VY=5& W3ZFNQ'PX\$ ?\ (G>' MS[_V7!_\30!=T_Q9H&M^>F@Z[IFIS0QF1X[.\CF*CU(4D@9KSC1/B_<'3-.U M75=3T76()],EOM0L=%@(N=,"1AR7S.X(R?+PP3YF7GJ*](TWPGX>T1IGT30M M-TR29/+DDLK..%F7T)4#(JLW@S3W^'G_ AIFNO[._L\:?YNY?.\L)LSG;C= MCOC'M0!2NOB#:6-PL-WH^JQ-''%+?'9$PT])9"D9EQ(0!D@53T;XB M2W>A1W=_HEX;^ZU:[T^ST^U\HR3>2\G.3)L&U(SN+,!E3C(*YU=9\$6&M:N] M]-=WMNMQ'%'>VUO(JQ7B1.7C$F5+#!8\HRD@X.1Q4(\ 64=FL5KJ>HVTT.IS MZE:W431>9:R3%S(B[HRK(?,<8=6/S=>!@ 35?&6/!>G:_HL89+V]LX-EU&0R M++<)$X*@C#+N8=<9'<5:\9>,K3P3I(U+4K.YN+8!B[PR0($P,XS+(@+'LJY8 MX.!3;OP3I]QX.M_#D-S>6EO;20S17$3JTPDBE657)=6!)=YP M54J#(69<\,N2: +FH^()['QMI^D^7&;2XTV[O)6VGS T3P@ '.,$2MG([#D5 MCV7Q3TR^LUE72-7BEG@M;BRMI(XO,O4N7*1&/$A49*G.\K@SGLT56&TI*8RQ(QG(\I<<]SP:PQ\-=)2ULXH;W4(9+&PL[&VN$ MD3?$+5RT4@RA!?).<@J1QMQF@#I-*U#^U-,BNS9W5DS[@UO>1[)8RK%2",D= M0<$$@C!!((-9MWX[\(Z?>2VE_P"*=%M;F%BDL,VHQ(Z,.Q4MD'ZU=TC27TF# MRGU2_P!0!7EKUU=BY=V9\A1@G>!M'RJ$4*J\YI7?@3PCJ%Y+=W_A;1;JYF8O M+--IT3N['N6*Y)^M %&_^*?@73M/GO)?%NC3+"ALY8$\/V6HF20N9=2MH[AU'0*"R\ # ]3U M)))- &M_PL?P1_T.7A__ ,&D'_Q5-\1^)+F+PS:ZGX3,.HQ7-PB&\MX'OHX8 MCG=*(H3OE&0%PI&"V3PI%._X5QX(_P"A-\/_ /@K@_\ B:N7GAJVDTBVT_2+ MBXT&.TD#VYTG9"(^N5V%3&RG)^5E([XR 0 <9J?Q$U"S\&V=_::EH%[3RO3K5I_AM9,DCIK&J1WUR9OMM\# 9+Q90BNLB-$ M8L;8HP-J*0$Z\MF_I'@C3-%DT@V4MR(]'BN(+.)V4JD4S*=A^7)"A%"DG./O M%CS0!!HGBB_U'X;2^('LA<7D<-R\45I&Q6\\IG"/$N2Q60(K*,DX<8)X)PK+ MQOK-W86%DE_IS:Y?ZA'9LDVBW-H+',#SL7AEE#R K&P5@4!)[X->@7MJM]8S MVLDDT2SQM&9()6CD4$8RK+@J?0CD5S+?#^VD\VXGUK5)=6>YBN5U9C )XFC1 MD1541"+;M>08*'/F-GG! !SP^).LW%JEU;6EC&EA8P7>J0.KLTIDN'A*Q.& M3;Y+ME@VPC ME6&6_34K; 9MO*QE][H-PRRC PW7!KH/^%<>"/\ H3?#_P#X*X/_ (FLF?X, M> +C78]4;PW9(Z8/V>.)5@8CH3&!CMTZ'N#S0!K?\+'\$?\ 0Y>'_P#P:0?_ M !57])\4^']>G>'0M=TW4I8UWO'9WD&9I6%V\T5NSF6%0DLB@HAC9Q*2=R#*QE06&2,-B&7X6:3)X37P[ M'J&H0V#>=]HCC$&VY$K[VW1F(QKA@"I1$*_PD9-::^"[6#7SJ5EJ>IV<4DL4 MUQ8V\ZK#<21H$5G.WS/NJ@(#A6V#<#SD R?AAXUU+QKHUW=ZG!:Q2P_9M@MU M95/F6D,S9RS?Q2,![ =3R:FI>,/$^A37UOJ(T>\F%K;LC6D4JI8W,\Z0QQRD MN3*I,FX,!&2(V^5=PQT/A'P3I_@O3[BSTFXNY$G$0+W#*S+Y<"0KC"@?=C4G M(ZY[<53M?A]%#H]YIESX@U>]MKL;CYZVRNDVX.LX=(59I R@@N6''(- &//X MW\1&3^R+5=,&L6\M\9YY+>0P31VR1M\D8DRC/Y\0R7;;AN&XJ75OB#J*+%=Z M3;VJVMMH]MK%[#<(SR2QSR%1'&P8!&4)(2Q#9.T8')K2G^&^GSZX\\8E5OW>P*P"?=52NQ=I&*LZKX!TK5);7]]=VEO#;QVDMK;. MHCNH(W#QQ2;E+;5(/W2I(9@20: '_#C_ ))9X4_[ MG_ .B$KI*YOX'?\ D5]+_P"O.'_T 5HUG>'?^17TO_KSA_\ 0!0 :9_R$-8_ MZ_%_])XJT:QXY+NQU'42-+NKF.XN%ECDA>+!'E1K_$X.U3_VG=_\ 0#O_ M /ONW_\ CM &C16=_:=W_P! ._\ ^^[?_P".T?VG=_\ 0#O_ /ONW_\ CM & MC16=_:=W_P! ._\ ^^[?_P".T?VG=_\ 0#O_ /ONW_\ CM &C16=_:=W_P! M._\ ^^[?_P".T?VG=_\ 0#O_ /ONW_\ CM &C16=_:=W_P! ._\ ^^[?_P". MT?VG=_\ 0#O_ /ONW_\ CM &C16=_:=W_P! ._\ ^^[?_P".T?VG=_\ 0#O_ M /ONW_\ CM &C16=_:=W_P! ._\ ^^[?_P".T?VG=_\ 0#O_ /ONW_\ CM & MC16=_:=W_P! ._\ ^^[?_P".T?VG=_\ 0#O_ /ONW_\ CM &C16=_:=W_P! M._\ ^^[?_P".T?VG=_\ 0#O_ /ONW_\ CM &C16=_:=W_P! ._\ ^^[?_P". MT?VG=_\ 0#O_ /ONW_\ CM &C16=_:=W_P! ._\ ^^[?_P".T?VG=_\ 0#O_ M /ONW_\ CM &C16=_:=W_P! ._\ ^^[?_P".T?VG=_\ 0#O_ /ONW_\ CM & MC5'6]*@U[0-0TB\:1+?4+62UE:(@.JNI4E201G!XR#3/[3N_^@'?_P#?=O\ M_':/[3N_^@'?_P#?=O\ _': ,S_A%]7_ .A[\0?]^-/_ /D6C_A%]7_Z'OQ! M_P!^-/\ _D6M/^T[O_H!W_\ WW;_ /QVC^T[O_H!W_\ WW;_ /QV@#,_X1?5 M_P#H>_$'_?C3_P#Y%H_X1?5_^A[\0?\ ?C3_ /Y%K3_M.[_Z =__ -]V_P#\ M=H_M.[_Z =__ -]V_P#\=H S/^$7U?\ Z'OQ!_WXT_\ ^1:/^$7U?_H>_$'_ M 'XT_P#^1:T_[3N_^@'?_P#?=O\ _':/[3N_^@'?_P#?=O\ _': ,S_A%]7_ M .A[\0?]^-/_ /D6C_A%]7_Z'OQ!_P!^-/\ _D6M/^T[O_H!W_\ WW;_ /QV MC^T[O_H!W_\ WW;_ /QV@#,_X1?5_P#H>_$'_?C3_P#Y%H_X1?5_^A[\0?\ M?C3_ /Y%K3_M.[_Z =__ -]V_P#\=H_M.[_Z =__ -]V_P#\=H S/^$7U?\ MZ'OQ!_WXT_\ ^1:/^$7U?_H>_$'_ 'XT_P#^1:T_[3N_^@'?_P#?=O\ _':/ M[3N_^@'?_P#?=O\ _': ,S_A%]7_ .A[\0?]^-/_ /D6C_A%]7_Z'OQ!_P!^ M-/\ _D6M/^T[O_H!W_\ WW;_ /QVC^T[O_H!W_\ WW;_ /QV@#,_X1?5_P#H M>_$'_?C3_P#Y%H_X1?5_^A[\0?\ ?C3_ /Y%K3_M.[_Z =__ -]V_P#\=H_M M.[_Z =__ -]V_P#\=H S/^$7U?\ Z'OQ!_WXT_\ ^1:/^$7U?_H>_$'_ 'XT M_P#^1:T_[3N_^@'?_P#?=O\ _':/[3N_^@'?_P#?=O\ _': ,S_A%]7_ .A[ M\0?]^-/_ /D6C_A%]7_Z'OQ!_P!^-/\ _D6M/^T[O_H!W_\ WW;_ /QVC^T[ MO_H!W_\ WW;_ /QV@#,_X1?5_P#H>_$'_?C3_P#Y%H_X1?5_^A[\0?\ ?C3_ M /Y%K3_M.[_Z =__ -]V_P#\=H_M.[_Z =__ -]V_P#\=H S/^$7U?\ Z'OQ M!_WXT_\ ^1:/^$7U?_H>_$'_ 'XT_P#^1:T_[3N_^@'?_P#?=O\ _':/[3N_ M^@'?_P#?=O\ _': ,S_A%]7_ .A[\0?]^-/_ /D6C_A%]7_Z'OQ!_P!^-/\ M_D6M/^T[O_H!W_\ WW;_ /QVC^T[O_H!W_\ WW;_ /QV@#,_X1?5_P#H>_$' M_?C3_P#Y%H_X1?5_^A[\0?\ ?C3_ /Y%K3_M.[_Z =__ -]V_P#\=H_M.[_Z M =__ -]V_P#\=H S/^$7U?\ Z'OQ!_WXT_\ ^1:/^$7U?_H>_$'_ 'XT_P#^ M1:T_[3N_^@'?_P#?=O\ _':/[3N_^@'?_P#?=O\ _': ,S_A%]7_ .A[\0?] M^-/_ /D6C_A%]7_Z'OQ!_P!^-/\ _D6M/^T[O_H!W_\ WW;_ /QVC^T[O_H! MW_\ WW;_ /QV@#,_X1?5_P#H>_$'_?C3_P#Y%H_X1?5_^A[\0?\ ?C3_ /Y% MK3_M.[_Z =__ -]V_P#\=H_M.[_Z =__ -]V_P#\=H S/^$7U?\ Z'OQ!_WX MT_\ ^1:/^$7U?_H>_$'_ 'XT_P#^1:T_[3N_^@'?_P#?=O\ _':/[3N_^@'? M_P#?=O\ _': ,S_A%]7_ .A[\0?]^-/_ /D6C_A%]7_Z'OQ!_P!^-/\ _D6M M/^T[O_H!W_\ WW;_ /QVC^T[O_H!W_\ WW;_ /QV@!^B:5!H.@:?I%FTCV^G MVL=K$TI!=E10H+$ #.!S@"KU9W]IW?\ T [_ /[[M_\ X[1_:=W_ - ._P#^ M^[?_ ..T :-%9W]IW?\ T [_ /[[M_\ X[1_:=W_ - ._P#^^[?_ ..T :-% M9W]IW?\ T [_ /[[M_\ X[1_:=W_ - ._P#^^[?_ ..T :-%9W]IW?\ T [_ M /[[M_\ X[1_:=W_ - ._P#^^[?_ ..T :-%9W]IW?\ T [_ /[[M_\ X[1_ M:=W_ - ._P#^^[?_ ..T :-%9W]IW?\ T [_ /[[M_\ X[1_:=W_ - ._P#^ M^[?_ ..T :-%9W]IW?\ T [_ /[[M_\ X[1_:=W_ - ._P#^^[?_ ..T :-% M9W]IW?\ T [_ /[[M_\ X[1_:=W_ - ._P#^^[?_ ..T :-%9W]IW?\ T [_ M /[[M_\ X[1_:=W_ - ._P#^^[?_ ..T :-%9W]IW?\ T [_ /[[M_\ X[1_ M:=W_ - ._P#^^[?_ ..T :-%9W]IW?\ T [_ /[[M_\ X[1_:=W_ - ._P#^ M^[?_ ..T :-9WAW_ )%?2_\ KSA_] %']IW?_0#O_P#ONW_^.U)HUO+::#86 3]PNR6&VCC=<@X8* 1D>] '__V0$! end XML 18 R1.htm IDEA: XBRL DOCUMENT v3.22.0.1
Document And Entity Information - USD ($)
12 Months Ended
Dec. 31, 2021
Feb. 09, 2022
Jun. 30, 2021
Document Information [Line Items]      
Entity Central Index Key 0001443669    
Entity Registrant Name Proto Labs Inc    
Amendment Flag false    
Current Fiscal Year End Date --12-31    
Document Fiscal Period Focus FY    
Document Fiscal Year Focus 2021    
Document Type 10-K    
Document Annual Report true    
Document Period End Date Dec. 31, 2021    
Document Transition Report false    
Entity File Number 001-35435    
Entity Incorporation, State or Country Code MN    
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    
Title of 12(b) Security Common Stock, Par Value $0.001 Per Share    
Trading Symbol PRLB    
Security Exchange Name NYSE    
Entity Well-known Seasoned Issuer Yes    
Entity Voluntary Filers No    
Entity Current Reporting Status Yes    
Entity Interactive Data Current Yes    
Entity Filer Category Large Accelerated Filer    
Entity Small Business false    
Entity Emerging Growth Company false    
Entity Shell Company false    
Entity Public Float     $ 2,500,000,000
Entity Common Stock, Shares Outstanding   27,466,902  
Auditor Name Ernst & Young LLP    
Auditor Location Minneapolis, Minnesota    
Auditor Firm ID 42    
ICFR Auditor Attestation Flag true    
XML 19 R2.htm IDEA: XBRL DOCUMENT v3.22.0.1
Consolidated Balance Sheets - USD ($)
$ in Thousands
Dec. 31, 2021
Dec. 31, 2020
Current assets    
Cash and cash equivalents $ 65,929 $ 127,603
Short-term marketable securities 11,580 34,088
Accounts receivable, net of allowance for doubtful accounts of $1,948 and $1,781 as of December 31, 2021 and December 31, 2020, respectively 80,051 57,877
Inventory 13,161 10,862
Prepaid expenses and other current assets 11,450 11,032
Income taxes receivable 1,321 540
Total current assets 183,492 242,002
Property and equipment, net 280,346 282,666
Goodwill 400,610 128,752
Other intangible assets, net 37,998 14,350
Long-term marketable securities 14,340 59,357
Operating lease assets 5,578 9,855
Finance lease assets 1,898 2,396
Other long-term assets 4,320 4,826
Total assets 928,582 744,204
Current liabilities    
Accounts payable 25,364 18,248
Accrued compensation 13,704 11,989
Accrued liabilities and other 11,980 16,193
Current operating lease liabilities 3,298 3,272
Current finance lease liabilities 550 552
Total current liabilities 54,896 50,254
Long-term operating lease liabilities 2,245 7,586
Long-term finance lease liabilities 1,351 1,919
Long-term deferred tax liabilities 35,892 33,854
Other long-term liabilities 5,705 6,235
Total liabilities 100,089 99,848
Shareholders' equity    
Preferred stock, $0.001 par value, authorized 10,000,000 shares; issued and outstanding 0 shares as of December 31, 2021 and December 31, 2020, respectively 0 0
Common stock, $0.001 par value, authorized 150,000,000 shares; issued and outstanding 27,465,945 and 26,776,796 shares as of December 31, 2021 and December 31, 2020, respectively 28 27
Additional paid-in capital 468,548 284,848
Retained earnings 376,734 362,901
Accumulated other comprehensive loss (16,817) (3,420)
Total shareholders' equity 828,493 644,356
Total liabilities and shareholders' equity $ 928,582 $ 744,204
XML 20 R3.htm IDEA: XBRL DOCUMENT v3.22.0.1
Consolidated Balance Sheets (Parentheticals) - USD ($)
$ in Thousands
Dec. 31, 2021
Dec. 31, 2020
Allowance for doubtful accounts $ 1,948 $ 1,781
Preferred stock, par value (in dollars per share) $ 0.001 $ 0.001
Preferred stock, shares authorized (in shares) 10,000,000 10,000,000
Preferred stock, shares issued (in shares) 0 0
Common stock, par value (in dollars per share) $ 0.001 $ 0.001
Common stock, shares authorized (in shares) 150,000,000 150,000,000
Common stock, shares issued (in shares) 27,465,945 26,776,796
Common stock, shares outstanding (in shares) 27,465,945 26,776,796
XML 21 R4.htm IDEA: XBRL DOCUMENT v3.22.0.1
Consolidated Statements of Comprehensive Income - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Statements of Operations:      
Revenue $ 488,098 $ 434,395 $ 458,728
Cost of revenue 265,407 216,568 223,438
Gross profit 222,691 217,827 235,290
Operating expenses      
Marketing and sales 82,175 69,309 72,976
Research and development 44,241 36,940 32,692
General and administrative 55,933 51,742 49,766
Total operating expenses 182,349 157,991 155,434
Income from operations 40,342 59,836 79,856
Other (expense) income, net (158) 3,109 1,337
Income before income taxes 40,184 62,945 81,193
Provision for income taxes 6,812 12,078 17,538
Net income $ 33,372 $ 50,867 $ 63,655
Net income per share:      
Basic (in dollars per share) $ 1.21 $ 1.90 $ 2.37
Diluted (in dollars per share) $ 1.21 $ 1.89 $ 2.35
Shares used to compute net income per share:      
Basic (in shares) 27,617,627 26,737,425 26,866,985
Diluted (in shares) 27,653,099 26,896,357 27,049,423
Other Comprehensive Income (Loss), net of tax      
Foreign currency translation adjustments $ (13,278) $ 3,598 $ 1,474
Net unrealized gains (losses) on investments in securities (119) 0 0
Comprehensive income $ 19,975 $ 54,465 $ 65,129
XML 22 R5.htm IDEA: XBRL DOCUMENT v3.22.0.1
Consolidated Statements of Shareholders' Equity - USD ($)
$ in Thousands
Common Stock [Member]
Additional Paid-in Capital [Member]
Retained Earnings [Member]
AOCI Attributable to Parent [Member]
Total
Balance (in shares) at Dec. 31, 2018 26,984,747        
Balance at beginning of period at Dec. 31, 2018 $ 27 $ 258,502 $ 291,460 $ (8,492) $ 541,497
Common shares issued on exercise of options and other, net of shares withheld for tax obligations (in shares) 128,174        
Common shares issued on exercise of options and other, net of shares withheld for tax obligations   1,904     1,904
Stock-based compensation expense   10,781     10,781
Repurchases of Common Stock (in shares) (326,462)        
Net income     63,655   63,655
Foreign currency translation adjustment       1,474 1,474
Comprehensive income (loss)         65,129
Foreign currency translation adjustments       1,474 1,474
Net unrealized gains (losses) on investments in securities         0
Balance (in shares) at Dec. 31, 2019 26,786,459        
Balance at end of period at Dec. 31, 2019 $ 27 268,059 324,722 (7,018) 585,790
Common shares issued on exercise of options and other, net of shares withheld for tax obligations (in shares) 189,951        
Common shares issued on exercise of options and other, net of shares withheld for tax obligations   4,114     4,114
Stock-based compensation expense   14,673     14,673
Repurchases of Common Stock (in shares) (199,614)        
Net income     50,867   50,867
Foreign currency translation adjustment       3,598 3,598
Comprehensive income (loss) 54,465
Repurchases of Common Stock   (1,998) (12,688)   (14,686)
Foreign currency translation adjustments       3,598 3,598
Net unrealized gains (losses) on investments in securities         $ 0
Balance (in shares) at Dec. 31, 2020 26,776,796       26,776,796
Balance at end of period at Dec. 31, 2020 $ 27 284,848 362,901 (3,420) $ 644,356
Common shares issued on exercise of options and other, net of shares withheld for tax obligations $ 0 1,637 0 0 1,637
Stock-based compensation expense   19,095     19,095
Repurchases of Common Stock (in shares) (351,582)        
Net income     33,372   33,372
Foreign currency translation adjustment       (13,278) (13,278)
Comprehensive income (loss) 19,975
Repurchases of Common Stock   (3,740) (19,539)   (23,279)
Common shares issued for Hubs acquisition (in shares) 863,995        
Common shares issued for Hubs acquisition $ 1 166,708     166,709
Foreign currency translation adjustments       (13,278) (13,278)
Net unrealized gains (losses) on investments in securities       (119) $ (119)
Balance (in shares) at Dec. 31, 2021 27,465,945       27,465,945
Balance at end of period at Dec. 31, 2021 $ 28 $ 468,548 $ 376,734 $ (16,817) $ 828,493
XML 23 R6.htm IDEA: XBRL DOCUMENT v3.22.0.1
Consolidated Statements of Cash Flows - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Operating activities      
Net income $ 33,372 $ 50,867 $ 63,655
Adjustments to reconcile net income to net cash provided by operating activities:      
Depreciation and amortization 40,488 32,594 30,864
Stock-based compensation expense 19,095 14,673 10,781
Deferred taxes 339 7,577 6,106
Amortization of marketable securities 0 415 5
Realized loss on available-sale-securities 567 0 0
Changes in fair value of contingent consideration (13,253) 0 0
Other 275 (336) 391
Changes in operating assets and liabilities, net of acquisitions:      
Accounts receivable (20,112) (91) 1,848
Inventories (2,390) (662) 60
Prepaid expenses and other 64 (1,680) 545
Income taxes (774) (1,960) 6,555
Accounts payable 4,654 1,492 (719)
Accrued liabilities and other (7,083) 4,080 (4,039)
Net cash provided by operating activities 55,242 106,969 116,052
Investing activities      
Purchases of property, equipment and other capital assets (34,209) (47,010) (62,230)
Cash used for acquisitions, net of cash acquired (127,413) 0 0
Purchases of other assets and investments 0 (3,000) (4,000)
Purchases of marketable securities (16,159) (113,200) (46,403)
Proceeds from sales of marketable securities 64,913 0 0
Proceeds from maturities of marketable securities 18,204 67,737 68,330
Net cash used in investing activities (94,664) (95,473) (44,303)
Financing activities      
Proceeds from exercises of stock options 5,862 7,557 4,391
Purchases of shares withheld for tax obligations (4,225) (3,443) (2,487)
Repurchases of common stock (23,279) (14,686) (33,521)
Principal repayments of finance lease obligations (552) (154) 0
Other 4 0 0
Net cash used in financing activities (22,198) (10,726) (31,617)
Effect of exchange rate changes on cash and cash equivalents (54) 1,608 47
Net (decrease) increase in cash and cash equivalents (61,674) 2,378 40,179
Cash and cash equivalents, beginning of period 127,603 125,225 85,046
Cash and cash equivalents, end of period 65,929 127,603 125,225
Supplemental cash flow disclosure      
Cash paid for interest 28 23 14
Cash paid for taxes $ 7,583 $ 5,650 $ 4,002
XML 24 R7.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 1 - Nature of Business
12 Months Ended
Dec. 31, 2021
Notes to Financial Statements  
Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block]

Note 1 — Nature of Business

 

Organization and business

 

Proto Labs, Inc. and its subsidiaries (Proto Labs, the Company, we, us, or our) is a digital manufacturer of custom prototypes and on-demand production parts. The Company utilizes injection molding, computer numerical control (CNC) machining, 3D printing and sheet metal fabrication to manufacture custom parts for its customers. The Company's customers conduct nearly all of their business over the internet. The Company targets its products to the millions of product developers and engineers who use three-dimensional computer-aided design (3D CAD) software to design products across a diverse range of end-markets. In addition, the Company serves procurement and supply chain professionals seeking to manufacture custom parts on-demand. The Company has established operations in the United States, Europe and Japan, which the Company believes are among the largest geographic markets where these product developers and engineers are located. Through the acquisition of Hubs in 2021, the Company is able to provide its customers access to a global network of premium manufacturing partners who reside across North America, Europe and Asia, complementing its in-house manufacturing. Proto Labs, Inc. is headquartered in Maple Plain, Minnesota. The Company’s subsidiaries are:

 


  

 

Name

   

Location

         
 

PL-US International LLC

   

United States

 

Hubs Manufacturing Inc.

     

United States

 
 

3D Hubs Manufacturing LLC

     

United States

 
 

Proto Labs Ltd.

   

United Kingdom

 

PL International Holdings, UK, Ltd.

   

United Kingdom

 

PL Euro Services Limited

   

United Kingdom

 

Proto Labs GmbH

   

Germany

 

Proto Labs Tooling GmbH

   

Germany

 

3D Hubs B.V.

     

Netherlands

 
 

Proto Labs, G.K.

   

Japan

 


 

 

XML 25 R8.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 2 - Summary of Significant Accounting Policies
12 Months Ended
Dec. 31, 2021
Notes to Financial Statements  
Significant Accounting Policies [Text Block]

Note 2 — Summary of Significant Accounting Policies

 

Principles of consolidation

 

The consolidated financial statements include the accounts of the Company and its wholly-owned subsidiaries, as listed within “Organization and business” above. All intercompany accounts and transactions have been eliminated in consolidation.

 

Comprehensive income

 

Components of comprehensive income include net income, foreign currency translation adjustments and net unrealized gains and losses on investments in securities. Comprehensive income is disclosed in the accompanying Consolidated Statements of Comprehensive Income and Consolidated Statements of Shareholders’ Equity.

 

Accounting estimates

 

The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America (U.S. GAAP) requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and related disclosures at the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from those estimates.

 

Cash and cash equivalents

 

Cash and cash equivalents include cash and other investments, including marketable securities, with maturities of three months or less at the date of purchase. The Company maintains its cash in bank deposit accounts, which, at times, may exceed federally insured limits. The Company has not experienced any losses on such accounts.

 

Marketable securities

 

As of December 31, 2021, marketable securities are categorized as available-for-sale and are recorded at fair value.  In the first quarter of 2021, the Company sold held-to-maturity securities in order to partially fund the acquisition of Hubs. As a result of the sale, all remaining marketable securities were reclassified to available-for-sale securities and reported at fair value. Management determines the appropriate classification of debt securities at the time of purchase and reevaluates such designation as of each balance sheet date. The classification of marketable securities as current or non-current is dependent upon the security’s maturity date. Securities with maturities of three months or less at the time of purchase are categorized as cash equivalents as described above.

 

As of December 31, 2020, marketable securities included held-to-maturity debt securities recorded at amortized cost. Debt securities were classified as held-to-maturity when the Company had the positive intent and ability to hold the securities to maturity. Held-to-maturity securities were stated at amortized cost, adjusted for amortization of premiums and accretion of discounts to maturity computed under the effective interest method. Such amortization was included in other income, net. Interest on securities classified as held to maturity was included in other income, net. During the first quarter of 2020, the Company adopted the FASB ASU 2016-13, Financial Instruments – Credit Losses. The Company calculated the expected credit loss for each security in its portfolio using the probability-of-default method. The Company concluded the adoption of the guidance had no material impact on its consolidated financial statements.

 

Accounts receivable and allowance for doubtful accounts

 

Accounts receivable are reported at the invoiced amount less an allowance for doubtful accounts. As of each balance sheet date, the Company evaluates its accounts receivable and establishes an allowance for doubtful accounts based on a combination of specific customer circumstances and credit conditions taking into account the history of write-offs and collections. A receivable is considered past due if payment has not been received within the period agreed upon in the invoice. Accounts receivable are written off after all collection efforts have been exhausted. Recoveries of trade receivables previously written off are recorded when received.

 

Inventory

 

Inventory consists primarily of raw materials, which are recorded at the lower of cost or market, using the standard cost method, which approximates first-in, first-out (FIFO) cost. The Company periodically reviews its inventory for slow-moving, damaged and discontinued items and provides allowances to reduce such items identified to their recoverable amounts.

 

Property, equipment and leasehold improvements

 

Property, equipment and leasehold improvements are stated at cost. Major improvements that substantially extend an asset’s useful life are capitalized. Repairs, maintenance and minor improvements are charged to operations as incurred. Depreciation, including amortization of leasehold improvements and assets recorded under capital leases, is calculated using the straight-line method over the estimated useful lives of the individual assets and ranges from 3 to 39 years. Manufacturing equipment is depreciated over 3 to 15 years, office furniture and equipment are depreciated over 3 to 7 years, computer hardware and software are depreciated over 3 to 5 years, building costs are depreciated over 39 years, leasehold improvements are depreciated over the estimated lives of the related assets or the life of the lease, whichever is shorter, and building and land improvements are depreciated over 10 to 39 years. Assets not in service are not depreciated until the asset is put into use.

 

The Company follows ASC 350-40, Internal-Use Software, in accounting for internally developed software. As of December 31, 2021 and 2020, $49.4 million of software development costs were capitalized.

 

Goodwill

 

The Company recognizes goodwill in accordance with ASC 350, Intangibles—Goodwill and Other. Goodwill is the excess of cost of an acquired entity over the amounts assigned to assets acquired and liabilities assumed in a business combination. Goodwill is allocated to the Company's reporting units, which are determined by the discrete financial information available for the component and whether it is regularly reviewed by segment management. The Company's reporting units are the United States, Europe and Japan. Goodwill is not amortized.

 

Goodwill is tested for impairment annually at the beginning of the fourth quarter, and is tested for impairment between annual tests if an event occurs or circumstances change that would indicate the carrying amount may be impaired. An impairment charge for goodwill is recognized only when the estimated fair value of a reporting unit, including goodwill, is less than its carrying amount. In 2021, the Company performed a quantitative analysis based on the performance of Europe in 2021 and the amount of goodwill recorded during the year from the Hubs acquisition. The quantitative impairment test requires judgment, including the identification of reporting units, the assignment of assets, liabilities and goodwill to reporting units, and the determination of fair value of each reporting unit. The impairment test requires the comparison of the fair value of each reporting unit with its carrying amount, including goodwill. In performing the impairment test, the Company determined the fair value of its reporting units through a combination of the income approach by using discounted cash flow (DCF) analyses and the market approach through the guideline company method. Determining fair value requires the Company to make judgments about appropriate discount rates, perpetual growth rates and the amount and timing of expected future cash flows. The cash flows employed in the DCF analysis for each reporting unit are based on the reporting unit's budget, long-term business plan and recent operating performance. Discount rate assumptions are based on an assessment of the risk inherent in the future cash flows of the respective reporting unit and market conditions. Given the inherent uncertainty in determining the assumptions underlying a DCF analysis, actual results may differ from those used in the Company's valuations. In assessing the reasonableness of the determined fair values, the Company also reconciled the aggregate determined fair value of the Company to the Company's market capitalization, which, at the date of its 2021 impairment test, included a 16 percent control discount. Significant assumptions used in the DCF analysis included long-term revenue growth rates. As a result of the analyses, no impairment was identified.

 

Capitalized Software Costs

 

The Company follows ASC 350-40, Intangibles – Goodwill and Other, Internal-Use Software, in accounting for internally developed software. Costs for internal use software are evaluated by projected and capitalized where appropriate.

  

Other Intangible Assets

 

Other intangible assets include software technology, customer relationships and other intangible assets acquired from other independent parties. Other intangible assets with a definite life are amortized over a period ranging from two to 12 years on a straight line basis, and are tested for impairment whenever events or circumstances indicate that the carrying amount of an asset (asset group) may not be recoverable. An impairment loss is recognized when the carrying amount of an asset exceeds the estimated undiscounted cash flows generated by the asset. The amount of the impairment loss recorded is calculated by the excess of the asset’s carrying value over its fair value.

 

Accounting for long-lived assets

 

The Company periodically reviews the carrying amount of its property, equipment and leasehold improvements to determine if circumstances exist indicating an impairment or if depreciation periods should be modified. If facts or circumstances indicate that an impairment may exist, the Company will prepare a projection of the undiscounted future cash flows of the specific assets to determine if the assets are recoverable. If impairment exists based on these projections, an adjustment will be made to reduce the carrying amount of the specific assets to fair value.

 

Revenue recognition

 

The Company recognizes revenue for its internal and outsourced manufacturing operations in accordance with ASC 606, Revenue from Contracts with Customers. The Company manufactures custom parts to specific customer orders that have no alternative use to the Company, and the Company believes there is a legally enforceable right to payment for performance completed to date on internally and outsourced manufactured parts. For manufactured parts that meet these two criteria, the Company will recognize revenue over time. Revenue is recognized over time using the input method based on time in production as a percentage of total estimated production time to measure progress toward satisfying performance obligations using the estimated total time necessary to complete the parts per the customer's order and an estimate of inventory and production costs incurred to date. The input method requires an analysis of the incurred time in production and an estimate of the total time necessary to complete the total parts per the customer's order. The majority of the Company’s injection molding contracts have multiple performance obligations including one obligation to produce the mold and a second obligation to produce parts. For injection molding contracts with multiple performance obligations, the Company allocates revenue to each performance obligation based on its relative standalone selling price. The Company generally determines standalone selling price based on the price charged to customers.

 

Leases

 

The Company accounts for leases in accordance with ASC 842, Leases, which requires the balance sheet recognition of lease assets and lease liabilities by lessees for those leases classified as operating and finance leases. The Company determines if an arrangement is a lease at inception. Operating leases are included in operating lease assets, current operating lease liabilities and long-term operating lease liabilities in the Consolidated Balance Sheets and are recognized based on the present value of lease payments over the lease term at the commencement date. Finance leases are included in finance lease assets, current finance lease liabilities and long-term finance lease liabilities in the Consolidated Balance Sheets and are recognized based on the present value of lease payments over the lease term at commencement date. The majority of the Company’s leases do not provide an implicit rate of return, therefore, the Company uses its incremental borrowing rate based on the information available at commencement date in determining the present value of lease payments. Lease agreements that contain non-lease components, with the exception of certain real estate leases, are accounted for as a single lease component.

 

The Company has operating leases for office space, manufacturing facilities and certain company vehicles and equipment and finance leases for certain company equipment. The leases have remaining lease terms of one year to eight years. Leases with an initial term of 12 months or less are not recorded on the balance sheet; we recognize lease expense for these leases on a straight-line basis over the lease term. For purposes of calculating operating lease liabilities, lease terms may be deemed to include options to extend or terminate the lease when it is reasonably certain that the Company will exercise that option. As of December 31, 2021, the operating lease liability does not include any options to extend or terminate leases.

 

Income taxes

 

The Company accounts for income taxes in accordance with ASC 740, Income Taxes (ASC 740). Under this method, the Company determines tax assets and liabilities based upon the differences between the financial statement carrying amounts and the tax basis of assets and liabilities using enacted tax rates in effect for the year in which the differences are expected to affect taxable income. The tax consequences of most events recognized in the financial statements are included in determining income taxes currently payable. However, because tax laws and financial accounting standards differ in their recognition and measurement of assets, liabilities and equity, revenues, expenses, gains and losses, differences arise between the amount of taxable income and pretax financial income for a year and between the tax basis of assets or liabilities and their reported amounts in the financial statements. Because the Company assumes that the reported amounts of assets and liabilities will be recovered and settled, respectively, a difference between the tax basis of an asset or liability and its reported amount in the balance sheet will result in a taxable or a deductible amount in some future years when the related liabilities are settled or the reported amounts of the assets are recovered, giving rise to a deferred tax asset or liability. The Company establishes a valuation allowance for any portion of its deferred tax assets that the Company believes  may not be recognized.

 

ASC 740 also clarifies the accounting for uncertainty in income taxes recognized in an enterprise’s financial statements by requiring that individual tax positions are recorded only when they meet a more-likely-than-not criterion. The Company recognizes the effect of income tax positions only if sustaining those positions is more likely than not. The Company records penalties and interest related to unrecognized tax benefits in income taxes in the Company’s Consolidated Statements of Income.

 

Stock-based compensation

 

The Company accounts for stock-based compensation in accordance with ASC 718, Compensation—Stock Compensation (ASC 718). Under the fair value recognition provisions of ASC 718, the Company measures stock-based compensation cost at the grant date fair value and recognizes the compensation expense over the requisite service period, which is the vesting period, using a straight-line attribution method. The amount of stock-based compensation expense recognized during a period is based on the portion of the awards that are ultimately expected to vest. The Company accounts for forfeitures as they occur. Ultimately, the total expense recognized over the vesting period will only be for those awards that vest. The Company’s awards are not eligible to vest early in the event of retirement, however, the awards vest early in the event of a change in control.

 

In determining the compensation cost of the options granted, the fair value of options granted has been estimated on the date of grant using the Black-Scholes option-pricing model.

 

Advertising costs

 

Advertising is expensed as incurred and was approximately $11.6 million, $11.5 million and $13.0 million for the years ended December 31, 2021, 2020 and 2019, respectively.

 

Research and development

 

Research and development expenses consist primarily of personnel and outside service costs related to the development of new processes and product lines, enhancements of existing product lines, development of software for internal use, maintenance of internally developed software, quality assurance and testing. Costs for internal use software are evaluated by project and capitalized where appropriate under ASC 350-40, Intangibles - Goodwill and Other, Internal-Use Software. Research and development costs were approximately $44.2 million, $36.9 million and $32.7 million for the years ended December 31, 2021, 2020 and 2019, respectively.

 

Foreign currency translation/transactions

 

The Company translated the balance sheets of its foreign subsidiaries at period-end exchange rates and the income statement at the average exchange rates in effect throughout the period. The Company has recorded the translation adjustment as a separate component of consolidated shareholders’ equity. Foreign currency transaction gains and losses are recognized in the Consolidated Statements of Comprehensive Income.

 

Recently adopted accounting pronouncements

 

In  December 2019, the Financial Accounting Standards Board issued Accounting Standards Update (ASU) 2019-12, Income Taxes (Topic 740): Simplifying the Accounting for Income Taxes (ASU 2019-12). ASU 2019-12 attempts to simplify aspects of accounting for franchise taxes and enacted changes in tax laws or rates, and clarifies the accounting for transactions that result in a step-up in the tax basis of goodwill. ASU 2019-12 is effective for public business entities for fiscal years beginning after  December 15, 2020, including interim periods within that fiscal year. The Company adopted ASU 2019-12 on  January 1, 2021 and there was no material impact on the Company’s consolidated financial statements.

 

XML 26 R9.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 3 - Revenue
12 Months Ended
Dec. 31, 2021
Notes to Financial Statements  
Revenue from Contract with Customer [Text Block]

Note 3 – Revenue

 

The Company accounts for revenue in accordance with ASC 606, Revenue from Contracts with Customers. The Company provides quality, quick-turn prototyping and on-demand manufacturing services. As a result, the majority of revenue recognized in a reporting period is based on completed, invoiced contracts. 

 

A performance obligation is a promise in a contract to transfer a distinct good or service to the customer, and is the unit of account in ASC 606. The majority of the Company’s CNC machining, 3D printing, and sheet metal contracts have a single performance obligation. The majority of the Company’s injection molding contracts have multiple performance obligations including one obligation to produce the mold and a second obligation to produce parts. For injection molding contracts with multiple performance obligations, we allocate revenue to each performance obligation based on its relative standalone selling price. We generally determine standalone selling price based on the price charged to customers.

 

The Company manufactures parts that have no alternative use to the Company since the parts are custom made to specific customer orders, and the Company believes there is a legally enforceable right to payment for performance completed to date on these manufactured parts. For manufactured parts that meet these two criteria, the Company will recognize revenue over time. Revenue is recognized over time using the input method based on time in production as a percentage of total estimated production time to measure progress toward satisfying performance obligations using the estimated total time necessary to complete the parts per the customer's order and an estimate of inventory and production costs incurred to date. The input method requires an analysis of the incurred time in production and an estimate of the total time necessary to complete the total parts per the customer's order.

 

Revenue by geographic region for the years ended December 31, 2021, 2020 and 2019 was as follows:

 


 

  

Year Ended December 31,

 

(in thousands)

 

2021

  

2020

  

2019

 

Revenue:

            

United States

 $384,458  $345,708  $360,205 

Europe

  90,399   74,796   82,805 

Japan

  13,241   13,891   15,718 

Total revenue

 $488,098  $434,395  $458,728 

 


 

Revenue by product line for the years ended December 31, 2021, 2020 and 2019 was as follows:

 


 

  

Year Ended December 31,

 

(in thousands)

 

2021

  

2020

  

2019

 

Revenue:

            

Injection Molding

 $226,117  $217,992  $217,415 

CNC Machining

  166,811   131,587   155,473 

3D Printing

  72,721   62,502   61,352 

Sheet Metal

  20,397   18,838   21,000 

Other Revenue

  2,052   3,476   3,488 

Total revenue

 $488,098  $434,395  $458,728 

 


 

The Company generally expenses sales commissions when incurred because the amortization period would have been one year or less. These costs are recorded within marketing and sales expenses. The value of unsatisfied performance obligations for contracts with an original expected length of one year or less is not material.

 

XML 27 R10.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 4 - Net Income Per Common Share
12 Months Ended
Dec. 31, 2021
Notes to Financial Statements  
Earnings Per Share [Text Block]

Note 4 – Net Income Per Common Share

 

Basic net income per share is computed based on the weighted average number of common shares outstanding. Diluted net income per share is computed based on the weighted average number of common shares outstanding, increased by the number of additional shares that would have been outstanding had the potentially dilutive common shares been issued and reduced by the number of shares the Company could have repurchased from the proceeds from issuance of the potentially dilutive shares. Potentially dilutive shares of common stock include stock options and other stock-based awards granted under stock-based compensation plans and shares committed to be purchased under the employee stock purchase plan. For the year ended December 31, 2021, 113,043 anti-dilutive options were excluded from the calculation of diluted weighted average shares outstanding.

  

The following table presents the calculation of net income per basic and diluted share attributable to common shareholders:

 


 

   

Year Ended December 31,

 

(in thousands, except share and per share amounts)

 

2021

   

2020

   

2019

 
                         

Net Income

  $ 33,372     $ 50,867     $ 63,655  
                         

Basic - weighted-average shares outstanding:

    27,617,627       26,737,425       26,866,985  

Effect of dilutive securities:

                       

Employee stock options and other

    35,472       158,932       182,438  

Diluted - weighted-average shares outstanding:

    27,653,099       26,896,357       27,049,423  

Net income per share attributable to common shareholders:

                       

Basic

  $ 1.21     $ 1.90     $ 2.37  

Diluted

  $ 1.21     $ 1.89     $ 2.35  

 


 

 

 

XML 28 R11.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 5 - Business Combinations
12 Months Ended
Dec. 31, 2021
Notes to Financial Statements  
Business Combination Disclosure [Text Block]

 Note 5 Business Combinations

 

On January 22, 2021, the Company acquired all of the outstanding shares of 3D Hubs, Inc. (Hubs), for $294.1 million, consisting of $127.4 million in cash and 863,995 shares of the Company's common stock valued at $166.7 million on the closing date. The purchase agreement included additional contingent consideration of up to $52.8 million subject to the achievement of performance-based targets during fiscal 2021 and fiscal 2022. The contingent consideration consisted of up to $25.0 million in cash and up to 143,983 shares of the Company's common stock valued at $27.8 million on the closing date.

 

Hubs is based in Amsterdam, Netherlands and is a leading online manufacturing platform that provides customers with on-demand access to a global network of premium manufacturing partners. The acquisition enhances the Company’s value proposition by expanding the customer offerings, enabling the Company to more holistically serve its customers.

 

The fair value of the consideration paid for this acquisition has been allocated to the assets purchased and liabilities assumed based on their fair values as of the acquisition date, with any excess recorded as goodwill.  The goodwill associated with the acquisition represents both the strategic and growth opportunities by significantly expanding the customer offering with a network of premium manufacturing partners. The goodwill related to the acquisition is not deductible for tax purposes. 

 

The Company recorded a contingent consideration liability of $13.6 million as of the acquisition date representing the estimated fair value of the amounts payable to former shareholders, as outlined under the terms of the merger agreement, payable subject to the satisfaction of performance-based targets during fiscal year 2021 and fiscal year 2022, as noted above. The fair value of the contingent consideration (Level 3) was determined using a Monte Carlo pricing model. During the year ended December 31, 2021, the Company reversed all previously recorded contingent consideration due to the performance-based targets not being met for fiscal 2021 and those targets would not be met during fiscal 2022. The reversal of the contingent consideration was recorded as a decrease in general and administrative expense in the Consolidated Statements of Comprehensive Income.

 

The results of Hubs since the date of acquisition have been included within the Company's results. Pro forma disclosures of the consolidated results of the Company with the full year effects of Hubs, as if the acquisition had occurred on January 1, 2020, are not required and have not been separately presented since the impact to the Company's results of operations was not material.

 

The acquisition has been accounted for under the acquisition method of accounting in accordance with ASC 805, Business Combinations. Throughout fiscal 2021 the Company recorded adjustments to the preliminary allocation of the purchase price due to changes to the preliminary valuation and finalization of the working capital calculation. Adjustments from the original amounts recorded included a $3.9 million decrease to intangible assets, a $5.5 million increase to goodwill, a $3.3 million increase to contingent consideration, a $1.4 million decrease to deferred tax liabilities, and a decrease to cash paid of $0.3 million. The final purchase price allocation is as follows:

 


 

(in thousands)

       

Assets acquired:

       

Current assets

  $ 2,497  

Intangible assets

    30,770  

Goodwill

    280,925  

Other long-term assets

    1,139  

Total assets acquired

    315,331  
         

Liabilities assumed:

       

Current contingent consideration

    7,093  

Current liabilities

    5,666  

Long-term contingent consideration

    6,507  

Long-term deferred tax liabilities

    1,688  

Other long-term liabilities

    255  

Total liabilities assumed

    21,209  

Net assets acquired

  $ 294,122  
         

Cash paid

  $ 133,847  

Cash acquired

    (6,434 )

Net cash consideration

    127,413  

Equity portion of purchase price

    166,709  

Total purchase consideration

  $ 294,122  

 


XML 29 R12.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 6 - Goodwill and Other Intangible Assets
12 Months Ended
Dec. 31, 2021
Notes to Financial Statements  
Goodwill and Intangible Assets Disclosure [Text Block]

 

Note 6 – Goodwill and Other Intangible Assets

 

The changes in the carrying amount of goodwill for the years ended December 31, 2021 and 2020 were as follows:

 


 

(in thousands)

 

Dec. 31, 2019

  

Goodwill acquired during 2020

  

Dec. 31, 2020

  

Goodwill acquired during 2021

  

Foreign currency translation adjustments during 2021

  

Dec. 31, 2021

 
                         

United States

 $123,883  $-  $123,883  $151,276  $-  $275,159 

Europe

  4,239   -   4,239   129,649   (9,067)  124,821 

Japan

  630   -   630   -   -   630 

Total goodwill

 $128,752  $-  $128,752  $280,925  $(9,067) $400,610 

 


 

Goodwill increased $280.9 million for the year ended December 31, 2021 as a result of our acquisition of Hubs. Goodwill has been allocated to the acquired Hubs entities consisting of goodwill of €106.5 million in Europe and $151.3 million in the United States as of the date of the acquisition. The Euro denominated goodwill is translated at the end of each period using the current exchange rates resulting in a foreign currency translation adjustment that is recorded as a component of Other Comprehensive Income.

 

Intangible assets other than goodwill for the years ended December 31, 2021 and 2020 were as follows: 

 


 

  

Year Ended December 31, 2021

  

Year Ended December 31, 2020

      

Weighted Average Useful Life

 

(in thousands)

 

Gross

  

Accumulated Amortization

  

Net

  

Gross

  

Accumulated Amortization

  

Net

  

Useful Life (in years)

  

Remaining (in years)

 
                                 

Marketing assets

 $930  $(713) $217  $930  $(620) $310   10.0   2.3 

Non-compete agreement

  842   (363)  479   270   (238)  32   2.0 - 5.0   2.9 

Software technology

  13,229   (5,014)  8,215   13,229   (3,645)  9,584   10.0   6.5 

Software platform

  26,725   (2,262)  24,463   -   -   -   12.0   11.1 

Tradenames

  359   (114)  245   -   -   -   3.0   2.1 

Customer relationships

  12,252   (7,873)  4,379   10,070   (5,646)  4,424   3.0 - 9.0   1.8 

Total intangible assets

 $54,337  $(16,339) $37,998  $24,499  $(10,149) $14,350         

 


 

Amortization expense for intangible assets for the years ended December 31, 2021, 2020 and 2019 was $6.2 million, $3.0 million and $3.5 million, respectively. The Euro denominated intangible assets are translated at the end of each period using the current exchange rates resulting in a foreign currency translation adjustment that is recorded as a component of Other Comprehensive Income. For the year ended December 31, 2021, the foreign currency translation adjustment was $0.9 million.  There were no foreign currency translation adjustments for the years ended December 31, 2020 and 2019.

 

Estimated aggregated amortization expense based on the current carrying value of the amortizable intangible assets is as follows:

 


 

(in thousands)

 Estimated Amortization Expense 

2022

 $6,172 

2023

  5,968 

2024

  3,790 

2025

  3,690 

2026

  3,586 

Thereafter

  14,792 

Total estimated amortization expense

 $37,998 

 


 

XML 30 R13.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 7 - Fair Value Measurements
12 Months Ended
Dec. 31, 2021
Notes to Financial Statements  
Fair Value Disclosures [Text Block]

Note 7 – Fair Value Measurements

 

ASC 820, Fair Value Measurement (ASC 820), defines fair value as the exchange price that would be received for an asset or paid to transfer a liability (an exit price) in the principal or most advantageous market for the asset or liability in an orderly transaction between market participants on the measurement date. ASC 820 also establishes a fair value hierarchy which requires classification based on observable and unobservable inputs when measuring fair value. There are three levels of inputs that may be used to measure fair value:

 

Level 1—Quoted prices in active markets for identical assets or liabilities.

 

Level 2—Observable inputs other than Level 1 prices such as quoted prices for similar assets or liabilities; quoted prices in markets that are not active; or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities.

 

Level 3—Unobservable inputs that are supported by little or no market activity and that are significant to the fair value of the assets or liabilities.

 

The Company's assets and liabilities that are required to be measured or disclosed at fair value on a recurring basis include cash and cash equivalents and marketable securities. The Company’s cash consists of bank deposits. The Company’s cash equivalents measured at fair value consist of money market mutual funds. The Company determines the fair value of these investments using Level 1 inputs. The Company's marketable securities consist of short-term and long-term agency, municipal, corporate and other debt securities. Fair value for the corporate debt securities is primarily determined based on quoted market prices (Level 1). Fair values for the U.S. municipal securities, U.S. government agency securities, certificates of deposit and U.S. treasury securities are primarily determined using dealer quotes or quoted market prices for similar securities (Level 2). The Company's contingent consideration is the current fair value estimate of amounts owed to the former shareholders of Hubs and is determined using the Monte Carlo pricing model (Level 3). The Company had no contingent consideration as of December 31, 2021.

 

The following tables summarizes financial assets as of December 31, 2021 and 2020 measured at fair value on a recurring basis:

 


 

  

December 31, 2021

  

December 31, 2020

 

(in thousands)

 

Level 1

  

Level 2

  

Level 3

  

Level 1

  

Level 2

  

Level 3

 
                         

Financial Assets:

                        

Cash and cash equivalents

 $65,637  $-  $-  $72,225  $-  $- 

Money market mutual fund

  292   -   -   55,378   -   - 

Marketable securities

  7,602   18,318   -   -   -   - 

Total

 $73,531  $18,318  $-  $127,603  $-  $- 

 


 

 

XML 31 R14.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 8 - Marketable Securities
12 Months Ended
Dec. 31, 2021
Notes to Financial Statements  
Investment [Text Block]

Note 8 – Marketable Securities

 

The Company invests in short-term and long-term agency, municipal, corporate and other debt securities. As of December 31, 2021, the securities are categorized as available-for-sale and are recorded at fair value. As of  December 31, 2020, the securities were categorized as held-to-maturity and were recorded at amortized cost, net of an allowance for credit losses. The change in categorization was a result of the sale of securities in the first quarter of 2021 in order to partially fund the acquisition of Hubs and did not have a material impact on our financial statements. 

 

Information regarding the Company’s short-term and long-term marketable securities as of December 31, 2021 and 2020 is as follows:

 


 

  

December 31, 2021

 

(in thousands)

 

Amortized Cost

  

Unrealized Gains

  

Unrealized Losses

  

Fair Value

 
                 

U.S. government agency securities

 $2,500  $-  $(12) $2,488 

Corporate debt securities

  9,303   -   (44)  9,259 

U.S. municipal securities

  12,549   -   (70)  12,479 

Commercial paper

  -   -   -   - 

Certificates of deposit/time deposits

  1,687   7   -   1,694 

Total marketable securities

 $26,039  $7  $(126) $25,920 

 


 

 


 

  

December 31, 2020

 

(in thousands)

 

Amortized Cost

  

Unrealized Gains

  

Unrealized Losses

  

Fair Value

 
                 

U.S. government agency securities

 $18,500  $6  $(10) $18,496 

Corporate debt securities

  42,048   211   (11)  42,248 

U.S. municipal securities

  25,003   83   (2)  25,084 

Commercial paper

  2,499   -   -   2,499 

Certificates of deposit/time deposits

  5,395   93   -   5,488 

Total marketable securities

 $93,445  $393  $(23) $93,815 

 


 

Fair values for the corporate debt securities are primarily determined based on quoted market prices (Level 1). Fair values for the U.S. government agency securities, U.S. municipal securities, commercial paper and certificates of deposit are primarily determined using dealer quotes or quoted market prices for similar securities (Level 2).

 

During the first quarter of 2020, the Company adopted the FASB ASU 2016-13, Financial Instruments – Credit Losses. The Company calculated the expected credit loss for each security in its portfolio using the probability-of-default method. The Company concluded the adoption of the guidance had no material impact on its consolidated financial statements.

 

Classification of marketable securities as current or non-current is based upon the security’s maturity date as of the date of these financial statements.

 

The December 31, 2021 balance of available-for-sale debt securities by contractual maturity is shown in the following table at fair value. Actual maturities may differ from contractual maturities because the issuers of the securities may have the right to prepay obligations without prepayment penalties.

 


 

  

December 31,

 

(in thousands)

 

2021

 
     

Due in one year or less

 $11,580 

Due after one year through five years

  14,340 

Total marketable securities

 $25,920 

 


 

 

XML 32 R15.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 9 - Property and Equipment
12 Months Ended
Dec. 31, 2021
Notes to Financial Statements  
Property, Plant and Equipment Disclosure [Text Block]

Note 9 – Property and Equipment

 

Property and equipment consists of the following:

 


 

   

December 31,

 

(in thousands)

 

2021

   

2020

 
                 

Land

  $ 15,009     $ 14,028  

Buildings and improvements

    107,241       77,285  

Machinery and equipment

    234,900       221,301  

Computer hardware and software

    81,889       79,207  

Leasehold improvements

    8,373       7,821  

Construction in progress

    14,489       33,780  

Total

    461,901       433,422  

Accumulated depreciation and amortization

    (181,555 )     (150,756 )

Property and equipment, net

  $ 280,346     $ 282,666  

 


 

 Depreciation expense for the years ended December 31, 2021, 2020 and 2019 was $34.3 million, $29.6 million and $27.4 million, respectively.

 

 

XML 33 R16.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 10 - Inventory
12 Months Ended
Dec. 31, 2021
Notes to Financial Statements  
Inventory Disclosure [Text Block]

Note 10 – Inventory

 

Inventory consists primarily of raw materials, which are recorded at the lower of cost or market using the standard cost method, which approximates first-in, first-out (FIFO) cost. The Company periodically reviews its inventory for slow-moving, damaged and discontinued items and provides allowances to reduce such items identified to their recoverable amounts.

 

The Company’s inventory consists of the following:

 


 

  

December 31,

 

(in thousands)

 

2021

  

2020

 
         

Total inventory

  13,474   11,122 

Allowance for obsolescence

  (313)  (260)

Inventory, net of allowance

 $13,161  $10,862 

 


 

XML 34 R17.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 11 - Financing Obligations
12 Months Ended
Dec. 31, 2021
Notes to Financial Statements  
Debt Disclosure [Text Block]

Note 11 – Financing Obligations

 

The Company had no financing obligations as of December 31, 2021 and 2020. 

 

XML 35 R18.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 12 - Employee Benefit Plans
12 Months Ended
Dec. 31, 2021
Notes to Financial Statements  
Retirement Benefits [Text Block]

Note 12 – Employee Benefit Plans

 

The Company maintains a 401(k) retirement plan that covers employees in the United States. Under the plan, a full-time or regular part-time (over 20 hours/week) employee becomes a participant after completing three months of employment. Employees may elect to contribute up to 50 percent of regular gross pay, subject to federal law limits on the dollar amount that participants may contribute to the plan, each calendar year. The Company matches part of the employee contributions and may make a discretionary contribution to the plan. Total employer contributions were approximately $3.7 million, $3.3 million and $3.1 million for the years ended December 31, 2021, 2020 and 2019, respectively.

 

The Company also sponsors a defined contribution retirement plan that covers the employees in the United Kingdom. Total employer contributions were approximately $0.4 million, $0.5 million and $0.3 million for the years ended December 31, 2021, 2020 and 2019, respectively.

 

XML 36 R19.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 13 - Stock-based Compensation
12 Months Ended
Dec. 31, 2021
Notes to Financial Statements  
Share-based Payment Arrangement [Text Block]

Note 13 – Stock-Based Compensation

 

The Company has two equity incentive plans: the 2000 Stock Option Plan (2000 Plan) and the 2012 Long-Term Incentive Plan (2012 Plan). Upon the adoption of the 2012 Plan on February 12, 2012, all shares that were reserved but not issued under the 2000 Plan were assumed by the 2012 Plan. No additional awards will be issued under the 2000 Plan. Under the 2012 Plan, the Company has the ability to grant stock options, stock appreciation rights (SARs), restricted stock, performance stock, stock units, other stock-based awards and cash incentive awards. Awards under the 2012 Plan have a maximum term of ten years from the date of grant. The compensation committee of the board of directors may provide that the vesting or payment of any award will be subject to the attainment of specified performance measures in addition to the satisfaction of any continued service requirements, and the compensation committee will determine whether such measures have been achieved. The per share exercise price of stock options and SARs granted under the 2012 Plan generally may not be less than the fair market value of a share of our common stock on the date of the grant. Restricted stock is valued at fair market value on the date of grant.

 

The Company’s 2012 Employee Stock Purchase Plan (ESPP) allows eligible employees to purchase a variable number of shares of the Company’s common stock at a discount through payroll deductions of up to 15 percent of their eligible compensation, subject to plan limitations. The ESPP provides for six-month offering periods with a single purchase period, and at the end of each offering period, employees are able to purchase shares at 85 percent of the lower of the fair market value of the Company’s common stock on the first trading day of the offering period or on the last trading day of the offering period. The Company determines the fair value stock-based compensation related to its ESPP in accordance with ASC 718 using the component measurement approach and the Black-Scholes standard option pricing model.

 

Employees purchased 67,729 and 42,235 shares of common stock under the ESPP at an average exercise price of $61.96 and $85.85 during 2021 and 2020, respectively. As of December 31, 2021, 1,058,866 shares remained available for future issuance under the ESPP.

 

The Company determines its stock-based compensation in accordance with ASC 718, which requires the measurement and recognition of compensation expense for all share-based payment awards made to employees and non-employee directors based on fair value.

 

Determining the appropriate fair value model and calculating the fair value of stock option grants requires the input of subjective assumptions. The Company uses the Black-Scholes option pricing model to value its stock option awards. Stock-based compensation expense is calculated using the Company’s best estimates, which involve inherent uncertainties and the application of management’s judgment. Significant estimates include its expected term and stock price volatility.

  

The expected term of stock options is estimated from the vesting period of the award and represents the weighted average period that the Company's stock options are expected to be outstanding. The Company estimates the volatility of its stock price based on the historic volatility of its common stock. The Company bases the risk-free interest rate that it uses in the Black-Scholes option pricing model on U.S. Treasury instruments with maturities similar to the expected term of the award being valued. The Company has never paid and does not anticipate paying, any cash dividends in the foreseeable future and, therefore, the Company uses an expected dividend yield of zero in the option pricing model. The Company accounts for forfeitures as they occur. The Company recognizes stock-based compensation expense on a straight-line basis over the requisite service period.

 

The following table summarizes stock-based compensation expense for the years ended December 31, 2021, 2020 and 2019, respectively:

 


 

  

Year Ended December 31,

 

(in thousands)

 

2021

  

2020

  

2019

 
             

Stock options and other

 $17,553  $13,327  $9,591 

Employee stock purchase plan

  1,542   1,346   1,190 

Total stock-based compensation expense

 $19,095  $14,673  $10,781 
             

Cost of revenue

 $2,595  $2,451  $2,056 

Operating expenses:

            

Marketing and sales

  3,736   3,121   2,632 

Research and development

  2,833   2,440   1,851 

General and administrative

  9,931   6,661   4,242 

Total stock-based compensation expense

 $19,095  $14,673  $10,781 

 


 

Stock Options

 

The following table provides the assumptions used in the Black-Scholes option pricing model for the years ended December 31, 2021, 2020 and 2019:

 


 

  

Year Ended December 31,

 
  

2021

  

2020

  

2019

 
             

Risk-free interest rate

  0.80 - 1.12%   0.50 - 1.47%   2.35 - 2.58% 

Expected life (years)

  6.25   6.25   6.25 

Expected volatility

  45.28 - 45.53%   42.40 - 43.83%   42.52 - 42.74% 

Expected dividend yield

  0%   0%   0% 

Weighted average grant date fair value

  $128.14   $45.32   $47.84 

 


 

The following table summarizes stock option activity and the weighted average exercise price for the years ended December 31, 2021, 2020 and 2019:

 


 

      

Weighted-

 
      

Average

 
  

Stock Options

  

Exercise Price

 
         

Options outstanding at January 1, 2019

  252,616  $64.71 

Granted

  53,708   105.81 

Exercised

  (16,079)  48.67 

Cancelled

  (13,979)  89.50 

Options outstanding at December 31, 2019

  276,266   72.38 

Granted

  60,065   105.79 

Exercised

  (68,958)  57.00 

Cancelled

  (37,842)  67.92 

Options outstanding at December 31, 2020

  229,531   86.46 

Granted

  57,901   128.14 

Exercised

  (28,991)  58.78 

Cancelled

  (25,057)  109.31 

Options outstanding at December 31, 2021

  233,384  $97.78 
         

Exercisable at December 31, 2021

  115,700  $81.30 

 


 

The outstanding options have a term of 10 years. For employees, options that have been granted become exercisable ratably over the vesting period, which is generally a four- or five-year period, beginning on the first anniversary of the grant date, subject to the employee’s continuing service to the Company. For directors, options generally become exercisable in full on the first anniversary of the grant date.

 

The total intrinsic value of options exercised during the years ended December 31, 2021, 2020 and 2019, was $3.8 million, $5.4 million and $0.9 million, respectively. The aggregate intrinsic value represents the cumulative difference between the fair market value of the underlying common stock and the option exercise prices.

 

For options outstanding at December 31, 2021, the weighted-average remaining contractual term was 6.7 years and the aggregate intrinsic value was $0.1 million. For options exercisable at December 31, 2021, the weighted-average remaining contractual term was 5.0 years and the aggregate intrinsic value was $0.1 million. Refer to the table below for additional information.

 

The following table summarizes information about stock options outstanding at December 31, 2021:

 


 

  

Options Outstanding, Vested and Expected to Vest

  

Options Exercisable

 

Range of Exercise Prices

 Number Outstanding  Weighted Average Remaining Contractual Life  

Weighted Average Exercise Price ($)

  Number Exercisable  

Weighted Average Exercise Price ($)

 
                  

$7.76 to $31.43

 4,624  0.35  

30.58

  4,624  

30.58

 

$31.44 to $66.87

 50,159  3.58  

57.13

  45,986  

57.02

 

$66.88 to $96.20

 41,586  7.82  

89.95

  9,570  

71.68

 

$96.21 to $180.46

 137,015  7.67  

117.31

  55,520  

107.28

 

 


 

The fair value of share-based payment transactions is recognized in the Consolidated Statements of Comprehensive Income. As of December 31, 2021, there was $4.3 million of total unrecognized compensation cost related to unvested stock options, which is expected to be recognized over a weighted average period of 2.6 years. The total fair value of options vested was $2.1 million, $1.8 million and $1.5 million for the years ended December 31, 2021, 2020 and 2019, respectively.

 

Restricted Stock

 

The 2012 Plan provides for the award of restricted stock or restricted stock units. Restricted stock awards are share settled and restrictions lapse ratably over the vesting period, which is generally a three- to five-year period, beginning on the first anniversary of the grant date, subject to the employee’s continuing service to the Company. For directors, restrictions generally lapse in full on the first anniversary of the grant date.

 

The following table summarizes restricted stock activity for the years ended December 31, 2021, 2020 and 2019

 


 

      

Weighted-

 
      

Average

 
      

Grant Date

 
  

Restricted

  

Fair Value

 
  

Stock Awards

  

Per Share

 
         

Restricted stock at January 1, 2019

  323,921  $79.85 

Granted

  115,471   106.35 

Restrictions lapsed

  (92,597)  77.25 

Forfeited

  (31,822)  87.58 

Restricted stock at December 31, 2019

  314,973   89.55 

Granted

  108,179   111.76 

Restrictions lapsed

  (101,941)  84.70 

Forfeited

  (14,012)  94.24 

Restricted stock at December 31, 2020

  307,199   98.87 

Granted

  205,996   123.61 

Restrictions lapsed

  (115,908)  91.26 

Forfeited

  (53,505)  128.05 

Restricted stock at December 31, 2021

  343,782  $111.79 

 


 

As of December 31, 2021, there was $26.0 million of unrecognized compensation expense related to non-vested restricted stock, which is expected to be recognized over a weighted-average period of 2.4 years.

 

Performance Stock

 

Performance stock units (PSUs) are expressed in terms of a target number of PSUs, with anywhere between 0 percent and 150 percent of that target number capable of being earned and vesting at the end of a three-year performance period depending on the Company’s performance in the final year of the performance period and the award recipient’s continued employment. The Company’s PSUs granted from 2017 to 2019 and certain PSUs granted in 2021 are based on performance conditions and the related compensation cost is based on the probability that the performance conditions will be achieved. The Company’s PSUs granted in 2020 and certain PSUs granted in 2021 are based on market conditions and the related compensation cost is based on the fair value at grant date calculated using a Monte Carlo pricing model.

 

The following table summarizes performance stock activity for the years ended December 31, 2021, 2020 and 2019

 


 

      

Weighted-

 
      

Average

 
      

Grant Date

 
  

Performance

  

Fair Value

 
  

Stock Awards

  

Per Share

 
         

Performance stock at January 1, 2019

  52,140  $76.54 

Granted

  21,434   104.99 

Restrictions lapsed

  -   - 

Performance change

  (61,816)  88.06 

Forfeited

  (2,375)  105.37 

Performance stock at December 31, 2019

  9,383   58.35 

Granted

  19,956   118.66 

Restrictions lapsed

  (7,113)  58.35 

Performance change

  -   - 

Forfeited

  (2,270)  58.35 

Performance stock at December 31, 2020

  19,956   118.66 

Granted

  15,078   203.64 

Restrictions lapsed

  -   - 

Performance change

  (10,366)  192.95 

Forfeited

  (7,829)  113.91 

Performance stock at December 31, 2021

  16,839  $115.56 

 


 

As of December 31, 2021, there was $0.8 million of unrecognized compensation expense related to non-vested performance stock, which is expected to be recognized over a weighted-average period of 1.8 years.

 

Employee Stock Purchase Plan

 

The following table presents the assumptions used to estimate the fair value of the ESPP during the years ended December 31, 2021, 2020 and 2019:

 


 

  

Year Ended December 31,

 
  

2021

  

2020

  

2019

 
          

Risk-free interest rate

 0.06 - 0.17%  0.12 - 0.17%  1.59 - 2.35% 

Expected life (months)

 6.00  6.00  6.00 

Expected volatility

 53.44 - 65.53%  50.85 - 59.99%  42.63 - 53.57% 

Expected dividend yield

 0%  0%  0% 

 


 

XML 37 R20.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 14 - Leases
12 Months Ended
Dec. 31, 2021
Notes to Financial Statements  
Lessee, Operating Leases and Financing Leases [Text Block]

Note 14 – Leases

 

Supplemental balance sheet information related to leases was as follows:

 


 

  

December 31,

 

(in thousands)

 

2021

  

2020

 

Operating lease assets

 $5,578  $9,855 
         

Current operating lease liabilities

 $3,298  $3,272 

Long-term operating lease liabilities

  2,245   7,586 

Total operating lease liabilities

 $5,543  $10,858 
         
         

Finance lease assets

 $1,898  $2,396 
         

Current finance lease liabilities

 $550  $552 

Long-term finance lease liabilities

  1,351   1,919 

Total finance lease liabilities

 $1,901  $2,471 

 


 

Lease expense is recognized on a straight-line basis over the lease term, with variable payments recognized in the period those payments are incurred. The components of lease expense for the periods reported were as follows:

 


 

  

Twelve Months Ended December 31,

 

(in thousands)

 

2021

  

2020

 

Operating lease cost

 $3,391  $4,191 

Finance lease cost:

        

Amortization of right-of-use assets

 $498  $143 

Interest on lease obligations

 $9  $2 

Variable lease cost

  719   989 

Total lease cost

 $4,617  $5,325 

 


 

Maturities of operating and finance lease liabilities as of December 31, 2021 were as follows:

 


 

(in thousands)

 

Operating Leases

  

Finance Leases

 

Year Ending December 31,

        

2022

 $2,550  $561 

2023

  1,308   1,352 

2024

  751   - 

2025

  711   - 

2026

  344   - 

After 2027

  -   - 

Total future minimum lease payments

  5,664   1,913 

Less interest

  (121)  (12)

Present value of lease liabilities

 $5,543  $1,901 

 


 

As of December 31, 2021, we have no operating or finance leases that have not yet commenced.

 

Weighted average remaining lease term and discount rate was as follows: 

 


 

  

December 31,

 
  

2021

  

2020

 

Weighted Average Remaining Lease Term - operating leases (years)

  3.1   4.4 

Weighted Average Remaining Lease Term - finance leases (years)

  1.5   2.5 

Weighted Average Discount Rate - operating leases

  1.6%  2.6%

Weighted Average Discount Rate - finance leases

  0.4%  0.5%

 


 

Supplemental cash flow information related to leases was as follows:

 


 

  

Twelve Months Ended December 31,

 

(in thousands)

 

2021

  

2020

 

Cash paid for amounts included in the measurement of lease liabilities:

        

Operating cash flows from operating leases

 $10,477  $4,426 

Operating cash flows from finance leases

 $9  $2 

Financing cash flows from finance leases

 $552  $154 
         

Lease assets obtained in exchange for new operating lease liabilities

  5,293   1,506 

Lease assets obtained in exchange for new financing lease liabilities

  -   2,523 

 


 

XML 38 R21.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 15 - Accumulated Other Comprehensive Income (Loss)
12 Months Ended
Dec. 31, 2021
Notes to Financial Statements  
Disclosure of Reclassification Amount [Text Block]

Note 15 – Accumulated Other Comprehensive Loss

 

Other comprehensive loss is comprised of foreign currency translation adjustments and net unrealized gains (losses) on investments in securities. The following table presents the changes in accumulated other comprehensive loss balances for the years ending December 31, 2021, 2020 and 2019, respectively:

 


 

   

Year Ended December 31,

 

(in thousands)

 

2021

   

2020

   

2019

 
                         

Balance at beginning of period

  $ (3,420 )   $ (7,018 )   $ (8,492 )

Foreign currency translation adjustments

                       

Other comprehensive (loss) income before reclassifications

    (13,278 )     3,598       1,474  

Amounts reclassified from accumulated other comprehensive income (loss)

    -       -       -  

Net current-period other comprehensive (loss) income

    (13,278 )     3,598       1,474  

Net unrealized gains (losses) on investments in securities

                       

Other comprehensive (loss) income before reclassifications

    (119 )     -       -  

Amounts reclassified from accumulated other comprehensive income (loss)

    -       -       -  

Net current-period other comprehensive (loss) income

    (119 )     -       -  

Balance at end of period

  $ (16,817 )   $ (3,420 )   $ (7,018 )

 


 

 

XML 39 R22.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 16 - Income Taxes
12 Months Ended
Dec. 31, 2021
Notes to Financial Statements  
Income Tax Disclosure [Text Block]

Note 16 – Income Taxes

 

The Company is subject to income tax in multiple jurisdictions and the use of estimates is required to determine the provision for income taxes. For the years ended December 31, 2021, 2020 and 2019, the Company recorded an income tax provision of $6.8 million, $12.1 million and $17.5 million, respectively. The effective income tax rate for the years ended December 31, 2021, 2020 and 2019 was 17.0 percent, 19.2 percent and 21.6 percent, respectively.

 

The effective tax rate decreased by 2.2% for the year ended December 31, 2021 when compared to 2020 primarily due to a one-time benefit from the revaluation of contingent consideration and a benefit from the decrease in the tax liability for uncertain tax positions resulting from the expiration of the statute of limitations. These benefits were partially offset by an increase in the valuation allowances on losses from foreign operations. 

 

The Coronavirus Aid, Relief, and Economic Security (CARES) Act was signed into law on March 27, 2020. The CARES Act was meant to infuse companies with various income and payroll tax cash benefits to ease the impact of the pandemic. A technical correction to the Tax Cuts and Jobs Act of 2017 was included in the CARES Act allowing qualified improvement property to claim bonus depreciation for respective assets placed in service in 2018 and 2019. The impact of the CARES Act to the Company was a $2.9 million reduction to income taxes payable and a corresponding increase to deferred tax liability for the year ended December 31, 2020. In addition, the Company elected to defer deposits of the employer portion of the Social Security tax for the quarter ended March 31, 2020 through the quarter ended December 31, 2020. The Social Security taxes deferred in 2020 were paid in 2021.

 

The provision for income taxes is based on income before income taxes reported for financial statement purposes. The components of income before income taxes are as follows:

 


 

  

Year Ended December 31,

 

(in thousands)

 

2021

  

2020

  

2019

 
             

Domestic

 $42,449  $58,551  $74,841 

Foreign

  (2,265)  4,394   6,352 

Total

 $40,184  $62,945  $81,193 

 


 

Significant components of the provision for income taxes for the following periods are as follows:

 


 

  

Year Ended December 31,

 

(in thousands)

 

2021

  

2020

  

2019

 
             

Current:

            

Federal

 $5,552  $2,128  $6,991 

State

  975   1,136   2,882 

Foreign

  (64)  1,241   1,544 

Deferred

            

Federal

  (377)  6,904   5,121 

State

  (814)  (431)  269 

Foreign

  (1,181)  210   (809)

Valuation Allowance

  2,721   890   1,540 

Total

 $6,812  $12,078  $17,538 

 


 

A reconciliation of the federal statutory income tax rate to the effective tax rate is as follows:

 


 

  

Year Ended December 31,

 
  

2021

  

2020

  

2019

 
             

Federal tax statutory rate

  21.0%  21.0%  21.0%

State tax (net of federal benefit)

  2.1   2.1   2.1 

Share based compensation

  (2.3)  (1.3)  (0.5)

Valuation allowance against deferred tax assets

  8.9   2.0   1.4 

Contingent consideration reduction

  (7.0)  -   - 

Research and development credit

  (4.0)  (3.7)  (2.8)

Foreign rate differential

  (2.2)  (0.8)  (0.3)

Tax reserves

  (1.0)  1.4   1.1 

Provision to return difference

  (0.7)  (1.4)  - 

Miscellaneous

  2.2   (0.1)  (0.4)

Total

  17.0%  19.2%  21.6%

 


 

Significant components of deferred tax assets and liabilities are as follows:

 


 

  

December 31,

 

(in thousands)

 

2021

  

2020

 
         

Deferred tax assets:

        

Accrued expenses

 $2,511  $2,155 

Leases

  1,830   3,598 

Warrants and stock options

  4,271   3,356 

Intangible assets

  -   1,693 

Inventories

  205   172 

Research and development credit

  2,126   1,661 

Other assets

  1,111   129 

Net operating loss

  14,046   6,647 

Less valuation allowance

  (13,999)  (9,138)

Total deferred tax assets

  12,101   10,273 

Deferred tax liabilities:

        

Depreciation

  (31,897)  (32,671)

Goodwill

  (9,872)  (7,858)

Intangible assets

  (4,394)  - 

Leases

  (1,830)  (3,598)

Total deferred tax liabilities

  (47,993)  (44,127)

Net deferred tax liability

 $(35,892) $(33,854)

 


 

The Company has recorded no U.S. deferred taxes related to the undistributed earnings of its non-U.S. subsidiaries as of December 31, 2021. Such amounts are intended to be reinvested outside of the United States indefinitely. It is not practicable to estimate the amount of additional tax that might be payable on the foreign earnings. As of December 31, 2021, the Company had accumulated undistributed earnings in non-U.S. subsidiaries of $2.7 million.

  

As of December 31, 2021, the Company had estimated net operating loss carry forwards of $14.0 million for tax purposes. The net operating losses relate to operations in Japan, Germany and Netherlands. Japan losses can be carried forward for up to ten years. The remaining Japan net operating losses begin to expire at various dates between 2022 and 2031. The Company’s Japan operations are taxed both by local authorities and in the U.S. Germany net operating losses may be carried forward without any time limitations but are limited to €1 million, plus 60 percent of taxable income exceeding €1 million. Netherlands net operating losses may be carried forward without any time limitations, but are limited to €1 million, plus 50 percent of taxable income exceeding €1 million.

 

The Company establishes valuation allowances for deferred tax assets when, after consideration of all positive and negative evidence, it is considered more-likely-than-not that a portion of the deferred tax assets will not be realized. The Company's valuation allowances of $14.0 million and $9.1 million at December 31, 2021 and 2020, respectively, reduce the carrying value of deferred tax assets associated with certain net operating loss carry forwards and other assets with insufficient positive evidence for recognition. The increase in the valuation allowance is primarily attributable to the Netherlands net operating losses acquired in 2021 via the Hubs acquisition.

 

The Company files a U.S. federal income tax return and income tax returns in various states and foreign jurisdictions. With a few exceptions, the Company is no longer subject to U.S. federal, state, or foreign income tax examinations by tax authorities for years before 2017.

 

The Company has liabilities related to unrecognized tax benefits totaling $4.4 million and $4.8 million at December 31, 2021 and 2020, respectively, that if recognized would result in a reduction of the Company’s effective tax rate. The liabilities are classified as other long-term liabilities in the accompanying consolidated balance sheets. The Company recognizes interest and penalties related to income tax matters in income tax expense and reports the liability in current or long-term income taxes payable as appropriate. Interest and penalties were immaterial for each of the years ended December 31, 2021, 2020 and 2019.

 

A reconciliation of the beginning and ending amount of unrecognized tax benefits is as follows:

 


 

  

December 31,

 
  

2021

  

2020

 
         

Balance at beginning of period

 $4,830  $4,598 

Additions for tax positions of current year

  491   324 

Additions for tax positions of prior years

  781   475 

Decrease related to expiration of statutes of limitations

  (1,738)  (567)

Balance at period end

 $4,364  $4,830 

 


 

 

XML 40 R23.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 17 - Litigation
12 Months Ended
Dec. 31, 2021
Notes to Financial Statements  
Legal Matters and Contingencies [Text Block]

Note 17 – Litigation

 

From time to time, the Company may be subject to various legal proceedings and claims that arise in the ordinary course of its business. Although the results of litigation and claims cannot be predicted with certainty, the Company does not believe it is a party to any litigation the outcome of which, if determined adversely, would individually or in the aggregate be reasonably expected to have a material adverse effect on its business.

  

 

XML 41 R24.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 18 - Segment Reporting
12 Months Ended
Dec. 31, 2021
Notes to Financial Statements  
Segment Reporting Disclosure [Text Block]

Note 18 – Segment Reporting

 

The Company’s reportable segments are based on the internal reporting used by the Company’s CEO, who is the chief operating decision maker (CODM), to assess operating performance and make decisions about the allocation of resources. The Company’s reportable segments are based upon geographic region, consisting of the United States and Europe. The Corporate Unallocated and Japan category includes non-reportable segments, as well as research and development and general and administrative costs that are global in nature and that the Company does not allocate directly to its operating segments.

  

Revenue in the United States is derived from Injection Molding, CNC Machining, 3D Printing and Sheet Metal product lines. Revenue in Europe is derived from Injection Molding, CNC Machining, and 3D Printing product lines. Revenue in Japan is derived from Injection Molding and CNC Machining product lines. Injection Molding revenue consists of sales of custom injection molds and injection-molded parts. CNC Machining revenue consists of sales of CNC-machined and lathe-turned customer parts. 3D Printing revenue consists of sales of 3D-printed parts. Sheet Metal revenue consists of sales of fabricated sheet metal parts.

 

The accounting policies of the reportable segments are the same as those described in Note 2 – Summary of Significant Accounting Policies. Intercompany transactions primarily relate to intercontinental activity and have been eliminated and are excluded from the reported amounts. The difference between income from operations and pre-tax income relates to foreign currency-related gains and losses and interest income on cash balances and investments, which are not allocated to business segments.

 

Beginning in 2020, the Company's CODM made a decision to view certain research and development costs by geographic region. As a result, costs previously included in the Corporate Unallocated and Japan category have been included in the respective geographic regions. All periods presented have been restated to reflect this change.

 

Revenue and income from operations by reportable segment are as follows:

 


 

  

Year Ended December 31,

 

(in thousands)

 

2021

  

2020

  

2019

 

Revenue:

            

United States

 $384,458  $345,708  $360,205 

Europe

  90,399   74,796   82,805 

Japan

  13,241   13,891   15,718 

Total revenue

 $488,098  $434,395  $458,728 

 


 

  

Year Ended December 31,

 

(in thousands)

 

2021

  

2020

  

2019

 

Income from Operations:

            

United States

 $98,001  $98,762  $108,594 

Europe

  730   11,707   15,077 

Corporate Unallocated and Japan

  (58,389)  (50,633)  (43,815)

Total income from operations

 $40,342  $59,836  $79,856 

 


 

Total long-lived assets, expenditures for additions to long-lived assets and depreciation and amortization expense are as follows:

 


 

  

December 31,

  

December 31,

  

December 31,

 

(in thousands)

 

2021

  

2020

  

2019

 

Long-lived assets:

            

United States

 $215,701  $215,721  $210,171 

Europe

  59,388   59,388   45,019 

Japan

  5,257   7,557   8,522 

Total long-lived assets

 $280,346  $282,666  $263,712 

  


 

  

Year Ended December 31,

 

(in thousands)

 

2021

  

2020

  

2019

 

Expenditures for additions to long-lived assets:

            

United States

 $26,698  $29,984  $45,123 

Europe

  7,378   16,574   14,743 

Japan

  133   452   2,364 

Total expenditures for additions to long-lived assets

 $34,209  $47,010  $62,230 

 


 

 


 

  

Year Ended December 31,

 

(in thousands)

 

2021

  

2020

  

2019

 

Depreciation and Amortization:

            

United States

 $31,642  $25,744  $24,767 

Europe

  7,101   5,024   4,746 

Japan

  1,745   1,826   1,351 

Total depreciation and amortization

 $40,488  $32,594  $30,864 

 


 
XML 42 R25.htm IDEA: XBRL DOCUMENT v3.22.0.1
Significant Accounting Policies (Policies)
12 Months Ended
Dec. 31, 2021
Accounting Policies [Abstract]  
Consolidation, Policy [Policy Text Block]

Principles of consolidation

 

The consolidated financial statements include the accounts of the Company and its wholly-owned subsidiaries, as listed within “Organization and business” above. All intercompany accounts and transactions have been eliminated in consolidation.

 

Comprehensive Income, Policy [Policy Text Block]

Comprehensive income

 

Components of comprehensive income include net income, foreign currency translation adjustments and net unrealized gains and losses on investments in securities. Comprehensive income is disclosed in the accompanying Consolidated Statements of Comprehensive Income and Consolidated Statements of Shareholders’ Equity.

 

Use of Estimates, Policy [Policy Text Block]

Accounting estimates

 

The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America (U.S. GAAP) requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and related disclosures at the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from those estimates.

 

Cash and Cash Equivalents, Policy [Policy Text Block]

Cash and cash equivalents

 

Cash and cash equivalents include cash and other investments, including marketable securities, with maturities of three months or less at the date of purchase. The Company maintains its cash in bank deposit accounts, which, at times, may exceed federally insured limits. The Company has not experienced any losses on such accounts.

 

Marketable Securities, Policy [Policy Text Block]

Marketable securities

 

As of December 31, 2021, marketable securities are categorized as available-for-sale and are recorded at fair value.  In the first quarter of 2021, the Company sold held-to-maturity securities in order to partially fund the acquisition of Hubs. As a result of the sale, all remaining marketable securities were reclassified to available-for-sale securities and reported at fair value. Management determines the appropriate classification of debt securities at the time of purchase and reevaluates such designation as of each balance sheet date. The classification of marketable securities as current or non-current is dependent upon the security’s maturity date. Securities with maturities of three months or less at the time of purchase are categorized as cash equivalents as described above.

 

As of December 31, 2020, marketable securities included held-to-maturity debt securities recorded at amortized cost. Debt securities were classified as held-to-maturity when the Company had the positive intent and ability to hold the securities to maturity. Held-to-maturity securities were stated at amortized cost, adjusted for amortization of premiums and accretion of discounts to maturity computed under the effective interest method. Such amortization was included in other income, net. Interest on securities classified as held to maturity was included in other income, net. During the first quarter of 2020, the Company adopted the FASB ASU 2016-13, Financial Instruments – Credit Losses. The Company calculated the expected credit loss for each security in its portfolio using the probability-of-default method. The Company concluded the adoption of the guidance had no material impact on its consolidated financial statements.

 

Accounts Receivable [Policy Text Block]

Accounts receivable and allowance for doubtful accounts

 

Accounts receivable are reported at the invoiced amount less an allowance for doubtful accounts. As of each balance sheet date, the Company evaluates its accounts receivable and establishes an allowance for doubtful accounts based on a combination of specific customer circumstances and credit conditions taking into account the history of write-offs and collections. A receivable is considered past due if payment has not been received within the period agreed upon in the invoice. Accounts receivable are written off after all collection efforts have been exhausted. Recoveries of trade receivables previously written off are recorded when received.

 

Inventory, Policy [Policy Text Block]

Inventory

 

Inventory consists primarily of raw materials, which are recorded at the lower of cost or market, using the standard cost method, which approximates first-in, first-out (FIFO) cost. The Company periodically reviews its inventory for slow-moving, damaged and discontinued items and provides allowances to reduce such items identified to their recoverable amounts.

 

Property, Plant and Equipment, Policy [Policy Text Block]

Property, equipment and leasehold improvements

 

Property, equipment and leasehold improvements are stated at cost. Major improvements that substantially extend an asset’s useful life are capitalized. Repairs, maintenance and minor improvements are charged to operations as incurred. Depreciation, including amortization of leasehold improvements and assets recorded under capital leases, is calculated using the straight-line method over the estimated useful lives of the individual assets and ranges from 3 to 39 years. Manufacturing equipment is depreciated over 3 to 15 years, office furniture and equipment are depreciated over 3 to 7 years, computer hardware and software are depreciated over 3 to 5 years, building costs are depreciated over 39 years, leasehold improvements are depreciated over the estimated lives of the related assets or the life of the lease, whichever is shorter, and building and land improvements are depreciated over 10 to 39 years. Assets not in service are not depreciated until the asset is put into use.

 

The Company follows ASC 350-40, Internal-Use Software, in accounting for internally developed software. As of December 31, 2021 and 2020, $49.4 million of software development costs were capitalized.

 

Goodwill and Intangible Assets, Goodwill, Policy [Policy Text Block]

Goodwill

 

The Company recognizes goodwill in accordance with ASC 350, Intangibles—Goodwill and Other. Goodwill is the excess of cost of an acquired entity over the amounts assigned to assets acquired and liabilities assumed in a business combination. Goodwill is allocated to the Company's reporting units, which are determined by the discrete financial information available for the component and whether it is regularly reviewed by segment management. The Company's reporting units are the United States, Europe and Japan. Goodwill is not amortized.

 

Goodwill is tested for impairment annually at the beginning of the fourth quarter, and is tested for impairment between annual tests if an event occurs or circumstances change that would indicate the carrying amount may be impaired. An impairment charge for goodwill is recognized only when the estimated fair value of a reporting unit, including goodwill, is less than its carrying amount. In 2021, the Company performed a quantitative analysis based on the performance of Europe in 2021 and the amount of goodwill recorded during the year from the Hubs acquisition. The quantitative impairment test requires judgment, including the identification of reporting units, the assignment of assets, liabilities and goodwill to reporting units, and the determination of fair value of each reporting unit. The impairment test requires the comparison of the fair value of each reporting unit with its carrying amount, including goodwill. In performing the impairment test, the Company determined the fair value of its reporting units through a combination of the income approach by using discounted cash flow (DCF) analyses and the market approach through the guideline company method. Determining fair value requires the Company to make judgments about appropriate discount rates, perpetual growth rates and the amount and timing of expected future cash flows. The cash flows employed in the DCF analysis for each reporting unit are based on the reporting unit's budget, long-term business plan and recent operating performance. Discount rate assumptions are based on an assessment of the risk inherent in the future cash flows of the respective reporting unit and market conditions. Given the inherent uncertainty in determining the assumptions underlying a DCF analysis, actual results may differ from those used in the Company's valuations. In assessing the reasonableness of the determined fair values, the Company also reconciled the aggregate determined fair value of the Company to the Company's market capitalization, which, at the date of its 2021 impairment test, included a 16 percent control discount. Significant assumptions used in the DCF analysis included long-term revenue growth rates. As a result of the analyses, no impairment was identified.

 

Internal Use Software, Policy [Policy Text Block]

Capitalized Software Costs

 

The Company follows ASC 350-40, Intangibles – Goodwill and Other, Internal-Use Software, in accounting for internally developed software. Costs for internal use software are evaluated by projected and capitalized where appropriate.

  

Goodwill and Intangible Assets, Intangible Assets, Policy [Policy Text Block]

Other Intangible Assets

 

Other intangible assets include software technology, customer relationships and other intangible assets acquired from other independent parties. Other intangible assets with a definite life are amortized over a period ranging from two to 12 years on a straight line basis, and are tested for impairment whenever events or circumstances indicate that the carrying amount of an asset (asset group) may not be recoverable. An impairment loss is recognized when the carrying amount of an asset exceeds the estimated undiscounted cash flows generated by the asset. The amount of the impairment loss recorded is calculated by the excess of the asset’s carrying value over its fair value.

 

Impairment or Disposal of Long-Lived Assets, Policy [Policy Text Block]

Accounting for long-lived assets

 

The Company periodically reviews the carrying amount of its property, equipment and leasehold improvements to determine if circumstances exist indicating an impairment or if depreciation periods should be modified. If facts or circumstances indicate that an impairment may exist, the Company will prepare a projection of the undiscounted future cash flows of the specific assets to determine if the assets are recoverable. If impairment exists based on these projections, an adjustment will be made to reduce the carrying amount of the specific assets to fair value.

 

Revenue [Policy Text Block]

Revenue recognition

 

The Company recognizes revenue for its internal and outsourced manufacturing operations in accordance with ASC 606, Revenue from Contracts with Customers. The Company manufactures custom parts to specific customer orders that have no alternative use to the Company, and the Company believes there is a legally enforceable right to payment for performance completed to date on internally and outsourced manufactured parts. For manufactured parts that meet these two criteria, the Company will recognize revenue over time. Revenue is recognized over time using the input method based on time in production as a percentage of total estimated production time to measure progress toward satisfying performance obligations using the estimated total time necessary to complete the parts per the customer's order and an estimate of inventory and production costs incurred to date. The input method requires an analysis of the incurred time in production and an estimate of the total time necessary to complete the total parts per the customer's order. The majority of the Company’s injection molding contracts have multiple performance obligations including one obligation to produce the mold and a second obligation to produce parts. For injection molding contracts with multiple performance obligations, the Company allocates revenue to each performance obligation based on its relative standalone selling price. The Company generally determines standalone selling price based on the price charged to customers.

 

Lessee, Leases [Policy Text Block]

Leases

 

The Company accounts for leases in accordance with ASC 842, Leases, which requires the balance sheet recognition of lease assets and lease liabilities by lessees for those leases classified as operating and finance leases. The Company determines if an arrangement is a lease at inception. Operating leases are included in operating lease assets, current operating lease liabilities and long-term operating lease liabilities in the Consolidated Balance Sheets and are recognized based on the present value of lease payments over the lease term at the commencement date. Finance leases are included in finance lease assets, current finance lease liabilities and long-term finance lease liabilities in the Consolidated Balance Sheets and are recognized based on the present value of lease payments over the lease term at commencement date. The majority of the Company’s leases do not provide an implicit rate of return, therefore, the Company uses its incremental borrowing rate based on the information available at commencement date in determining the present value of lease payments. Lease agreements that contain non-lease components, with the exception of certain real estate leases, are accounted for as a single lease component.

 

The Company has operating leases for office space, manufacturing facilities and certain company vehicles and equipment and finance leases for certain company equipment. The leases have remaining lease terms of one year to eight years. Leases with an initial term of 12 months or less are not recorded on the balance sheet; we recognize lease expense for these leases on a straight-line basis over the lease term. For purposes of calculating operating lease liabilities, lease terms may be deemed to include options to extend or terminate the lease when it is reasonably certain that the Company will exercise that option. As of December 31, 2021, the operating lease liability does not include any options to extend or terminate leases.

 

Income Tax, Policy [Policy Text Block]

Income taxes

 

The Company accounts for income taxes in accordance with ASC 740, Income Taxes (ASC 740). Under this method, the Company determines tax assets and liabilities based upon the differences between the financial statement carrying amounts and the tax basis of assets and liabilities using enacted tax rates in effect for the year in which the differences are expected to affect taxable income. The tax consequences of most events recognized in the financial statements are included in determining income taxes currently payable. However, because tax laws and financial accounting standards differ in their recognition and measurement of assets, liabilities and equity, revenues, expenses, gains and losses, differences arise between the amount of taxable income and pretax financial income for a year and between the tax basis of assets or liabilities and their reported amounts in the financial statements. Because the Company assumes that the reported amounts of assets and liabilities will be recovered and settled, respectively, a difference between the tax basis of an asset or liability and its reported amount in the balance sheet will result in a taxable or a deductible amount in some future years when the related liabilities are settled or the reported amounts of the assets are recovered, giving rise to a deferred tax asset or liability. The Company establishes a valuation allowance for any portion of its deferred tax assets that the Company believes  may not be recognized.

 

ASC 740 also clarifies the accounting for uncertainty in income taxes recognized in an enterprise’s financial statements by requiring that individual tax positions are recorded only when they meet a more-likely-than-not criterion. The Company recognizes the effect of income tax positions only if sustaining those positions is more likely than not. The Company records penalties and interest related to unrecognized tax benefits in income taxes in the Company’s Consolidated Statements of Income.

 

Compensation Related Costs, Policy [Policy Text Block]

Stock-based compensation

 

The Company accounts for stock-based compensation in accordance with ASC 718, Compensation—Stock Compensation (ASC 718). Under the fair value recognition provisions of ASC 718, the Company measures stock-based compensation cost at the grant date fair value and recognizes the compensation expense over the requisite service period, which is the vesting period, using a straight-line attribution method. The amount of stock-based compensation expense recognized during a period is based on the portion of the awards that are ultimately expected to vest. The Company accounts for forfeitures as they occur. Ultimately, the total expense recognized over the vesting period will only be for those awards that vest. The Company’s awards are not eligible to vest early in the event of retirement, however, the awards vest early in the event of a change in control.

 

In determining the compensation cost of the options granted, the fair value of options granted has been estimated on the date of grant using the Black-Scholes option-pricing model.

 

Advertising Cost [Policy Text Block]

Advertising costs

 

Advertising is expensed as incurred and was approximately $11.6 million, $11.5 million and $13.0 million for the years ended December 31, 2021, 2020 and 2019, respectively.

 

Research and Development Expense, Policy [Policy Text Block]

Research and development

 

Research and development expenses consist primarily of personnel and outside service costs related to the development of new processes and product lines, enhancements of existing product lines, development of software for internal use, maintenance of internally developed software, quality assurance and testing. Costs for internal use software are evaluated by project and capitalized where appropriate under ASC 350-40, Intangibles - Goodwill and Other, Internal-Use Software. Research and development costs were approximately $44.2 million, $36.9 million and $32.7 million for the years ended December 31, 2021, 2020 and 2019, respectively.

 

Foreign Currency Transactions and Translations Policy [Policy Text Block]

Foreign currency translation/transactions

 

The Company translated the balance sheets of its foreign subsidiaries at period-end exchange rates and the income statement at the average exchange rates in effect throughout the period. The Company has recorded the translation adjustment as a separate component of consolidated shareholders’ equity. Foreign currency transaction gains and losses are recognized in the Consolidated Statements of Comprehensive Income.

 

New Accounting Pronouncements, Policy [Policy Text Block]

Recently adopted accounting pronouncements

 

In  December 2019, the Financial Accounting Standards Board issued Accounting Standards Update (ASU) 2019-12, Income Taxes (Topic 740): Simplifying the Accounting for Income Taxes (ASU 2019-12). ASU 2019-12 attempts to simplify aspects of accounting for franchise taxes and enacted changes in tax laws or rates, and clarifies the accounting for transactions that result in a step-up in the tax basis of goodwill. ASU 2019-12 is effective for public business entities for fiscal years beginning after  December 15, 2020, including interim periods within that fiscal year. The Company adopted ASU 2019-12 on  January 1, 2021 and there was no material impact on the Company’s consolidated financial statements.

 

XML 43 R26.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 3 - Revenue (Tables)
12 Months Ended
Dec. 31, 2021
Notes Tables  
Disaggregation of Revenue [Table Text Block]
  

Year Ended December 31,

 

(in thousands)

 

2021

  

2020

  

2019

 

Revenue:

            

United States

 $384,458  $345,708  $360,205 

Europe

  90,399   74,796   82,805 

Japan

  13,241   13,891   15,718 

Total revenue

 $488,098  $434,395  $458,728 
  

Year Ended December 31,

 

(in thousands)

 

2021

  

2020

  

2019

 

Revenue:

            

Injection Molding

 $226,117  $217,992  $217,415 

CNC Machining

  166,811   131,587   155,473 

3D Printing

  72,721   62,502   61,352 

Sheet Metal

  20,397   18,838   21,000 

Other Revenue

  2,052   3,476   3,488 

Total revenue

 $488,098  $434,395  $458,728 
XML 44 R27.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 4 - Net Income Per Common Share (Tables)
12 Months Ended
Dec. 31, 2021
Notes Tables  
Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]
   

Year Ended December 31,

 

(in thousands, except share and per share amounts)

 

2021

   

2020

   

2019

 
                         

Net Income

  $ 33,372     $ 50,867     $ 63,655  
                         

Basic - weighted-average shares outstanding:

    27,617,627       26,737,425       26,866,985  

Effect of dilutive securities:

                       

Employee stock options and other

    35,472       158,932       182,438  

Diluted - weighted-average shares outstanding:

    27,653,099       26,896,357       27,049,423  

Net income per share attributable to common shareholders:

                       

Basic

  $ 1.21     $ 1.90     $ 2.37  

Diluted

  $ 1.21     $ 1.89     $ 2.35  
XML 45 R28.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 5 - Business Combinations (Tables)
12 Months Ended
Dec. 31, 2021
Acquired 3D Hubs [Member]  
Notes Tables  
Schedule of Recognized Identified Assets Acquired and Liabilities Assumed [Table Text Block]

(in thousands)

       

Assets acquired:

       

Current assets

  $ 2,497  

Intangible assets

    30,770  

Goodwill

    280,925  

Other long-term assets

    1,139  

Total assets acquired

    315,331  
         

Liabilities assumed:

       

Current contingent consideration

    7,093  

Current liabilities

    5,666  

Long-term contingent consideration

    6,507  

Long-term deferred tax liabilities

    1,688  

Other long-term liabilities

    255  

Total liabilities assumed

    21,209  

Net assets acquired

  $ 294,122  
         

Cash paid

  $ 133,847  

Cash acquired

    (6,434 )

Net cash consideration

    127,413  

Equity portion of purchase price

    166,709  

Total purchase consideration

  $ 294,122  
XML 46 R29.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 6 - Goodwill and Other Intangible Assets (Tables)
12 Months Ended
Dec. 31, 2021
Notes Tables  
Schedule of Goodwill [Table Text Block]

(in thousands)

 

Dec. 31, 2019

  

Goodwill acquired during 2020

  

Dec. 31, 2020

  

Goodwill acquired during 2021

  

Foreign currency translation adjustments during 2021

  

Dec. 31, 2021

 
                         

United States

 $123,883  $-  $123,883  $151,276  $-  $275,159 

Europe

  4,239   -   4,239   129,649   (9,067)  124,821 

Japan

  630   -   630   -   -   630 

Total goodwill

 $128,752  $-  $128,752  $280,925  $(9,067) $400,610 
Schedule of Finite-Lived Intangible Assets [Table Text Block]
  

Year Ended December 31, 2021

  

Year Ended December 31, 2020

      

Weighted Average Useful Life

 

(in thousands)

 

Gross

  

Accumulated Amortization

  

Net

  

Gross

  

Accumulated Amortization

  

Net

  

Useful Life (in years)

  

Remaining (in years)

 
                                 

Marketing assets

 $930  $(713) $217  $930  $(620) $310   10.0   2.3 

Non-compete agreement

  842   (363)  479   270   (238)  32   2.0 - 5.0   2.9 

Software technology

  13,229   (5,014)  8,215   13,229   (3,645)  9,584   10.0   6.5 

Software platform

  26,725   (2,262)  24,463   -   -   -   12.0   11.1 

Tradenames

  359   (114)  245   -   -   -   3.0   2.1 

Customer relationships

  12,252   (7,873)  4,379   10,070   (5,646)  4,424   3.0 - 9.0   1.8 

Total intangible assets

 $54,337  $(16,339) $37,998  $24,499  $(10,149) $14,350         
Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]

(in thousands)

 Estimated Amortization Expense 

2022

 $6,172 

2023

  5,968 

2024

  3,790 

2025

  3,690 

2026

  3,586 

Thereafter

  14,792 

Total estimated amortization expense

 $37,998 
XML 47 R30.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 7 - Fair Value Measurements (Tables)
12 Months Ended
Dec. 31, 2021
Notes Tables  
Fair Value, Assets Measured on Recurring Basis [Table Text Block]
  

December 31, 2021

  

December 31, 2020

 

(in thousands)

 

Level 1

  

Level 2

  

Level 3

  

Level 1

  

Level 2

  

Level 3

 
                         

Financial Assets:

                        

Cash and cash equivalents

 $65,637  $-  $-  $72,225  $-  $- 

Money market mutual fund

  292   -   -   55,378   -   - 

Marketable securities

  7,602   18,318   -   -   -   - 

Total

 $73,531  $18,318  $-  $127,603  $-  $- 
XML 48 R31.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 8 - Marketable Securities (Tables)
12 Months Ended
Dec. 31, 2021
Notes Tables  
Debt Securities, Available-for-sale [Table Text Block]
  

December 31, 2021

 

(in thousands)

 

Amortized Cost

  

Unrealized Gains

  

Unrealized Losses

  

Fair Value

 
                 

U.S. government agency securities

 $2,500  $-  $(12) $2,488 

Corporate debt securities

  9,303   -   (44)  9,259 

U.S. municipal securities

  12,549   -   (70)  12,479 

Commercial paper

  -   -   -   - 

Certificates of deposit/time deposits

  1,687   7   -   1,694 

Total marketable securities

 $26,039  $7  $(126) $25,920 
Debt Securities, Held-to-maturity [Table Text Block]
  

December 31, 2020

 

(in thousands)

 

Amortized Cost

  

Unrealized Gains

  

Unrealized Losses

  

Fair Value

 
                 

U.S. government agency securities

 $18,500  $6  $(10) $18,496 

Corporate debt securities

  42,048   211   (11)  42,248 

U.S. municipal securities

  25,003   83   (2)  25,084 

Commercial paper

  2,499   -   -   2,499 

Certificates of deposit/time deposits

  5,395   93   -   5,488 

Total marketable securities

 $93,445  $393  $(23) $93,815 
Investments Classified by Contractual Maturity Date [Table Text Block]
  

December 31,

 

(in thousands)

 

2021

 
     

Due in one year or less

 $11,580 

Due after one year through five years

  14,340 

Total marketable securities

 $25,920 
XML 49 R32.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 9 - Property and Equipment (Tables)
12 Months Ended
Dec. 31, 2021
Notes Tables  
Property, Plant and Equipment [Table Text Block]
   

December 31,

 

(in thousands)

 

2021

   

2020

 
                 

Land

  $ 15,009     $ 14,028  

Buildings and improvements

    107,241       77,285  

Machinery and equipment

    234,900       221,301  

Computer hardware and software

    81,889       79,207  

Leasehold improvements

    8,373       7,821  

Construction in progress

    14,489       33,780  

Total

    461,901       433,422  

Accumulated depreciation and amortization

    (181,555 )     (150,756 )

Property and equipment, net

  $ 280,346     $ 282,666  
XML 50 R33.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 10 - Inventory (Tables)
12 Months Ended
Dec. 31, 2021
Notes Tables  
Schedule of Inventory, Current [Table Text Block]
  

December 31,

 

(in thousands)

 

2021

  

2020

 
         

Total inventory

  13,474   11,122 

Allowance for obsolescence

  (313)  (260)

Inventory, net of allowance

 $13,161  $10,862 
XML 51 R34.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 13 - Stock-based Compensation (Tables)
12 Months Ended
Dec. 31, 2021
Notes Tables  
Share-based Payment Arrangement, Cost by Plan [Table Text Block]
  

Year Ended December 31,

 

(in thousands)

 

2021

  

2020

  

2019

 
             

Stock options and other

 $17,553  $13,327  $9,591 

Employee stock purchase plan

  1,542   1,346   1,190 

Total stock-based compensation expense

 $19,095  $14,673  $10,781 
             

Cost of revenue

 $2,595  $2,451  $2,056 

Operating expenses:

            

Marketing and sales

  3,736   3,121   2,632 

Research and development

  2,833   2,440   1,851 

General and administrative

  9,931   6,661   4,242 

Total stock-based compensation expense

 $19,095  $14,673  $10,781 
Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]
  

Year Ended December 31,

 
  

2021

  

2020

  

2019

 
             

Risk-free interest rate

  0.80 - 1.12%   0.50 - 1.47%   2.35 - 2.58% 

Expected life (years)

  6.25   6.25   6.25 

Expected volatility

  45.28 - 45.53%   42.40 - 43.83%   42.52 - 42.74% 

Expected dividend yield

  0%   0%   0% 

Weighted average grant date fair value

  $128.14   $45.32   $47.84 
Share-based Payment Arrangement, Option, Activity [Table Text Block]
      

Weighted-

 
      

Average

 
  

Stock Options

  

Exercise Price

 
         

Options outstanding at January 1, 2019

  252,616  $64.71 

Granted

  53,708   105.81 

Exercised

  (16,079)  48.67 

Cancelled

  (13,979)  89.50 

Options outstanding at December 31, 2019

  276,266   72.38 

Granted

  60,065   105.79 

Exercised

  (68,958)  57.00 

Cancelled

  (37,842)  67.92 

Options outstanding at December 31, 2020

  229,531   86.46 

Granted

  57,901   128.14 

Exercised

  (28,991)  58.78 

Cancelled

  (25,057)  109.31 

Options outstanding at December 31, 2021

  233,384  $97.78 
         

Exercisable at December 31, 2021

  115,700  $81.30 
Share-based Payment Arrangement, Option, Exercise Price Range [Table Text Block]
  

Options Outstanding, Vested and Expected to Vest

  

Options Exercisable

 

Range of Exercise Prices

 Number Outstanding  Weighted Average Remaining Contractual Life  

Weighted Average Exercise Price ($)

  Number Exercisable  

Weighted Average Exercise Price ($)

 
                  

$7.76 to $31.43

 4,624  0.35  

30.58

  4,624  

30.58

 

$31.44 to $66.87

 50,159  3.58  

57.13

  45,986  

57.02

 

$66.88 to $96.20

 41,586  7.82  

89.95

  9,570  

71.68

 

$96.21 to $180.46

 137,015  7.67  

117.31

  55,520  

107.28

 
Share-based Payment Arrangement, Restricted Stock and Restricted Stock Unit, Activity [Table Text Block]
      

Weighted-

 
      

Average

 
      

Grant Date

 
  

Restricted

  

Fair Value

 
  

Stock Awards

  

Per Share

 
         

Restricted stock at January 1, 2019

  323,921  $79.85 

Granted

  115,471   106.35 

Restrictions lapsed

  (92,597)  77.25 

Forfeited

  (31,822)  87.58 

Restricted stock at December 31, 2019

  314,973   89.55 

Granted

  108,179   111.76 

Restrictions lapsed

  (101,941)  84.70 

Forfeited

  (14,012)  94.24 

Restricted stock at December 31, 2020

  307,199   98.87 

Granted

  205,996   123.61 

Restrictions lapsed

  (115,908)  91.26 

Forfeited

  (53,505)  128.05 

Restricted stock at December 31, 2021

  343,782  $111.79 
Schedule of Nonvested Performance-based Units Activity [Table Text Block]
      

Weighted-

 
      

Average

 
      

Grant Date

 
  

Performance

  

Fair Value

 
  

Stock Awards

  

Per Share

 
         

Performance stock at January 1, 2019

  52,140  $76.54 

Granted

  21,434   104.99 

Restrictions lapsed

  -   - 

Performance change

  (61,816)  88.06 

Forfeited

  (2,375)  105.37 

Performance stock at December 31, 2019

  9,383   58.35 

Granted

  19,956   118.66 

Restrictions lapsed

  (7,113)  58.35 

Performance change

  -   - 

Forfeited

  (2,270)  58.35 

Performance stock at December 31, 2020

  19,956   118.66 

Granted

  15,078   203.64 

Restrictions lapsed

  -   - 

Performance change

  (10,366)  192.95 

Forfeited

  (7,829)  113.91 

Performance stock at December 31, 2021

  16,839  $115.56 
Schedule of Share-based Payment Award, Awards Other Than Stock Options, Valuation Assumptions [Table Text Block]
  

Year Ended December 31,

 
  

2021

  

2020

  

2019

 
          

Risk-free interest rate

 0.06 - 0.17%  0.12 - 0.17%  1.59 - 2.35% 

Expected life (months)

 6.00  6.00  6.00 

Expected volatility

 53.44 - 65.53%  50.85 - 59.99%  42.63 - 53.57% 

Expected dividend yield

 0%  0%  0% 
XML 52 R35.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 14 - Leases (Tables)
12 Months Ended
Dec. 31, 2021
Notes Tables  
Assets and Liabilities, Lessee [Table Text Block]
  

December 31,

 

(in thousands)

 

2021

  

2020

 

Operating lease assets

 $5,578  $9,855 
         

Current operating lease liabilities

 $3,298  $3,272 

Long-term operating lease liabilities

  2,245   7,586 

Total operating lease liabilities

 $5,543  $10,858 
         
         

Finance lease assets

 $1,898  $2,396 
         

Current finance lease liabilities

 $550  $552 

Long-term finance lease liabilities

  1,351   1,919 

Total finance lease liabilities

 $1,901  $2,471 
Schedule of Lease Expense [Table Text Block]
  

Twelve Months Ended December 31,

 

(in thousands)

 

2021

  

2020

 

Operating lease cost

 $3,391  $4,191 

Finance lease cost:

        

Amortization of right-of-use assets

 $498  $143 

Interest on lease obligations

 $9  $2 

Variable lease cost

  719   989 

Total lease cost

 $4,617  $5,325 
  

Twelve Months Ended December 31,

 

(in thousands)

 

2021

  

2020

 

Cash paid for amounts included in the measurement of lease liabilities:

        

Operating cash flows from operating leases

 $10,477  $4,426 

Operating cash flows from finance leases

 $9  $2 

Financing cash flows from finance leases

 $552  $154 
         

Lease assets obtained in exchange for new operating lease liabilities

  5,293   1,506 

Lease assets obtained in exchange for new financing lease liabilities

  -   2,523 
Lessee, Lease Liability, Maturity [Table Text Block]

(in thousands)

 

Operating Leases

  

Finance Leases

 

Year Ending December 31,

        

2022

 $2,550  $561 

2023

  1,308   1,352 

2024

  751   - 

2025

  711   - 

2026

  344   - 

After 2027

  -   - 

Total future minimum lease payments

  5,664   1,913 

Less interest

  (121)  (12)

Present value of lease liabilities

 $5,543  $1,901 
Schedule of Lease Terms and Discount Rates [Table Text Block]
  

December 31,

 
  

2021

  

2020

 

Weighted Average Remaining Lease Term - operating leases (years)

  3.1   4.4 

Weighted Average Remaining Lease Term - finance leases (years)

  1.5   2.5 

Weighted Average Discount Rate - operating leases

  1.6%  2.6%

Weighted Average Discount Rate - finance leases

  0.4%  0.5%
XML 53 R36.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 15 - Accumulated Other Comprehensive Income (Loss) (Tables)
12 Months Ended
Dec. 31, 2021
Notes Tables  
Comprehensive Income (Loss) [Table Text Block]
   

Year Ended December 31,

 

(in thousands)

 

2021

   

2020

   

2019

 
                         

Balance at beginning of period

  $ (3,420 )   $ (7,018 )   $ (8,492 )

Foreign currency translation adjustments

                       

Other comprehensive (loss) income before reclassifications

    (13,278 )     3,598       1,474  

Amounts reclassified from accumulated other comprehensive income (loss)

    -       -       -  

Net current-period other comprehensive (loss) income

    (13,278 )     3,598       1,474  

Net unrealized gains (losses) on investments in securities

                       

Other comprehensive (loss) income before reclassifications

    (119 )     -       -  

Amounts reclassified from accumulated other comprehensive income (loss)

    -       -       -  

Net current-period other comprehensive (loss) income

    (119 )     -       -  

Balance at end of period

  $ (16,817 )   $ (3,420 )   $ (7,018 )
XML 54 R37.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 16 - Income Taxes (Tables)
12 Months Ended
Dec. 31, 2021
Notes Tables  
Schedule of Income before Income Tax, Domestic and Foreign [Table Text Block]
  

Year Ended December 31,

 

(in thousands)

 

2021

  

2020

  

2019

 
             

Domestic

 $42,449  $58,551  $74,841 

Foreign

  (2,265)  4,394   6,352 

Total

 $40,184  $62,945  $81,193 
Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]
  

Year Ended December 31,

 

(in thousands)

 

2021

  

2020

  

2019

 
             

Current:

            

Federal

 $5,552  $2,128  $6,991 

State

  975   1,136   2,882 

Foreign

  (64)  1,241   1,544 

Deferred

            

Federal

  (377)  6,904   5,121 

State

  (814)  (431)  269 

Foreign

  (1,181)  210   (809)

Valuation Allowance

  2,721   890   1,540 

Total

 $6,812  $12,078  $17,538 
Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]
  

Year Ended December 31,

 
  

2021

  

2020

  

2019

 
             

Federal tax statutory rate

  21.0%  21.0%  21.0%

State tax (net of federal benefit)

  2.1   2.1   2.1 

Share based compensation

  (2.3)  (1.3)  (0.5)

Valuation allowance against deferred tax assets

  8.9   2.0   1.4 

Contingent consideration reduction

  (7.0)  -   - 

Research and development credit

  (4.0)  (3.7)  (2.8)

Foreign rate differential

  (2.2)  (0.8)  (0.3)

Tax reserves

  (1.0)  1.4   1.1 

Provision to return difference

  (0.7)  (1.4)  - 

Miscellaneous

  2.2   (0.1)  (0.4)

Total

  17.0%  19.2%  21.6%
Schedule of Deferred Tax Assets and Liabilities [Table Text Block]
  

December 31,

 

(in thousands)

 

2021

  

2020

 
         

Deferred tax assets:

        

Accrued expenses

 $2,511  $2,155 

Leases

  1,830   3,598 

Warrants and stock options

  4,271   3,356 

Intangible assets

  -   1,693 

Inventories

  205   172 

Research and development credit

  2,126   1,661 

Other assets

  1,111   129 

Net operating loss

  14,046   6,647 

Less valuation allowance

  (13,999)  (9,138)

Total deferred tax assets

  12,101   10,273 

Deferred tax liabilities:

        

Depreciation

  (31,897)  (32,671)

Goodwill

  (9,872)  (7,858)

Intangible assets

  (4,394)  - 

Leases

  (1,830)  (3,598)

Total deferred tax liabilities

  (47,993)  (44,127)

Net deferred tax liability

 $(35,892) $(33,854)
Schedule of Unrecognized Tax Benefits Roll Forward [Table Text Block]
  

December 31,

 
  

2021

  

2020

 
         

Balance at beginning of period

 $4,830  $4,598 

Additions for tax positions of current year

  491   324 

Additions for tax positions of prior years

  781   475 

Decrease related to expiration of statutes of limitations

  (1,738)  (567)

Balance at period end

 $4,364  $4,830 
XML 55 R38.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 18 - Segment Reporting (Tables)
12 Months Ended
Dec. 31, 2021
Notes Tables  
Income from Operations by Geographic Area [Table Text Block]
  

Year Ended December 31,

 

(in thousands)

 

2021

  

2020

  

2019

 

Income from Operations:

            

United States

 $98,001  $98,762  $108,594 

Europe

  730   11,707   15,077 

Corporate Unallocated and Japan

  (58,389)  (50,633)  (43,815)

Total income from operations

 $40,342  $59,836  $79,856 
Long-lived Assets by Geographic Areas [Table Text Block]
  

December 31,

  

December 31,

  

December 31,

 

(in thousands)

 

2021

  

2020

  

2019

 

Long-lived assets:

            

United States

 $215,701  $215,721  $210,171 

Europe

  59,388   59,388   45,019 

Japan

  5,257   7,557   8,522 

Total long-lived assets

 $280,346  $282,666  $263,712 
Expenditures for Additions to Long-lived Assets by Geographic Region [Table Text Block]
  

Year Ended December 31,

 

(in thousands)

 

2021

  

2020

  

2019

 

Expenditures for additions to long-lived assets:

            

United States

 $26,698  $29,984  $45,123 

Europe

  7,378   16,574   14,743 

Japan

  133   452   2,364 

Total expenditures for additions to long-lived assets

 $34,209  $47,010  $62,230 
Depreciation and Amortization by Geographic Region [Table Text Block]
  

Year Ended December 31,

 

(in thousands)

 

2021

  

2020

  

2019

 

Depreciation and Amortization:

            

United States

 $31,642  $25,744  $24,767 

Europe

  7,101   5,024   4,746 

Japan

  1,745   1,826   1,351 

Total depreciation and amortization

 $40,488  $32,594  $30,864 
Operating Segments [Member]  
Notes Tables  
Revenue from External Customers by Geographic Areas [Table Text Block]
  

Year Ended December 31,

 

(in thousands)

 

2021

  

2020

  

2019

 

Revenue:

            

United States

 $384,458  $345,708  $360,205 

Europe

  90,399   74,796   82,805 

Japan

  13,241   13,891   15,718 

Total revenue

 $488,098  $434,395  $458,728 
XML 56 R39.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 2 - Summary of Significant Accounting Policies (Details Textual) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Capitalized Computer Software, Net, Ending Balance $ 49,400    
Goodwill, Impairment Loss 0    
Advertising Expense 11,600 $ 11,500 $ 13,000
Research and Development Expense, Total $ 44,241 $ 36,940 $ 32,692
Building [Member]      
Property, Plant and Equipment, Useful Life (Year) 39 years    
Minimum [Member]      
Property, Plant and Equipment, Useful Life (Year) 3 years    
Finite-Lived Intangible Asset, Useful Life (Year) 2 years    
Minimum [Member] | Office Space, Manufacturing Facilities, and Certain Company Vehicles and Equipment [Member]      
Lessee, Operating Lease, Term of Contract (Year) 1 year    
Minimum [Member] | Equipment [Member]      
Property, Plant and Equipment, Useful Life (Year) 3 years    
Minimum [Member] | Office Furniture And Equipment [Member]      
Property, Plant and Equipment, Useful Life (Year) 3 years    
Minimum [Member] | Computer Equipment [Member]      
Property, Plant and Equipment, Useful Life (Year) 3 years    
Minimum [Member] | Land, Buildings and Improvements [Member]      
Property, Plant and Equipment, Useful Life (Year) 10 years    
Maximum [Member]      
Property, Plant and Equipment, Useful Life (Year) 39 years    
Finite-Lived Intangible Asset, Useful Life (Year) 12 years    
Maximum [Member] | Office Space, Manufacturing Facilities, and Certain Company Vehicles and Equipment [Member]      
Lessee, Operating Lease, Term of Contract (Year) 8 years    
Maximum [Member] | Equipment [Member]      
Property, Plant and Equipment, Useful Life (Year) 15 years    
Maximum [Member] | Office Furniture And Equipment [Member]      
Property, Plant and Equipment, Useful Life (Year) 7 years    
Maximum [Member] | Computer Equipment [Member]      
Property, Plant and Equipment, Useful Life (Year) 5 years    
Maximum [Member] | Land, Buildings and Improvements [Member]      
Property, Plant and Equipment, Useful Life (Year) 39 years    
XML 57 R40.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 3 - Revenue - Disaggregation of Revenue (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Revenue:      
Revenue $ 488,098 $ 434,395 $ 458,728
Injection Molding (Protomold) [Member]      
Revenue:      
Revenue 226,117 217,992 217,415
CNC Machining (Firstcut) [Member]      
Revenue:      
Revenue 166,811 131,587 155,473
3D Printing (Fineline) [Member]      
Revenue:      
Revenue 72,721 62,502 61,352
Sheet Metal [Member]      
Revenue:      
Revenue 20,397 18,838 21,000
Other Products [Member]      
Revenue:      
Revenue 2,052 3,476 3,488
UNITED STATES      
Revenue:      
Revenue 384,458 345,708 360,205
Europe [Member]      
Revenue:      
Revenue 90,399 74,796 82,805
JAPAN      
Revenue:      
Revenue $ 13,241 $ 13,891 $ 15,718
XML 58 R41.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 4 - Net Income Per Common Share (Details Textual)
12 Months Ended
Dec. 31, 2021
$ / shares
Antidilutive Securities Excluded from Computation of Net Income, Per Outstanding Unit, Amount (in dollars per share) $ 113,043
XML 59 R42.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 4 - Net Income Per Common Share - Computation of Basic and Diluted Net Income Per Share (Details) - USD ($)
$ / shares in Units, $ in Thousands
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Net income $ 33,372 $ 50,867 $ 63,655
Basic - weighted-average shares outstanding: (in shares) 27,617,627 26,737,425 26,866,985
Employee stock options and other (in shares) 35,472 158,932 182,438
Diluted - weighted-average shares outstanding: (in shares) 27,653,099 26,896,357 27,049,423
Basic (in dollars per share) $ 1.21 $ 1.90 $ 2.37
Diluted (in dollars per share) $ 1.21 $ 1.89 $ 2.35
XML 60 R43.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 5 - Business Combinations (Details Textual) - USD ($)
$ in Thousands
11 Months Ended 12 Months Ended
Jan. 22, 2021
Dec. 31, 2021
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Payments to Acquire Businesses, Net of Cash Acquired, Total     $ 127,413 $ (0) $ (0)
Business Combination, Contingent Consideration, Liability, Total   $ 0 0    
Acquired 3D Hubs [Member]          
Business Combination, Consideration Transferred, Total $ 294,100   294,122    
Payments to Acquire Businesses, Net of Cash Acquired, Total $ 127,400   127,413    
Business Acquisition, Equity Interest Issued or Issuable, Number of Shares (in shares) 863,995        
Business Combination, Consideration Transferred, Equity Interests Issued and Issuable $ 166,700   166,709    
Business Combination, Contingent Consideration Arrangements, Range of Outcomes, Value, High 52,800        
Payments to Acquire Businesses, Gross     133,847    
Business Combination, Contingent Consideration, Liability, Total $ 13,600        
Business Combination, Provisional Information, Initial Accounting Incomplete, Adjustment, Intangibles     (3,900)    
Goodwill, Purchase Accounting Adjustments     5,500    
Business Combination, Provisional Information, Initial Accounting Incomplete, Adjustment, Contingent Consideration     3,300    
Business Combination, Provisional Information, Initial Accounting Incomplete, Adjustment, Deferred Tax Liabilities     1,400    
Business Combination, Provisional Information, Initial Accounting Incomplete, Adjustment, Cash Paid     $ (300)    
Acquired 3D Hubs [Member] | Cash [Member]          
Payments to Acquire Businesses, Gross   $ 25,000      
Acquired 3D Hubs [Member] | Common Stock [Member] | Maximum [Member]          
Business Acquisition, Equity Interest Issued or Issuable, Number of Shares (in shares) 143,983        
Business Combination, Contingent Consideration Arrangements, Range of Outcomes, Value, High $ 27,800        
XML 61 R44.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 5 - Business Combinations - Allocation of Purchase Price for the Acquisition of Rapid (Details) - USD ($)
$ in Thousands
12 Months Ended
Jan. 22, 2021
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Assets acquired:        
Goodwill   $ 400,610 $ 128,752 $ 128,752
Liabilities assumed:        
Net cash consideration   127,413 $ (0) $ (0)
Acquired 3D Hubs [Member]        
Assets acquired:        
Current assets   2,497    
Intangible assets   30,770    
Goodwill   280,925    
Other long-term assets   1,139    
Total assets acquired   315,331    
Liabilities assumed:        
Current contingent consideration   7,093    
Current liabilities   5,666    
Long-term contingent consideration   6,507    
Long-term deferred tax liabilities   1,688    
Other long-term liabilities   255    
Total liabilities assumed   21,209    
Net assets acquired   294,122    
Payments to Acquire Businesses, Gross   133,847    
Cash acquired   (6,434)    
Net cash consideration $ 127,400 127,413    
Business Combination, Consideration Transferred, Equity Interests Issued and Issuable 166,700 166,709    
Total purchase consideration $ 294,100 $ 294,122    
XML 62 R45.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 6 - Goodwill and Other Intangible Assets (Details Textual)
$ in Thousands, € in Millions
12 Months Ended
Jan. 22, 2021
USD ($)
Jan. 22, 2021
EUR (€)
Dec. 31, 2021
USD ($)
Dec. 31, 2020
USD ($)
Dec. 31, 2019
USD ($)
Goodwill, Acquired During Period     $ 280,925 $ 0  
Amortization of Intangible Assets, Total     6,200 3,000 $ 3,500
Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, before Tax, Total     900 0 $ 0
Europe [Member]          
Goodwill, Acquired During Period     129,649 0  
UNITED STATES          
Goodwill, Acquired During Period     151,276 $ 0  
Acquired 3D Hubs [Member]          
Goodwill, Acquired During Period     $ 280,900    
Acquired 3D Hubs [Member] | Europe [Member]          
Goodwill, Acquired During Period | €   € 106.5      
Acquired 3D Hubs [Member] | UNITED STATES          
Goodwill, Acquired During Period $ 151,300        
XML 63 R46.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 6 - Goodwill and Other Intangible Assets - Changes in Carrying Amount of Goodwill (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Goodwill, balance as of the beginning of the period $ 128,752 $ 128,752
Goodwill acquired during the period 280,925 0
Goodwill, foreign currency translation adjustment (9,067)  
Goodwill, balance as of the end of the period 400,610 128,752
UNITED STATES    
Goodwill, balance as of the beginning of the period 123,883 123,883
Goodwill acquired during the period 151,276 0
Goodwill, foreign currency translation adjustment 0  
Goodwill, balance as of the end of the period 275,159 123,883
Europe [Member]    
Goodwill, balance as of the beginning of the period 4,239 4,239
Goodwill acquired during the period 129,649 0
Goodwill, foreign currency translation adjustment (9,067)  
Goodwill, balance as of the end of the period 124,821 4,239
JAPAN    
Goodwill, balance as of the beginning of the period 630 630
Goodwill acquired during the period 0 0
Goodwill, foreign currency translation adjustment 0  
Goodwill, balance as of the end of the period $ 630 $ 630
XML 64 R47.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 6 - Goodwill and Other Intangible Assets - Intangible Assets Other Than Goodwill (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Gross $ 54,337 $ 24,499
Accumulated Amortization (16,339) (10,149)
Net 37,998 14,350
Accumulated Amortization $ 16,339 10,149
Minimum [Member]    
Useful Life (Year) 2 years  
Maximum [Member]    
Useful Life (Year) 12 years  
Marketing-Related Intangible Assets [Member]    
Gross $ 930 930
Accumulated Amortization (713) (620)
Net $ 217 310
Useful Life (Year) 10 years  
Weighted average useful life remaining (Year) 2 years 3 months 18 days  
Accumulated Amortization $ 713 620
Noncompete Agreements [Member]    
Gross 842 270
Accumulated Amortization (363) (238)
Net $ 479 32
Weighted average useful life remaining (Year) 2 years 10 months 24 days  
Accumulated Amortization $ 363 238
Noncompete Agreements [Member] | Minimum [Member]    
Useful Life (Year) 2 years  
Noncompete Agreements [Member] | Maximum [Member]    
Useful Life (Year) 5 years  
Computer Software, Intangible Asset [Member]    
Gross $ 13,229 13,229
Accumulated Amortization (5,014) (3,645)
Net $ 8,215 9,584
Useful Life (Year) 10 years  
Weighted average useful life remaining (Year) 6 years 6 months  
Accumulated Amortization $ 5,014 3,645
Software Platform [Member]    
Gross 26,725 0
Accumulated Amortization 2,262 0
Net $ 24,463 0
Useful Life (Year) 12 years  
Weighted average useful life remaining (Year) 11 years 1 month 6 days  
Accumulated Amortization $ (2,262) 0
Trade Names [Member]    
Gross 359 0
Accumulated Amortization 114 0
Net $ 245 0
Useful Life (Year) 3 years  
Weighted average useful life remaining (Year) 2 years 1 month 6 days  
Accumulated Amortization $ (114) 0
Customer Relationships [Member]    
Gross 12,252 10,070
Accumulated Amortization (7,873) (5,646)
Net $ 4,379 4,424
Weighted average useful life remaining (Year) 1 year 9 months 18 days  
Accumulated Amortization $ 7,873 $ 5,646
Customer Relationships [Member] | Minimum [Member]    
Useful Life (Year) 3 years  
Customer Relationships [Member] | Maximum [Member]    
Useful Life (Year) 9 years  
XML 65 R48.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 6 - Goodwill and Other Intangible Assets - Estimated Aggregated Amortization Expense (Details) - USD ($)
$ in Thousands
Dec. 31, 2021
Dec. 31, 2020
2022 $ 6,172  
2023 5,968  
2024 3,790  
2025 3,690  
2026 3,586  
Thereafter 14,792  
Total estimated amortization expense $ 37,998 $ 14,350
XML 66 R49.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 7 - Fair Value Measurements (Details Textual)
$ in Thousands
Dec. 31, 2021
USD ($)
Business Combination, Contingent Consideration, Liability, Total $ 0
XML 67 R50.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 7 - Fair Value Measurements - Fair Value of Financial Assets Measured on a Recurring Basis (Details) - USD ($)
$ in Thousands
Dec. 31, 2021
Dec. 31, 2020
Marketable securities $ 25,920  
Fair Value, Recurring [Member] | Fair Value, Inputs, Level 1 [Member]    
Cash and cash equivalents 65,637 $ 72,225
Marketable securities 7,602 0
Total 73,531 127,603
Fair Value, Recurring [Member] | Fair Value, Inputs, Level 1 [Member] | Money Market Funds [Member]    
Cash and cash equivalents 292 55,378
Fair Value, Recurring [Member] | Fair Value, Inputs, Level 2 [Member]    
Cash and cash equivalents 0 0
Marketable securities 18,318 0
Total 18,318 0
Fair Value, Recurring [Member] | Fair Value, Inputs, Level 2 [Member] | Money Market Funds [Member]    
Cash and cash equivalents 0 0
Fair Value, Recurring [Member] | Fair Value, Inputs, Level 3 [Member]    
Cash and cash equivalents 0 0
Marketable securities 0 0
Total 0 0
Fair Value, Recurring [Member] | Fair Value, Inputs, Level 3 [Member] | Money Market Funds [Member]    
Cash and cash equivalents $ 0 $ 0
XML 68 R51.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 8 - Marketable Securities - Short-term and Long-term Available for Sale Securities (Details)
$ in Thousands
Dec. 31, 2021
USD ($)
Amortized Cost $ 26,039
Unrealized Gains 7
Unrealized Losses (126)
Fair Value 25,920
Bank Time Deposits [Member]  
Amortized Cost 1,687
Unrealized Gains 7
Unrealized Losses 0
Fair Value 1,694
US Government Agencies Debt Securities [Member]  
Amortized Cost 2,500
Unrealized Gains 0
Unrealized Losses (12)
Fair Value 2,488
Corporate Debt Securities [Member]  
Amortized Cost 9,303
Unrealized Gains 0
Unrealized Losses (44)
Fair Value 9,259
US States and Political Subdivisions Debt Securities [Member]  
Amortized Cost 12,549
Unrealized Gains 0
Unrealized Losses (70)
Fair Value 12,479
Commercial Paper, Not Included with Cash and Cash Equivalents [Member]  
Amortized Cost 0
Unrealized Gains 0
Unrealized Losses 0
Fair Value $ 0
XML 69 R52.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 8 - Marketable Securities - Short-term and Long-term Held-to-Maturity Securities (Details)
$ in Thousands
Dec. 31, 2020
USD ($)
Amortized Cost $ 93,445
Unrealized Gains 393
Unrealized Losses (23)
Fair Value 93,815
Bank Time Deposits [Member]  
Amortized Cost 5,395
Unrealized Gains 93
Unrealized Losses 0
Fair Value 5,488
US Government Agencies Debt Securities [Member]  
Amortized Cost 18,500
Unrealized Gains 6
Unrealized Losses (10)
Fair Value 18,496
Corporate Debt Securities [Member]  
Amortized Cost 42,048
Unrealized Gains 211
Unrealized Losses (11)
Fair Value 42,248
US States and Political Subdivisions Debt Securities [Member]  
Amortized Cost 25,003
Unrealized Gains 83
Unrealized Losses (2)
Fair Value 25,084
Commercial Paper, Not Included with Cash and Cash Equivalents [Member]  
Amortized Cost 2,499
Unrealized Gains 0
Unrealized Losses 0
Fair Value $ 2,499
XML 70 R53.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 8 - Marketable Securities - Balance of Held-to-maturity Debt Securities by Contractual Maturity (Details)
$ in Thousands
Dec. 31, 2021
USD ($)
Due in one year or less $ 11,580
Due after one year through five years 14,340
Total marketable securities $ 25,920
XML 71 R54.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 9 - Property and Equipment (Details Textual) - USD ($)
$ in Millions
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Depreciation, Total $ 34.3 $ 29.6 $ 27.4
XML 72 R55.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 9 - Property and Equipment - Components of Property and Equipment (Details) - USD ($)
$ in Thousands
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Land $ 15,009 $ 14,028  
Buildings and improvements 107,241 77,285  
Machinery and equipment 234,900 221,301  
Computer hardware and software 81,889 79,207  
Leasehold improvements 8,373 7,821  
Construction in progress 14,489 33,780  
Total 461,901 433,422  
Accumulated depreciation and amortization (181,555) (150,756)  
Property and equipment, net $ 280,346 $ 282,666 $ 263,712
XML 73 R56.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 10 - Inventory - Inventory (Details) - USD ($)
$ in Thousands
Dec. 31, 2021
Dec. 31, 2020
Total inventory $ 13,474 $ 11,122
Allowance for obsolescence (313) (260)
Inventory, net of allowance $ 13,161 $ 10,862
XML 74 R57.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 11 - Financing Obligations (Details Textual) - USD ($)
$ in Thousands
Dec. 31, 2021
Dec. 31, 2020
Long-term Line of Credit, Total $ 0 $ 0
XML 75 R58.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 12 - Employee Benefit Plans (Details Textual) - 401(k) Retirement Plan [Member]
$ in Millions
12 Months Ended
Dec. 31, 2021
USD ($)
Dec. 31, 2020
USD ($)
Dec. 31, 2019
USD ($)
UNITED STATES      
Minimum Number Of Employee Working Hours Required To Be Eligible To Participate In 401K Plan 20    
Minimum Service Period Of Employees To Avail Benefit Under Defined Contribution Benefit Plan (Month) 3 months    
Defined Contribution Plan, Maximum Annual Contributions Per Employee, Percent 50.00%    
Defined Contribution Plan, Employer Discretionary Contribution Amount $ 3.7 $ 3.3 $ 3.1
Foreign Plan [Member]      
Defined Contribution Plan, Employer Discretionary Contribution Amount $ 0.4 $ 0.5 $ 0.3
XML 76 R59.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 13 - Stock-based Compensation (Details Textual) - USD ($)
$ in Millions
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period, Intrinsic Value $ 3.8 $ 5.4 $ 0.9
Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term (Year) 6 years 8 months 12 days    
Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Intrinsic Value $ 0.1    
Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term (Year) 5 years    
Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Intrinsic Value $ 0.1    
Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested in Period, Fair Value $ 2.1 $ 1.8 $ 1.5
ESPP [Member]      
Share-based Compensation Arrangement by Share-based Payment Award, Discount from Market Price, Offering Date 15.00%    
Employee Stock Purchase Plan, Offering Period (Month) 6 months    
Share-based Compensation Arrangement by Share-based Payment Award, Purchase Price of Common Stock, Percent 85.00%    
Shares Issued, Shares, Share-based Payment Arrangement, after Forfeiture, Total (in shares) 67,729 42,235  
Employee Stock Purchase Plan, Weighted Average Purchase Price of Shares Purchased (in shares) 61.96 85.85  
Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Available for Grant (in shares) 1,058,866    
Share-based Payment Arrangement, Option [Member]      
Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period (Year) 10 years    
Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount, Total $ 4.3    
Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition (Year) 2 years 7 months 6 days    
Share-based Payment Arrangement, Option [Member] | Minimum [Member]      
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period (Year) 4 years    
Share-based Payment Arrangement, Option [Member] | Maximum [Member]      
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period (Year) 5 years    
Restricted Stock [Member]      
Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount, Total $ 26.0    
Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition (Year) 2 years 4 months 24 days    
Restricted Stock [Member] | Minimum [Member]      
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period (Year) 3 years    
Restricted Stock [Member] | Maximum [Member]      
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period (Year) 5 years    
Performance Shares [Member]      
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period (Year) 3 years    
Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount, Total $ 0.8    
Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition (Year) 1 year 9 months 18 days    
Percentage of Target Number Capable of Being Earned and Vesting, Lower Limit 0.00%    
Percentage of Target Number Capable of Being Earned and Vesting, Upper Limit 150.00%    
Long-Term Incentive Plan 2012 [Member]      
Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period (Year) 10 years    
XML 77 R60.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 13 - Stock-based Compensation - Stock-based Compensation Expense (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Allocated share-based compensation expense $ 19,095 $ 14,673 $ 10,781
Cost of Sales [Member]      
Allocated share-based compensation expense 2,595 2,451 2,056
Selling and Marketing Expense [Member]      
Allocated share-based compensation expense 3,736 3,121 2,632
Research and Development Expense [Member]      
Allocated share-based compensation expense 2,833 2,440 1,851
General and Administrative Expense [Member]      
Allocated share-based compensation expense 9,931 6,661 4,242
Stock Options, Restricted Stock, and Other [Member]      
Allocated share-based compensation expense 17,553 13,327 9,591
ESPP [Member]      
Allocated share-based compensation expense $ 1,542 $ 1,346 $ 1,190
XML 78 R61.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 13 - Stock-based Compensation - Assumptions Used in the Black-Scholes Option Pricing Model (Details) - Share-based Payment Arrangement, Option [Member] - $ / shares
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Expected life (Year) 6 years 3 months 6 years 3 months 6 years 3 months
Expected dividend yield 0.00% 0.00% 0.00%
Weighted average grant date fair value (in dollars per share) $ 128.14 $ 45.32 $ 47.84
Minimum [Member]      
Risk-free interest rate 0.80% 0.50% 2.35%
Expected volatility 45.28% 42.40% 42.52%
Maximum [Member]      
Risk-free interest rate 1.12% 1.47% 2.58%
Expected volatility 45.53% 43.83% 42.74%
XML 79 R62.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 13 - Stock-based Compensation - Stock Option Activity (Details) - $ / shares
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Options outstanding (in shares) 229,531 276,266 252,616
Options outstanding, weighted-average exercise price (in dollars per share) $ 86.46 $ 72.38 $ 64.71
Granted (in shares) 57,901 60,065 53,708
Granted, weighted-average exercise price (in dollars per share) $ 128.14 $ 105.79 $ 105.81
Exercised (in shares) (28,991) (68,958) (16,079)
Exercised, weighted-average exercise price (in dollars per share) $ 58.78 $ 57.00 $ 48.67
Cancelled (in shares) (25,057) (37,842) (13,979)
Cancelled, weighted-average exercise price (in dollars per share) $ 109.31 $ 67.92 $ 89.50
Options outstanding (in shares) 233,384 229,531 276,266
Options outstanding, weighted-average exercise price (in dollars per share) $ 97.78 $ 86.46 $ 72.38
Options exercisable (in shares) 115,700    
Options exercisable, weighted-average exercise price (in dollars per share) $ 81.30    
XML 80 R63.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 13 - Stock-based Compensation - Information about Stock Options Outstanding (Details) - $ / shares
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Dec. 31, 2018
Options outstanding, vested and expected to vest, number outstanding (in shares) 233,384 229,531 276,266 252,616
Options outstanding, vested and expected to vest, weighted average exercise price (in dollars per share) $ 97.78 $ 86.46 $ 72.38 $ 64.71
Exercise Price Range One [Member]        
Range of exercise prices, lower limit (in dollars per share) $ 7.76      
Options outstanding, vested and expected to vest, number outstanding (in shares) 4,624      
Range of exercise prices, upper limit (in dollars per share) $ 31.43      
Options outstanding, vested and expected to vest, weighted average remaining contractual life (Year) 4 months 6 days      
Options outstanding, vested and expected to vest, weighted average exercise price (in dollars per share) $ 30.58      
Options exercisable, number exercisable (in shares) 4,624      
Options exercisable, weighted average exercise price (in dollars per share) $ 30.58      
Exercise Price Range Two [Member]        
Range of exercise prices, lower limit (in dollars per share) $ 31.44      
Options outstanding, vested and expected to vest, number outstanding (in shares) 50,159      
Range of exercise prices, upper limit (in dollars per share) $ 66.87      
Options outstanding, vested and expected to vest, weighted average remaining contractual life (Year) 3 years 6 months 29 days      
Options outstanding, vested and expected to vest, weighted average exercise price (in dollars per share) $ 57.13      
Options exercisable, number exercisable (in shares) 45,986      
Options exercisable, weighted average exercise price (in dollars per share) $ 57.02      
Exercise Price Range Three [Member]        
Range of exercise prices, lower limit (in dollars per share) $ 66.88      
Options outstanding, vested and expected to vest, number outstanding (in shares) 41,586      
Range of exercise prices, upper limit (in dollars per share) $ 96.20      
Options outstanding, vested and expected to vest, weighted average remaining contractual life (Year) 7 years 9 months 25 days      
Options outstanding, vested and expected to vest, weighted average exercise price (in dollars per share) $ 89.95      
Options exercisable, number exercisable (in shares) 9,570      
Options exercisable, weighted average exercise price (in dollars per share) $ 71.68      
Exercise Price Range Four [Member]        
Range of exercise prices, lower limit (in dollars per share) $ 96.21      
Options outstanding, vested and expected to vest, number outstanding (in shares) 137,015      
Range of exercise prices, upper limit (in dollars per share) $ 123.10      
Options outstanding, vested and expected to vest, weighted average remaining contractual life (Year) 7 years 8 months 1 day      
Options outstanding, vested and expected to vest, weighted average exercise price (in dollars per share) $ 117.31      
Options exercisable, number exercisable (in shares) 55,520      
Options exercisable, weighted average exercise price (in dollars per share) $ 107.28      
XML 81 R64.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 13 - Stock-based Compensation - Restricted Stock Options (Details) - Restricted Stock [Member] - $ / shares
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Restricted stock (in shares) 307,199 314,973 323,921
Restricted stock, weighted-average grant date fair value (in dollars per share) $ 98.87 $ 89.55 $ 79.85
Granted (in shares) 205,996 108,179 115,471
Granted, weighted-average grant date fair value (in dollars per share) $ 123.61 $ 111.76 $ 106.35
Restrictions lapsed (in shares) (115,908) (101,941) (92,597)
Restrictions lapsed, weighted-average grant date fair value (in dollars per share) $ 91.26 $ 84.70 $ 77.25
Forfeited (in shares) (53,505) (14,012) (31,822)
Forfeited, weighted-average grant date fair value (in dollars per share) $ 128.05 $ 94.24 $ 87.58
Restricted stock (in shares) 343,782 307,199 314,973
Restricted stock, weighted-average grant date fair value (in dollars per share) $ 111.79 $ 98.87 $ 89.55
XML 82 R65.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 13 - Stock-based Compensation - Performance Stock (Details) - Performance Shares [Member] - $ / shares
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Performance stock (in shares) 19,956 9,383 52,140
Restricted stock, weighted-average grant date fair value (in dollars per share) $ 118.66 $ 58.35 $ 76.54
Granted (in shares) 15,078 19,956 21,434
Granted, weighted-average grant date fair value (in dollars per share) $ 203.64 $ 118.66 $ 104.99
Restrictions lapsed (in shares) 0 (7,113) 0
Restrictions lapsed, weighted-average grant date fair value (in dollars per share) $ 0 $ 58.35 $ 0
Performance change (in shares) (10,366) 0 (61,816)
Performance change, weighted-average grant date fair value (in dollars per share) $ 192.95 $ 0 $ 88.06
Forfeited (in shares) (7,829) (2,270) (2,375)
Forfeited, weighted-average grant date fair value (in dollars per share) $ 113.91 $ 58.35 $ 105.37
Granted (in shares) 15,078 19,956 21,434
Restrictions lapsed (in shares) 0 (7,113) 0
Performance change, weighted-average grant date fair value (in dollars per share) $ 192.95 $ 0 $ 88.06
Forfeited (in shares) (7,829) (2,270) (2,375)
Performance stock (in shares) 16,839 19,956 9,383
Restricted stock, weighted-average grant date fair value (in dollars per share) $ 115.56 $ 118.66 $ 58.35
XML 83 R66.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 13 - Stock-based Compensation - Assumptions Used in the Valuation of Performance Stock (Details) - Performance Shares [Member]
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Expected life (Year) 6 years 6 years 6 years
Expected dividend yield 0.00% 0.00% 0.00%
Minimum [Member]      
Risk-free interest rate 0.06% 0.12% 1.59%
Expected volatility 53.44% 50.85% 42.63%
Maximum [Member]      
Risk-free interest rate 0.17% 0.17% 2.35%
Expected volatility 65.53% 59.99% 53.57%
XML 84 R67.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 14 - Leases - Balance Sheet Information (Details) - USD ($)
$ in Thousands
Dec. 31, 2021
Dec. 31, 2020
Operating lease assets $ 5,578 $ 9,855
Current operating lease liabilities 3,298 3,272
Long-term operating lease liabilities 2,245 7,586
Total operating lease liabilities 5,543 10,858
Finance lease assets 1,898 2,396
Current finance lease liabilities 550 552
Long-term finance lease liabilities 1,351 1,919
Total finance lease liabilities $ 1,901 $ 2,471
XML 85 R68.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 14 - Leases - Lease Expense (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Operating lease cost $ 3,391 $ 4,191  
Amortization of right-of-use assets 498 143  
Interest on lease obligations 9 2  
Variable lease cost 719 989  
Total lease cost 4,617 5,325  
Operating cash flows from operating leases 10,477 4,426  
Operating cash flows from finance leases 9 2  
Financing cash flows from finance leases 552 154 $ (0)
Lease assets obtained in exchange for new operating lease liabilities 5,293 1,506  
Lease assets obtained in exchange for new financing lease liabilities $ 0 $ 2,523  
XML 86 R69.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 14 - Leases - Maturities of Operating Lease Liabilities (Details) - USD ($)
$ in Thousands
Dec. 31, 2021
Dec. 31, 2020
2022, operating lease $ 2,550  
2022, finance lease 561  
2023, operating lease 1,308  
2023, finance lease 1,352  
2024, operating lease 751  
2024, finance lease 0  
2025, operating lease 711  
2025, finance lease 0  
2026, operating lease 344  
2026, finance lease 0  
After 2027, operating lease 0  
After 2027, finance lease 0  
Total future minimum lease payments, operating lease 5,664  
Total future minimum lease payments, finance lease 1,913  
Less interest, operating lease (121)  
Less interest, finance lease (12)  
Present value of lease liabilities, operating lease 5,543 $ 10,858
Present value of lease liabilities $ 1,901 $ 2,471
XML 87 R70.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 14 - Leases - Weighted Average Remaining Terms and Discount Rates (Details)
Dec. 31, 2021
Dec. 31, 2020
Weighted Average Remaining Lease Term - operating leases (years) (Year) 3 years 1 month 6 days 4 years 4 months 24 days
Weighted Average Remaining Lease Term - finance leases (years) (Year) 1 year 6 months  
Weighted Average Discount Rate - operating leases 1.60% 2.60%
Weighted Average Discount Rate - finance leases 0.40% 0.50%
XML 88 R71.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 15 - Accumulated Other Comprehensive Income (Loss) - Other Comprehensive Loss (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Balance at beginning of period $ 644,356 $ 585,790 $ 541,497
Balance at end of period 828,493 644,356 585,790
AOCI Attributable to Parent [Member]      
Balance at beginning of period (3,420) (7,018) (8,492)
Balance at end of period (16,817) (3,420) (7,018)
Accumulated Foreign Currency Adjustment Attributable to Parent [Member]      
Other comprehensive (loss) income before reclassifications (13,278) 3,598 1,474
Net current-period other comprehensive (loss) income (13,278) 3,598 1,474
AOCI, Accumulated Gain (Loss), Debt Securities, Available-for-sale, Parent [Member]      
Other comprehensive (loss) income before reclassifications (119) 0 0
Net current-period other comprehensive (loss) income $ (119) $ 0 $ 0
XML 89 R72.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 16 - Income Taxes (Details Textual) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Income Tax Expense (Benefit), Total $ 6,812 $ 12,078 $ 17,538
Effective Income Tax Rate Reconciliation, Percent, Total 17.00% 19.20% 21.60%
Effective Income Tax Rate Continuing Operations Increase (Decrease) During the Period 2.20%    
Increase (Decrease) in Income Taxes Payable, CARES Act $ (2,900)    
Deferred Tax Liability Not Recognized, Amount of Unrecognized Deferred Tax Liability, Undistributed Earnings of Foreign Subsidiaries 0    
Undistributed Earnings of Foreign Subsidiaries 2,700    
Operating Loss Carryforwards, Total $ 14,000    
Operating Loss Carryforwards, Expiration Period (Year) 10 years    
Deferred Tax Assets, Valuation Allowance, Total $ 13,999 $ 9,138  
Unrecognized Tax Benefits, Ending Balance $ 4,364 $ 4,830 $ 4,598
GERMANY      
Operating Loss Carryforwards, Percentage of Taxable Income 60.00%    
NETHERLANDS      
Operating Loss Carryforwards, Percentage of Taxable Income 50.00%    
XML 90 R73.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 16 - Income Taxes - Components of Income (Loss) Before Income Taxes (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Domestic $ 42,449 $ 58,551 $ 74,841
Foreign (2,265) 4,394 6,352
Income before income taxes $ 40,184 $ 62,945 $ 81,193
XML 91 R74.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 16 - Income Taxes - Significant Components of Provision for Income Taxes (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Current:      
Federal $ 5,552 $ 2,128 $ 6,991
State 975 1,136 2,882
Foreign (64) 1,241 1,544
Deferred      
Federal (377) 6,904 5,121
State (814) (431) 269
Foreign (1,181) 210 (809)
Valuation Allowance 2,721 890 1,540
Total $ 6,812 $ 12,078 $ 17,538
XML 92 R75.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 16 - Income Taxes - Reconciliation of Federal Statutory Income Tax Rate to Effective Tax Rate (Details)
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Federal tax statutory rate 21.00% 21.00% 21.00%
State tax (net of federal benefit) 2.10% 2.10% 2.10%
Share based compensation (2.30%) (1.30%) (0.50%)
Valuation allowance against deferred tax assets 8.90% 2.00% 1.40%
Contingent consideration reduction (7.00%) 0.00% 0.00%
Research and development credit (4.00%) (3.70%) (2.80%)
Foreign rate differential (2.20%) (0.80%) (0.30%)
Tax reserves (1.00%) 1.40% 1.10%
Provision to return difference (0.70%) (1.40%) 0.00%
Miscellaneous 2.20% (0.10%) (0.40%)
Total 17.00% 19.20% 21.60%
XML 93 R76.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 16 - Income Taxes - Significant Components of Deferred Tax Assets and Liabilities (Details) - USD ($)
$ in Thousands
Dec. 31, 2021
Dec. 31, 2020
Deferred tax assets:    
Accrued expenses $ 2,511 $ 2,155
Leases 1,830 3,598
Warrants and stock options 4,271 3,356
Intangible assets 0 1,693
Inventories 205 172
Research and development credit 2,126 1,661
Other assets 1,111 129
Net operating loss 14,046 6,647
Less valuation allowance (13,999) (9,138)
Total deferred tax assets 12,101 10,273
Deferred tax liabilities:    
Depreciation (31,897) (32,671)
Goodwill (9,872) (7,858)
Intangible assets (4,394) 0
Leases (1,830) (3,598)
Total deferred tax liabilities (47,993) (44,127)
Net deferred tax liability $ (35,892) $ (33,854)
XML 94 R77.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 16 - Income Taxes - Reconciliation of Beginning and Ending Amount of Unrecognized Tax Benefits (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Balance $ 4,830 $ 4,598
Additions for tax positions of current year 491 324
Additions for tax positions of prior years 781 475
Decrease related to expiration of statutes of limitations (1,738) (567)
Balance $ 4,364 $ 4,830
XML 95 R78.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 18 - Segment Reporting - Revenue From Operations by Reportable Segment (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Revenue $ 488,098 $ 434,395 $ 458,728
Operating Segments [Member]      
Revenue 488,098 434,395 458,728
Operating Segments [Member] | United States Segment [Member]      
Revenue 384,458 345,708 360,205
Operating Segments [Member] | Europe Segment [Member]      
Revenue 90,399 74,796 82,805
Operating Segments [Member] | Japan Segment [Member]      
Revenue $ 13,241 $ 13,891 $ 15,718
XML 96 R79.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 18 - Segment Reporting - Income From Operations (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Income from operations $ 40,342 $ 59,836 $ 79,856
Operating Segments [Member] | United States Segment [Member]      
Income from operations 98,001 98,762 108,594
Operating Segments [Member] | Europe Segment [Member]      
Income from operations 730 11,707 15,077
Operating Segments [Member] | Corporate Unallocated and Japan Segment[Member]      
Income from operations $ (58,389) $ (50,633) $ (43,815)
XML 97 R80.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 18 - Segment Reporting - Long-lived Assets by Geographic Region (Details) - USD ($)
$ in Thousands
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Long-lived assets $ 280,346 $ 282,666 $ 263,712
Operating Segments [Member] | United States Segment [Member]      
Long-lived assets 215,701 215,721 210,171
Operating Segments [Member] | Europe Segment [Member]      
Long-lived assets 59,388 59,388 45,019
Operating Segments [Member] | Japan Segment [Member]      
Long-lived assets $ 5,257 $ 7,557 $ 8,522
XML 98 R81.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 18 - Segment Reporting - Expenditures for Additions to Long-lived Assets (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Expenditures for additions to long-lived assets $ 34,209 $ 47,010 $ 62,230
UNITED STATES      
Expenditures for additions to long-lived assets 26,698 29,984 45,123
Europe [Member]      
Expenditures for additions to long-lived assets 7,378 16,574 14,743
JAPAN      
Expenditures for additions to long-lived assets $ 133 $ 452 $ 2,364
XML 99 R82.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 18 - Segment Reporting - Depreciation and Amortization (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Depreciation and amortization $ 40,488 $ 32,594 $ 30,864
UNITED STATES      
Depreciation and amortization 31,642 25,744 24,767
Europe [Member]      
Depreciation and amortization 7,101 5,024 4,746
JAPAN      
Depreciation and amortization $ 1,745 $ 1,826 $ 1,351
XML 100 prlb20211231_10k_htm.xml IDEA: XBRL DOCUMENT 0001443669 2021-01-01 2021-12-31 0001443669 2021-06-30 0001443669 2022-02-09 0001443669 2021-12-31 0001443669 2020-12-31 0001443669 2020-01-01 2020-12-31 0001443669 2019-01-01 2019-12-31 0001443669 us-gaap:CommonStockMember 2018-12-31 0001443669 us-gaap:AdditionalPaidInCapitalMember 2018-12-31 0001443669 us-gaap:RetainedEarningsMember 2018-12-31 0001443669 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2018-12-31 0001443669 2018-12-31 0001443669 us-gaap:CommonStockMember 2019-01-01 2019-12-31 0001443669 us-gaap:AdditionalPaidInCapitalMember 2019-01-01 2019-12-31 0001443669 us-gaap:RetainedEarningsMember 2019-01-01 2019-12-31 0001443669 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-01-01 2019-12-31 0001443669 us-gaap:CommonStockMember 2019-12-31 0001443669 us-gaap:AdditionalPaidInCapitalMember 2019-12-31 0001443669 us-gaap:RetainedEarningsMember 2019-12-31 0001443669 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-12-31 0001443669 2019-12-31 0001443669 us-gaap:CommonStockMember 2020-01-01 2020-12-31 0001443669 us-gaap:AdditionalPaidInCapitalMember 2020-01-01 2020-12-31 0001443669 us-gaap:RetainedEarningsMember 2020-01-01 2020-12-31 0001443669 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-01-01 2020-12-31 0001443669 us-gaap:CommonStockMember 2020-12-31 0001443669 us-gaap:AdditionalPaidInCapitalMember 2020-12-31 0001443669 us-gaap:RetainedEarningsMember 2020-12-31 0001443669 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-12-31 0001443669 us-gaap:CommonStockMember 2021-01-01 2021-12-31 0001443669 us-gaap:AdditionalPaidInCapitalMember 2021-01-01 2021-12-31 0001443669 us-gaap:RetainedEarningsMember 2021-01-01 2021-12-31 0001443669 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-01-01 2021-12-31 0001443669 us-gaap:CommonStockMember 2021-12-31 0001443669 us-gaap:AdditionalPaidInCapitalMember 2021-12-31 0001443669 us-gaap:RetainedEarningsMember 2021-12-31 0001443669 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-12-31 0001443669 srt:MinimumMember 2021-01-01 2021-12-31 0001443669 srt:MaximumMember 2021-01-01 2021-12-31 0001443669 srt:MinimumMember us-gaap:EquipmentMember 2021-01-01 2021-12-31 0001443669 srt:MaximumMember us-gaap:EquipmentMember 2021-01-01 2021-12-31 0001443669 srt:MinimumMember prlb:OfficeFurnitureAndEquipmentMember 2021-01-01 2021-12-31 0001443669 srt:MaximumMember prlb:OfficeFurnitureAndEquipmentMember 2021-01-01 2021-12-31 0001443669 srt:MinimumMember us-gaap:ComputerEquipmentMember 2021-01-01 2021-12-31 0001443669 srt:MaximumMember us-gaap:ComputerEquipmentMember 2021-01-01 2021-12-31 0001443669 us-gaap:BuildingMember 2021-01-01 2021-12-31 0001443669 srt:MinimumMember us-gaap:LandBuildingsAndImprovementsMember 2021-01-01 2021-12-31 0001443669 srt:MaximumMember us-gaap:LandBuildingsAndImprovementsMember 2021-01-01 2021-12-31 0001443669 srt:MinimumMember prlb:OfficeSpaceManufacturingFacilitiesAndCertainCompanyVehiclesAndEquipmentMember 2021-12-31 0001443669 srt:MaximumMember prlb:OfficeSpaceManufacturingFacilitiesAndCertainCompanyVehiclesAndEquipmentMember 2021-12-31 0001443669 country:US 2021-01-01 2021-12-31 0001443669 country:US 2020-01-01 2020-12-31 0001443669 country:US 2019-01-01 2019-12-31 0001443669 srt:EuropeMember 2021-01-01 2021-12-31 0001443669 srt:EuropeMember 2020-01-01 2020-12-31 0001443669 srt:EuropeMember 2019-01-01 2019-12-31 0001443669 country:JP 2021-01-01 2021-12-31 0001443669 country:JP 2020-01-01 2020-12-31 0001443669 country:JP 2019-01-01 2019-12-31 0001443669 prlb:InjectionMoldingProtomoldMember 2021-01-01 2021-12-31 0001443669 prlb:InjectionMoldingProtomoldMember 2020-01-01 2020-12-31 0001443669 prlb:InjectionMoldingProtomoldMember 2019-01-01 2019-12-31 0001443669 prlb:CNCMachiningFirstcutMember 2021-01-01 2021-12-31 0001443669 prlb:CNCMachiningFirstcutMember 2020-01-01 2020-12-31 0001443669 prlb:CNCMachiningFirstcutMember 2019-01-01 2019-12-31 0001443669 prlb:ThreeDPrintingFinelineMember 2021-01-01 2021-12-31 0001443669 prlb:ThreeDPrintingFinelineMember 2020-01-01 2020-12-31 0001443669 prlb:ThreeDPrintingFinelineMember 2019-01-01 2019-12-31 0001443669 prlb:SheetMetalMember 2021-01-01 2021-12-31 0001443669 prlb:SheetMetalMember 2020-01-01 2020-12-31 0001443669 prlb:SheetMetalMember 2019-01-01 2019-12-31 0001443669 prlb:OtherProductsMember 2021-01-01 2021-12-31 0001443669 prlb:OtherProductsMember 2020-01-01 2020-12-31 0001443669 prlb:OtherProductsMember 2019-01-01 2019-12-31 0001443669 prlb:Acquired3dHubsMember 2021-01-22 2021-01-22 0001443669 prlb:Acquired3dHubsMember 2021-01-22 0001443669 prlb:Acquired3dHubsMember us-gaap:CashMember 2021-01-22 2021-12-31 0001443669 srt:MaximumMember prlb:Acquired3dHubsMember us-gaap:CommonStockMember 2021-01-22 2021-01-22 0001443669 srt:MaximumMember prlb:Acquired3dHubsMember us-gaap:CommonStockMember 2021-01-22 0001443669 prlb:Acquired3dHubsMember 2021-01-01 2021-12-31 0001443669 prlb:Acquired3dHubsMember 2021-12-31 0001443669 country:US 2019-12-31 0001443669 country:US 2020-12-31 0001443669 country:US 2021-12-31 0001443669 srt:EuropeMember 2019-12-31 0001443669 srt:EuropeMember 2020-12-31 0001443669 srt:EuropeMember 2021-12-31 0001443669 country:JP 2019-12-31 0001443669 country:JP 2020-12-31 0001443669 country:JP 2021-12-31 0001443669 srt:EuropeMember prlb:Acquired3dHubsMember 2021-01-22 2021-01-22 0001443669 country:US prlb:Acquired3dHubsMember 2021-01-22 2021-01-22 0001443669 us-gaap:MarketingRelatedIntangibleAssetsMember 2021-12-31 0001443669 us-gaap:MarketingRelatedIntangibleAssetsMember 2020-12-31 0001443669 us-gaap:MarketingRelatedIntangibleAssetsMember 2021-01-01 2021-12-31 0001443669 us-gaap:NoncompeteAgreementsMember 2021-12-31 0001443669 us-gaap:NoncompeteAgreementsMember 2020-12-31 0001443669 srt:MinimumMember us-gaap:NoncompeteAgreementsMember 2021-01-01 2021-12-31 0001443669 srt:MaximumMember us-gaap:NoncompeteAgreementsMember 2021-01-01 2021-12-31 0001443669 us-gaap:NoncompeteAgreementsMember 2021-01-01 2021-12-31 0001443669 us-gaap:ComputerSoftwareIntangibleAssetMember 2021-12-31 0001443669 us-gaap:ComputerSoftwareIntangibleAssetMember 2020-12-31 0001443669 us-gaap:ComputerSoftwareIntangibleAssetMember 2021-01-01 2021-12-31 0001443669 prlb:SoftwarePlatformMember 2021-12-31 0001443669 prlb:SoftwarePlatformMember 2020-12-31 0001443669 prlb:SoftwarePlatformMember 2021-01-01 2021-12-31 0001443669 us-gaap:TradeNamesMember 2021-12-31 0001443669 us-gaap:TradeNamesMember 2020-12-31 0001443669 us-gaap:TradeNamesMember 2021-01-01 2021-12-31 0001443669 us-gaap:CustomerRelationshipsMember 2021-12-31 0001443669 us-gaap:CustomerRelationshipsMember 2020-12-31 0001443669 srt:MinimumMember us-gaap:CustomerRelationshipsMember 2021-01-01 2021-12-31 0001443669 srt:MaximumMember us-gaap:CustomerRelationshipsMember 2021-01-01 2021-12-31 0001443669 us-gaap:CustomerRelationshipsMember 2021-01-01 2021-12-31 0001443669 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2021-12-31 0001443669 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2021-12-31 0001443669 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2021-12-31 0001443669 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2020-12-31 0001443669 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2020-12-31 0001443669 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2020-12-31 0001443669 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2021-12-31 0001443669 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2021-12-31 0001443669 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2021-12-31 0001443669 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2020-12-31 0001443669 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2020-12-31 0001443669 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2020-12-31 0001443669 us-gaap:USGovernmentAgenciesDebtSecuritiesMember 2021-12-31 0001443669 us-gaap:CorporateDebtSecuritiesMember 2021-12-31 0001443669 us-gaap:USStatesAndPoliticalSubdivisionsMember 2021-12-31 0001443669 us-gaap:CommercialPaperNotIncludedWithCashAndCashEquivalentsMember 2021-12-31 0001443669 us-gaap:BankTimeDepositsMember 2021-12-31 0001443669 us-gaap:USGovernmentAgenciesDebtSecuritiesMember 2020-12-31 0001443669 us-gaap:CorporateDebtSecuritiesMember 2020-12-31 0001443669 us-gaap:USStatesAndPoliticalSubdivisionsMember 2020-12-31 0001443669 us-gaap:CommercialPaperNotIncludedWithCashAndCashEquivalentsMember 2020-12-31 0001443669 us-gaap:BankTimeDepositsMember 2020-12-31 0001443669 country:US prlb:The401KRetirementPlanMember 2021-01-01 2021-12-31 0001443669 country:US prlb:The401KRetirementPlanMember 2020-01-01 2020-12-31 0001443669 country:US prlb:The401KRetirementPlanMember 2019-01-01 2019-12-31 0001443669 us-gaap:ForeignPlanMember prlb:The401KRetirementPlanMember 2021-01-01 2021-12-31 0001443669 us-gaap:ForeignPlanMember prlb:The401KRetirementPlanMember 2020-01-01 2020-12-31 0001443669 us-gaap:ForeignPlanMember prlb:The401KRetirementPlanMember 2019-01-01 2019-12-31 0001443669 prlb:LongtermIncentivePlan2012Member 2021-01-01 2021-12-31 0001443669 prlb:ESPPMember 2021-01-01 2021-12-31 0001443669 prlb:ESPPMember 2020-01-01 2020-12-31 0001443669 prlb:ESPPMember 2021-12-31 0001443669 prlb:StockOptionsRestrictedStockAndOtherMember 2021-01-01 2021-12-31 0001443669 prlb:StockOptionsRestrictedStockAndOtherMember 2020-01-01 2020-12-31 0001443669 prlb:StockOptionsRestrictedStockAndOtherMember 2019-01-01 2019-12-31 0001443669 prlb:ESPPMember 2019-01-01 2019-12-31 0001443669 us-gaap:CostOfSalesMember 2021-01-01 2021-12-31 0001443669 us-gaap:CostOfSalesMember 2020-01-01 2020-12-31 0001443669 us-gaap:CostOfSalesMember 2019-01-01 2019-12-31 0001443669 us-gaap:SellingAndMarketingExpenseMember 2021-01-01 2021-12-31 0001443669 us-gaap:SellingAndMarketingExpenseMember 2020-01-01 2020-12-31 0001443669 us-gaap:SellingAndMarketingExpenseMember 2019-01-01 2019-12-31 0001443669 us-gaap:ResearchAndDevelopmentExpenseMember 2021-01-01 2021-12-31 0001443669 us-gaap:ResearchAndDevelopmentExpenseMember 2020-01-01 2020-12-31 0001443669 us-gaap:ResearchAndDevelopmentExpenseMember 2019-01-01 2019-12-31 0001443669 us-gaap:GeneralAndAdministrativeExpenseMember 2021-01-01 2021-12-31 0001443669 us-gaap:GeneralAndAdministrativeExpenseMember 2020-01-01 2020-12-31 0001443669 us-gaap:GeneralAndAdministrativeExpenseMember 2019-01-01 2019-12-31 0001443669 srt:MinimumMember us-gaap:EmployeeStockOptionMember 2021-01-01 2021-12-31 0001443669 srt:MaximumMember us-gaap:EmployeeStockOptionMember 2021-01-01 2021-12-31 0001443669 srt:MinimumMember us-gaap:EmployeeStockOptionMember 2020-01-01 2020-12-31 0001443669 srt:MaximumMember us-gaap:EmployeeStockOptionMember 2020-01-01 2020-12-31 0001443669 srt:MinimumMember us-gaap:EmployeeStockOptionMember 2019-01-01 2019-12-31 0001443669 srt:MaximumMember us-gaap:EmployeeStockOptionMember 2019-01-01 2019-12-31 0001443669 us-gaap:EmployeeStockOptionMember 2021-01-01 2021-12-31 0001443669 us-gaap:EmployeeStockOptionMember 2020-01-01 2020-12-31 0001443669 us-gaap:EmployeeStockOptionMember 2019-01-01 2019-12-31 0001443669 prlb:ExercisePriceRangeOneMember 2021-01-01 2021-12-31 0001443669 prlb:ExercisePriceRangeOneMember 2021-12-31 0001443669 prlb:ExercisePriceRangeTwoMember 2021-01-01 2021-12-31 0001443669 prlb:ExercisePriceRangeTwoMember 2021-12-31 0001443669 prlb:ExercisePriceRangeThreeMember 2021-01-01 2021-12-31 0001443669 prlb:ExercisePriceRangeThreeMember 2021-12-31 0001443669 prlb:ExercisePriceRangeFourMember 2021-01-01 2021-12-31 0001443669 prlb:ExercisePriceRangeFourMember 2021-12-31 0001443669 us-gaap:EmployeeStockOptionMember 2021-12-31 0001443669 srt:MinimumMember us-gaap:RestrictedStockMember 2021-01-01 2021-12-31 0001443669 srt:MaximumMember us-gaap:RestrictedStockMember 2021-01-01 2021-12-31 0001443669 us-gaap:RestrictedStockMember 2018-12-31 0001443669 us-gaap:RestrictedStockMember 2019-01-01 2019-12-31 0001443669 us-gaap:RestrictedStockMember 2019-12-31 0001443669 us-gaap:RestrictedStockMember 2020-01-01 2020-12-31 0001443669 us-gaap:RestrictedStockMember 2020-12-31 0001443669 us-gaap:RestrictedStockMember 2021-01-01 2021-12-31 0001443669 us-gaap:RestrictedStockMember 2021-12-31 0001443669 us-gaap:PerformanceSharesMember 2021-12-31 0001443669 us-gaap:PerformanceSharesMember 2021-01-01 2021-12-31 0001443669 us-gaap:PerformanceSharesMember 2018-12-31 0001443669 us-gaap:PerformanceSharesMember 2019-01-01 2019-12-31 0001443669 us-gaap:PerformanceSharesMember 2019-12-31 0001443669 us-gaap:PerformanceSharesMember 2020-01-01 2020-12-31 0001443669 us-gaap:PerformanceSharesMember 2020-12-31 0001443669 srt:MinimumMember us-gaap:PerformanceSharesMember 2021-01-01 2021-12-31 0001443669 srt:MaximumMember us-gaap:PerformanceSharesMember 2021-01-01 2021-12-31 0001443669 srt:MinimumMember us-gaap:PerformanceSharesMember 2020-01-01 2020-12-31 0001443669 srt:MaximumMember us-gaap:PerformanceSharesMember 2020-01-01 2020-12-31 0001443669 srt:MinimumMember us-gaap:PerformanceSharesMember 2019-01-01 2019-12-31 0001443669 srt:MaximumMember us-gaap:PerformanceSharesMember 2019-01-01 2019-12-31 0001443669 us-gaap:AccumulatedTranslationAdjustmentMember 2021-01-01 2021-12-31 0001443669 us-gaap:AccumulatedTranslationAdjustmentMember 2020-01-01 2020-12-31 0001443669 us-gaap:AccumulatedTranslationAdjustmentMember 2019-01-01 2019-12-31 0001443669 us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember 2021-01-01 2021-12-31 0001443669 us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember 2020-01-01 2020-12-31 0001443669 us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember 2019-01-01 2019-12-31 0001443669 country:DE 2021-01-01 2021-12-31 0001443669 country:NL 2021-01-01 2021-12-31 0001443669 us-gaap:OperatingSegmentsMember prlb:UnitedStatesSegmentMember 2021-01-01 2021-12-31 0001443669 us-gaap:OperatingSegmentsMember prlb:UnitedStatesSegmentMember 2020-01-01 2020-12-31 0001443669 us-gaap:OperatingSegmentsMember prlb:UnitedStatesSegmentMember 2019-01-01 2019-12-31 0001443669 us-gaap:OperatingSegmentsMember prlb:EuropeSegmentMember 2021-01-01 2021-12-31 0001443669 us-gaap:OperatingSegmentsMember prlb:EuropeSegmentMember 2020-01-01 2020-12-31 0001443669 us-gaap:OperatingSegmentsMember prlb:EuropeSegmentMember 2019-01-01 2019-12-31 0001443669 us-gaap:OperatingSegmentsMember prlb:JapanSegmentMember 2021-01-01 2021-12-31 0001443669 us-gaap:OperatingSegmentsMember prlb:JapanSegmentMember 2020-01-01 2020-12-31 0001443669 us-gaap:OperatingSegmentsMember prlb:JapanSegmentMember 2019-01-01 2019-12-31 0001443669 us-gaap:OperatingSegmentsMember 2021-01-01 2021-12-31 0001443669 us-gaap:OperatingSegmentsMember 2020-01-01 2020-12-31 0001443669 us-gaap:OperatingSegmentsMember 2019-01-01 2019-12-31 0001443669 us-gaap:OperatingSegmentsMember prlb:CorporateUnallocatedAndJapanSegmentMember 2021-01-01 2021-12-31 0001443669 us-gaap:OperatingSegmentsMember prlb:CorporateUnallocatedAndJapanSegmentMember 2020-01-01 2020-12-31 0001443669 us-gaap:OperatingSegmentsMember prlb:CorporateUnallocatedAndJapanSegmentMember 2019-01-01 2019-12-31 0001443669 us-gaap:OperatingSegmentsMember prlb:UnitedStatesSegmentMember 2021-12-31 0001443669 us-gaap:OperatingSegmentsMember prlb:UnitedStatesSegmentMember 2020-12-31 0001443669 us-gaap:OperatingSegmentsMember prlb:UnitedStatesSegmentMember 2019-12-31 0001443669 us-gaap:OperatingSegmentsMember prlb:EuropeSegmentMember 2021-12-31 0001443669 us-gaap:OperatingSegmentsMember prlb:EuropeSegmentMember 2020-12-31 0001443669 us-gaap:OperatingSegmentsMember prlb:EuropeSegmentMember 2019-12-31 0001443669 us-gaap:OperatingSegmentsMember prlb:JapanSegmentMember 2021-12-31 0001443669 us-gaap:OperatingSegmentsMember prlb:JapanSegmentMember 2020-12-31 0001443669 us-gaap:OperatingSegmentsMember prlb:JapanSegmentMember 2019-12-31 iso4217:USD shares thunderdome:item iso4217:USD shares utr:Y iso4217:EUR pure utr:M 0001443669 Proto Labs Inc false --12-31 FY 2021 1948000 1781000 0.001 0.001 10000000 10000000 0 0 0 0 0.001 0.001 150000000 150000000 27465945 27465945 26776796 26776796 P2Y P1Y P8Y 106500000 0 0 P3M P10Y P6M P4Y P5Y 7.76 31.43 31.44 66.87 66.88 96.20 96.21 123.10 P3Y P5Y 0 P3Y P1Y6M 0.004 0.005 P10Y 10-K true 2021-12-31 false 001-35435 MN 41-1939628 5540 Pioneer Creek Drive Maple Plain MN 55359 763 479-3680 Common Stock, Par Value $0.001 Per Share PRLB NYSE Yes No Yes Yes Large Accelerated Filer false false true false 2500000000 27466902 42 Ernst & Young LLP Minneapolis, Minnesota 65929000 127603000 11580000 34088000 80051000 57877000 13161000 10862000 11450000 11032000 1321000 540000 183492000 242002000 280346000 282666000 400610000 128752000 37998000 14350000 14340000 59357000 5578000 9855000 1898000 2396000 4320000 4826000 928582000 744204000 25364000 18248000 13704000 11989000 11980000 16193000 3298000 3272000 550000 552000 54896000 50254000 2245000 7586000 1351000 1919000 35892000 33854000 5705000 6235000 100089000 99848000 0 0 28000 27000 468548000 284848000 376734000 362901000 -16817000 -3420000 828493000 644356000 928582000 744204000 488098000 434395000 458728000 265407000 216568000 223438000 222691000 217827000 235290000 82175000 69309000 72976000 44241000 36940000 32692000 55933000 51742000 49766000 182349000 157991000 155434000 40342000 59836000 79856000 -158000 3109000 1337000 40184000 62945000 81193000 6812000 12078000 17538000 33372000 50867000 63655000 1.21 1.90 2.37 1.21 1.89 2.35 27617627 26737425 26866985 27653099 26896357 27049423 -13278000 3598000 1474000 -119000 0 0 19975000 54465000 65129000 26984747 27000 258502000 291460000 -8492000 541497000 128174 1904000 1904000 10781000 10781000 326462 63655000 63655000 1474000 1474000 65129000 26786459 27000 268059000 324722000 -7018000 585790000 189951 4114000 4114000 14673000 14673000 199614 1998000 12688000 14686000 50867000 50867000 3598000 3598000 54465000 26776796 27000 284848000 362901000 -3420000 644356000 0 1637000 0 0 1637000 863995 1000 166708000 166709000 19095000 19095000 351582 3740000 19539000 23279000 33372000 33372000 -13278000 -13278000 -119000 -119000 19975000 27465945 28000 468548000 376734000 -16817000 828493000 33372000 50867000 63655000 40488000 32594000 30864000 19095000 14673000 10781000 339000 7577000 6106000 -0 -415000 -5000 -567000 -0 -0 -13253000 0 0 -275000 336000 -391000 20112000 91000 -1848000 2390000 662000 -60000 -64000 1680000 -545000 -774000 -1960000 6555000 4654000 1492000 -719000 -7083000 4080000 -4039000 55242000 106969000 116052000 34209000 47010000 62230000 127413000 -0 -0 -0 3000000 4000000 16159000 113200000 46403000 64913000 0 0 18204000 67737000 68330000 -94664000 -95473000 -44303000 5862000 7557000 4391000 4225000 3443000 2487000 23279000 14686000 33521000 552000 154000 -0 -4000 0 0 -22198000 -10726000 -31617000 -54000 1608000 47000 -61674000 2378000 40179000 127603000 125225000 85046000 65929000 127603000 125225000 28000 23000 14000 7583000 5650000 4002000 <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;"><b>Note <em style="font: inherit;">1</em> — Nature of Business</b></p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"><b> </b></p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><i><b>Organization and business</b></i></p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">Proto Labs, Inc. and its subsidiaries (Proto Labs, the Company, we, us, or our) is a digital manufacturer of custom prototypes and on-demand production parts. The Company utilizes injection molding, computer numerical control (CNC) machining, <em style="font: inherit;">3D</em> printing and sheet metal fabrication to manufacture custom parts for its customers. The Company's customers conduct nearly all of their business over the internet. The Company targets its products to the millions of product developers and engineers who use <em style="font: inherit;">three</em>-dimensional computer-aided design (<em style="font: inherit;">3D</em> CAD) software to design products across a diverse range of end-markets. In addition, the Company serves procurement and supply chain professionals seeking to manufacture custom parts on-demand. The Company has established operations in the United States, Europe and Japan, which the Company believes are among the largest geographic markets where these product developers and engineers are located. Through the acquisition of Hubs in <em style="font: inherit;">2021,</em> the Company is able to provide its customers access to a global network of premium manufacturing partners who reside across North America, Europe and Asia, complementing its in-house manufacturing. Proto Labs, Inc. is headquartered in Maple Plain, Minnesota. The Company’s subsidiaries are:</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:18pt;"> </p> <hr style="text-align: center;height: 1px; color: #000000; background-color: #000000; width: 80%; border: none; margin: 0 auto 0 auto;"/> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:18pt;"><b> </b> </p> <table cellpadding="0" cellspacing="0" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 80%; margin-left: 10%; margin-right: 10%;"> <tbody> <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 4.2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: top; width: 35.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Name</b></p> </td> <td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 14.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 2.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="3" style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: top; width: 44.2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Location</b></p> </td> </tr> <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="vertical-align: top; width: 4.2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="vertical-align: top; width: 35.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="vertical-align: top; width: 14.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="vertical-align: top; width: 2.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="3" style="vertical-align: top; width: 14.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"> <td style="vertical-align: top; width: 4.2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="vertical-align: top; width: 35.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">PL-US International LLC</p> </td> <td style="vertical-align: top; width: 14.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="vertical-align: top; width: 2.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="3" style="vertical-align: top; width: 14.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">United States</p> </td> </tr> <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"> <td style="vertical-align: top; width: 4.2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="vertical-align: top; width: 35.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Hubs Manufacturing Inc.</p> </td> <td style="vertical-align: top; width: 14.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="vertical-align: top; width: 2.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="vertical-align: top; width: 14.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="vertical-align: top; width: 15.6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">United States</p> </td> <td style="vertical-align: top; width: 14.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"> <td style="vertical-align: top; width: 4.2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="vertical-align: top; width: 35.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><em style="font: inherit;">3D</em> Hubs Manufacturing LLC</p> </td> <td style="vertical-align: top; width: 14.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="vertical-align: top; width: 2.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="vertical-align: top; width: 14.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="vertical-align: top; width: 15.6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">United States</p> </td> <td style="vertical-align: top; width: 14.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"> <td style="vertical-align: top; width: 4.2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="vertical-align: top; width: 35.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Proto Labs Ltd.</p> </td> <td style="vertical-align: top; width: 14.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="vertical-align: top; width: 2.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="3" style="vertical-align: top; width: 14.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">United Kingdom</p> </td> </tr> <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"> <td style="vertical-align: top; width: 4.2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="vertical-align: top; width: 35.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">PL International Holdings, UK, Ltd.</p> </td> <td style="vertical-align: top; width: 14.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="vertical-align: top; width: 2.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="3" style="vertical-align: top; width: 14.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">United Kingdom</p> </td> </tr> <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"> <td style="vertical-align: top; width: 4.2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="vertical-align: top; width: 35.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">PL Euro Services Limited</p> </td> <td style="vertical-align: top; width: 14.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="vertical-align: top; width: 2.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="3" style="vertical-align: top; width: 14.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">United Kingdom</p> </td> </tr> <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"> <td style="vertical-align: top; width: 4.2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="vertical-align: top; width: 35.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Proto Labs GmbH</p> </td> <td style="vertical-align: top; width: 14.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="vertical-align: top; width: 2.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="3" style="vertical-align: top; width: 14.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">Germany</p> </td> </tr> <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"> <td style="vertical-align: top; width: 4.2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="vertical-align: top; width: 35.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Proto Labs Tooling GmbH</p> </td> <td style="vertical-align: top; width: 14.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="vertical-align: top; width: 2.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="3" style="vertical-align: top; width: 14.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">Germany</p> </td> </tr> <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"> <td style="vertical-align: top; width: 4.2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="vertical-align: top; width: 35.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><em style="font: inherit;">3D</em> Hubs B.V.</p> </td> <td style="vertical-align: top; width: 14.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="vertical-align: top; width: 2.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="vertical-align: top; width: 14.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="vertical-align: top; width: 15.6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">Netherlands</p> </td> <td style="vertical-align: top; width: 14.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"> <td style="vertical-align: top; width: 4.2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="vertical-align: top; width: 35.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Proto Labs, G.K.</p> </td> <td style="vertical-align: top; width: 14.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="vertical-align: top; width: 2.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="3" style="vertical-align: top; width: 14.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">Japan</p> </td> </tr> </tbody> </table> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:18pt;"> </p> <hr style="text-align: center;height: 1px; color: #000000; background-color: #000000; width: 80%; border: none; margin: 0 auto 0 auto;"/> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:18pt;"> </p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><b>Note <em style="font: inherit;">2</em> — Summary of Significant Accounting Policies</b></p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"><b> </b></p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><i><b/></i></p><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><i><b>Principles of consolidation</b></i></p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">The consolidated financial statements include the accounts of the Company and its wholly-owned subsidiaries, as listed within “Organization and business” above. All intercompany accounts and transactions have been eliminated in consolidation.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"/> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><i><b/></i></p><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><i><b>Comprehensive income</b></i></p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">Components of comprehensive income include net income, foreign currency translation adjustments and net unrealized gains and losses on investments in securities. Comprehensive income is disclosed in the accompanying Consolidated Statements of Comprehensive Income and Consolidated Statements of Shareholders’ Equity.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 22.2pt;text-align:left;"> </p><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 22.2pt;text-align:left;"/> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:center;"/> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><i><b/></i></p><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><i><b>Accounting estimates</b></i></p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America (U.S. GAAP) requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and related disclosures at the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from those estimates.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"/> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><i><b/></i></p><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><i><b>Cash and cash equivalents</b></i></p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">Cash and cash equivalents include cash and other investments, including marketable securities, with maturities of <em style="font: inherit;">three</em> months or less at the date of purchase. The Company maintains its cash in bank deposit accounts, which, at times, <em style="font: inherit;"> may </em>exceed federally insured limits. The Company has <em style="font: inherit;">not</em> experienced any losses on such accounts.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"/> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><i><b/></i></p><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><i><b>Marketable securities</b></i></p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt; text-indent: 27pt;">As of <em style="font: inherit;"> December 31, 2021, </em>marketable securities are categorized as available-for-sale and are recorded at fair value.  In the <em style="font: inherit;">first</em> quarter of <em style="font: inherit;">2021,</em> the Company sold held-to-maturity securities in order to partially fund the acquisition of Hubs. As a result of the sale, all remaining marketable securities were reclassified to available-for-sale securities and reported at fair value. Management determines the appropriate classification of debt securities at the time of purchase and reevaluates such designation as of each balance sheet date. The classification of marketable securities as current or non-current is dependent upon the security’s maturity date. Securities with maturities of <em style="font: inherit;">three</em> months or less at the time of purchase are categorized as cash equivalents as described above.</p> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt; text-indent: 27pt;"> </p> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt; text-indent: 27pt;">As of <em style="font: inherit;"> December 31, 2020, </em>marketable securities included held-to-maturity debt securities recorded at amortized cost. Debt securities were classified as held-to-maturity when the Company had the positive intent and ability to hold the securities to maturity. Held-to-maturity securities were stated at amortized cost, adjusted for amortization of premiums and accretion of discounts to maturity computed under the effective interest method. Such amortization was included in other income, net. Interest on securities classified as held to maturity was included in other income, net. During the <em style="font: inherit;">first</em> quarter of <em style="font: inherit;">2020,</em> the Company adopted the FASB ASU <em style="font: inherit;">2016</em>-<em style="font: inherit;">13,</em> <i>Financial Instruments – Credit Losses</i>. The Company calculated the expected credit loss for each security in its portfolio using the probability-of-default method. The Company concluded the adoption of the guidance had <em style="font: inherit;">no</em> material impact on its consolidated financial statements.</p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"/> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><i><b/></i></p><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><i><b>Accounts receivable and allowance for doubtful accounts</b></i></p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">Accounts receivable are reported at the invoiced amount less an allowance for doubtful accounts. As of each balance sheet date, the Company evaluates its accounts receivable and establishes an allowance for doubtful accounts based on a combination of specific customer circumstances and credit conditions taking into account the history of write-offs and collections. A receivable is considered past due if payment has <em style="font: inherit;">not</em> been received within the period agreed upon in the invoice. Accounts receivable are written off after all collection efforts have been exhausted. Recoveries of trade receivables previously written off are recorded when received.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"/> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><i><b/></i></p><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><i><b>Inventory</b></i></p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">Inventory consists primarily of raw materials, which are recorded at the lower of cost or market, using the standard cost method, which approximates <em style="font: inherit;">first</em>-in, <em style="font: inherit;">first</em>-out (FIFO) cost. The Company periodically reviews its inventory for slow-moving, damaged and discontinued items and provides allowances to reduce such items identified to their recoverable amounts.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"/> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><i><b/></i></p><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><i><b>Property, equipment and leasehold improvements</b></i></p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">Property, equipment and leasehold improvements are stated at cost. Major improvements that substantially extend an asset’s useful life are capitalized. Repairs, maintenance and minor improvements are charged to operations as incurred. Depreciation, including amortization of leasehold improvements and assets recorded under capital leases, is calculated using the straight-line method over the estimated useful lives of the individual assets and ranges from 3 to 39 years. Manufacturing equipment is depreciated over 3 to 15 years, office furniture and equipment are depreciated over 3 to 7 years, computer hardware and software are depreciated over 3 to 5 years, building costs are depreciated over 39 years, leasehold improvements are depreciated over the estimated lives of the related assets or the life of the lease, whichever is shorter, and building and land improvements are depreciated over 10 to 39 years. Assets <em style="font: inherit;">not</em> in service are <em style="font: inherit;">not</em> depreciated until the asset is put into use.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:18pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">The Company follows ASC <em style="font: inherit;">350</em>-<em style="font: inherit;">40,</em><i> Internal-Use Software</i>, in accounting for internally developed software. As of <em style="font: inherit;"> December 31, 2021 </em>and <em style="font: inherit;">2020</em>, $49.4 million of software development costs were capitalized.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"/> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:center;"/> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><i><b/></i></p><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><i><b>Goodwill</b></i></p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">The Company recognizes goodwill in accordance with ASC <em style="font: inherit;">350,</em> <i>Intangibles—Goodwill and Other</i>. Goodwill is the excess of cost of an acquired entity over the amounts assigned to assets acquired and liabilities assumed in a business combination. Goodwill is allocated to the Company's reporting units, which are determined by the discrete financial information available for the component and whether it is regularly reviewed by segment management. The Company's reporting units are the United States, Europe and Japan. Goodwill is <em style="font: inherit;">not</em> amortized.</p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">Goodwill is tested for impairment annually at the beginning of the <em style="font: inherit;">fourth</em> quarter, and is tested for impairment between annual tests if an event occurs or circumstances change that would indicate the carrying amount <em style="font: inherit;"> may </em>be impaired. An impairment charge for goodwill is recognized only when the estimated fair value of a reporting unit, including goodwill, is less than its carrying amount. In <em style="font: inherit;">2021,</em> the Company performed a quantitative analysis based on the performance of Europe in <em style="font: inherit;">2021</em> and the amount of goodwill recorded during the year from the Hubs acquisition. The quantitative impairment test requires judgment, including the identification of reporting units, the assignment of assets, liabilities and goodwill to reporting units, and the determination of fair value of each reporting unit. The impairment test requires the comparison of the fair value of each reporting unit with its carrying amount, including goodwill. In performing the impairment test, the Company determined the fair value of its reporting units through a combination of the income approach by using discounted cash flow (DCF) analyses and the market approach through the guideline company method. Determining fair value requires the Company to make judgments about appropriate discount rates, perpetual growth rates and the amount and timing of expected future cash flows. The cash flows employed in the DCF analysis for each reporting unit are based on the reporting unit's budget, long-term business plan and recent operating performance. Discount rate assumptions are based on an assessment of the risk inherent in the future cash flows of the respective reporting unit and market conditions. Given the inherent uncertainty in determining the assumptions underlying a DCF analysis, actual results <em style="font: inherit;"> may </em>differ from those used in the Company's valuations. In assessing the reasonableness of the determined fair values, the Company also reconciled the aggregate determined fair value of the Company to the Company's market capitalization, which, at the date of its <em style="font: inherit;">2021</em> impairment test, included a <em style="font: inherit;">16</em> percent control discount. Significant assumptions used in the DCF analysis included long-term revenue growth rates. As a result of the analyses, no impairment was identified.</p> <p style="margin: 0 22.2pt 0 26.6pt; text-align: left; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif"><i><b> </b></i></p><p style="margin: 0 22.2pt 0 26.6pt; text-align: left; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif"><i><b/></i></p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 7.2pt; text-align: left; text-indent: -9pt;"><i><b/></i></p><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 7.2pt; text-align: left; text-indent: -9pt;"><i><b>Capitalized Software Costs</b></i></p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 7.2pt; text-align: left; text-indent: 9pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 7.2pt 0pt -2pt; text-align: left; text-indent: 27pt;">The Company follows ASC <em style="font: inherit;">350</em>-<em style="font: inherit;">40,</em> <i>Intangibles – Goodwill and Other, Internal-Use Software</i>, in accounting for internally developed software. Costs for internal use software are evaluated by projected and capitalized where appropriate.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;">  </p><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"/> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><i><b/></i></p><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><i><b>Other Intangible Assets</b></i></p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">Other intangible assets include software technology, customer relationships and other intangible assets acquired from other independent parties. Other intangible assets with a definite life are amortized over a period ranging from <span style="-sec-ix-hidden:c80619033">two</span> to 12 years on a straight line basis, and are tested for impairment whenever events or circumstances indicate that the carrying amount of an asset (asset group) <em style="font: inherit;"> may </em><em style="font: inherit;">not</em> be recoverable. An impairment loss is recognized when the carrying amount of an asset exceeds the estimated undiscounted cash flows generated by the asset. The amount of the impairment loss recorded is calculated by the excess of the asset’s carrying value over its fair value.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"/> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><i><b/></i></p><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><i><b>Accounting for long-lived assets</b></i></p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">The Company periodically reviews the carrying amount of its property, equipment and leasehold improvements to determine if circumstances exist indicating an impairment or if depreciation periods should be modified. If facts or circumstances indicate that an impairment <em style="font: inherit;"> may </em>exist, the Company will prepare a projection of the undiscounted future cash flows of the specific assets to determine if the assets are recoverable. If impairment exists based on these projections, an adjustment will be made to reduce the carrying amount of the specific assets to fair value.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"/> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><i><b/></i></p><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><i><b>Revenue recognition</b></i></p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">The Company recognizes revenue for its internal and outsourced manufacturing operations in accordance with ASC <em style="font: inherit;">606,</em> <i>Revenue from Contracts with Customers</i>. The Company manufactures custom parts to specific customer orders that have <em style="font: inherit;">no</em> alternative use to the Company, and the Company believes there is a legally enforceable right to payment for performance completed to date on internally and outsourced manufactured parts. For manufactured parts that meet these <em style="font: inherit;">two</em> criteria, the Company will recognize revenue over time. Revenue is recognized over time using the input method based on time in production as a percentage of total estimated production time to measure progress toward satisfying performance obligations using the estimated total time necessary to complete the parts per the customer's order and an estimate of inventory and production costs incurred to date. The input method requires an analysis of the incurred time in production and an estimate of the total time necessary to complete the total parts per the customer's order. The majority of the Company’s injection molding contracts have multiple performance obligations including <em style="font: inherit;">one</em> obligation to produce the mold and a <em style="font: inherit;">second</em> obligation to produce parts. For injection molding contracts with multiple performance obligations, the Company allocates revenue to each performance obligation based on its relative standalone selling price. The Company generally determines standalone selling price based on the price charged to customers.</p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"/> <p style="margin: 0pt 0pt 0pt -27pt; text-align: left; text-indent: 27pt; font-family: &quot;Times New Roman&quot;,Times,serif; font-size: 10pt;"><i><b/></i></p><p style="margin: 0pt 0pt 0pt -27pt; text-align: left; text-indent: 27pt; font-family: &quot;Times New Roman&quot;,Times,serif; font-size: 10pt;"><i><b>Leases</b></i></p> <p style="margin: 0pt 7.2pt 0pt -2pt; text-align: left; font-family: &quot;Times New Roman&quot;,Times,serif; font-size: 10pt;"> </p> <p style="margin: 0pt 7.2pt 0pt -2pt; text-align: left; text-indent: 27pt; font-family: &quot;Times New Roman&quot;,Times,serif; font-size: 10pt;">The Company accounts for leases in accordance with ASC <em style="font: inherit;">842,</em> <i>Leases</i>, which requires the balance sheet recognition of lease assets and lease liabilities by lessees for those leases classified as operating and finance leases. The Company determines if an arrangement is a lease at inception. Operating leases are included in operating lease assets, current operating lease liabilities and long-term operating lease liabilities in the Consolidated Balance Sheets and are recognized based on the present value of lease payments over the lease term at the commencement date. Finance leases are included in finance lease assets, current finance lease liabilities and long-term finance lease liabilities in the Consolidated Balance Sheets and are recognized based on the present value of lease payments over the lease term at commencement date. The majority of the Company’s leases do <em style="font: inherit;">not</em> provide an implicit rate of return, therefore, the Company uses its incremental borrowing rate based on the information available at commencement date in determining the present value of lease payments. Lease agreements that contain non-lease components, with the exception of certain real estate leases, are accounted for as a single lease component.</p> <p style="margin: 0pt 7.2pt 0pt -2pt; text-align: left; text-indent: 27pt; font-family: &quot;Times New Roman&quot;,Times,serif; font-size: 10pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">The Company has operating leases for office space, manufacturing facilities and certain company vehicles and equipment and finance leases for certain company equipment. The leases have remaining lease terms of <span style="-sec-ix-hidden:c80619043">one</span> year to <span style="-sec-ix-hidden:c80619044">eight</span> years. Leases with an initial term of <em style="font: inherit;">12</em> months or less are <em style="font: inherit;">not</em> recorded on the balance sheet; we recognize lease expense for these leases on a straight-line basis over the lease term. For purposes of calculating operating lease liabilities, lease terms <em style="font: inherit;"> may </em>be deemed to include options to extend or terminate the lease when it is reasonably certain that the Company will exercise that option. As of <em style="font: inherit;"> December 31, 2021</em>, the operating lease liability does <em style="font: inherit;">not</em> include any options to extend or terminate leases.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"/> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:center;"/> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><i><b/></i></p><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><i><b>Income taxes</b></i></p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">The Company accounts for income taxes in accordance with ASC <em style="font: inherit;">740,</em><i> Income Taxes</i> (ASC <em style="font: inherit;">740</em>). Under this method, the Company determines tax assets and liabilities based upon the differences between the financial statement carrying amounts and the tax basis of assets and liabilities using enacted tax rates in effect for the year in which the differences are expected to affect taxable income. The tax consequences of most events recognized in the financial statements are included in determining income taxes currently payable. However, because tax laws and financial accounting standards differ in their recognition and measurement of assets, liabilities and equity, revenues, expenses, gains and losses, differences arise between the amount of taxable income and pretax financial income for a year and between the tax basis of assets or liabilities and their reported amounts in the financial statements. Because the Company assumes that the reported amounts of assets and liabilities will be recovered and settled, respectively, a difference between the tax basis of an asset or liability and its reported amount in the balance sheet will result in a taxable or a deductible amount in some future years when the related liabilities are settled or the reported amounts of the assets are recovered, giving rise to a deferred tax asset or liability. The Company establishes a valuation allowance for any portion of its deferred tax assets that the Company believes <em style="font: inherit;"> may </em><em style="font: inherit;">not</em> be recognized.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">ASC <em style="font: inherit;">740</em> also clarifies the accounting for uncertainty in income taxes recognized in an enterprise’s financial statements by requiring that individual tax positions are recorded only when they meet a more-likely-than-<em style="font: inherit;">not</em> criterion. The Company recognizes the effect of income tax positions only if sustaining those positions is more likely than <em style="font: inherit;">not.</em> The Company records penalties and interest related to unrecognized tax benefits in income taxes in the Company’s Consolidated Statements of Income.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"/> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><i><b/></i></p><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><i><b>Stock-based compensation</b></i></p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">The Company accounts for stock-based compensation in accordance with ASC <em style="font: inherit;">718,</em><i> Compensation—Stock Compensation</i> (ASC <em style="font: inherit;">718</em>). Under the fair value recognition provisions of ASC <em style="font: inherit;">718,</em> the Company measures stock-based compensation cost at the grant date fair value and recognizes the compensation expense over the requisite service period, which is the vesting period, using a straight-line attribution method. The amount of stock-based compensation expense recognized during a period is based on the portion of the awards that are ultimately expected to vest. The Company accounts for forfeitures as they occur. Ultimately, the total expense recognized over the vesting period will only be for those awards that vest. The Company’s awards are <em style="font: inherit;">not</em> eligible to vest early in the event of retirement, however, the awards vest early in the event of a change in control.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">In determining the compensation cost of the options granted, the fair value of options granted has been estimated on the date of grant using the Black-Scholes option-pricing model.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"/> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><i><b/></i></p><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><i><b>Advertising costs</b></i></p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">Advertising is expensed as incurred and was approximately $11.6 million, $11.5 million and $13.0 million for the years ended <em style="font: inherit;"> December 31, 2021, </em><em style="font: inherit;">2020</em> and <em style="font: inherit;">2019</em>, respectively.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"/> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><i><b/></i></p><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><i><b>Research and development</b></i></p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">Research and development expenses consist primarily of personnel and outside service costs related to the development of new processes and product lines, enhancements of existing product lines, development of software for internal use, maintenance of internally developed software, quality assurance and testing. Costs for internal use software are evaluated by project and capitalized where appropriate under ASC <em style="font: inherit;">350</em>-<em style="font: inherit;">40,</em> <i>Intangibles - Goodwill and Other, Internal-Use Software</i>. Research and development costs were approximately $44.2 million, $36.9 million and $32.7 million for the years ended <em style="font: inherit;"> December 31, 2021, </em><em style="font: inherit;">2020</em> and <em style="font: inherit;">2019</em>, respectively.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"/> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><i><b/></i></p><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><i><b>Foreign currency translation/transactions</b></i></p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">The Company translated the balance sheets of its foreign subsidiaries at period-end exchange rates and the income statement at the average exchange rates in effect throughout the period. The Company has recorded the translation adjustment as a separate component of consolidated shareholders’ equity. Foreign currency transaction gains and losses are recognized in the Consolidated Statements of Comprehensive Income.</p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"/> <p style="margin: 0; text-align: left; text-indent: 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif"><i><b/></i></p><p style="margin: 0; text-align: left; text-indent: 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif"><i><b>Recently adopted accounting pronouncements</b></i></p> <p style="margin: 0 29.7pt; text-align: left; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">In <em style="font: inherit;"> December 2019, </em>the Financial Accounting Standards Board issued Accounting Standards Update (ASU) <em style="font: inherit;">2019</em>-<em style="font: inherit;">12,</em> <i>Income Taxes (Topic</i> <i><em style="font: inherit;">740</em>): Simplifying the Accounting for Income Taxes</i> (ASU <em style="font: inherit;">2019</em>-<em style="font: inherit;">12</em>). ASU <em style="font: inherit;">2019</em>-<em style="font: inherit;">12</em> attempts to simplify aspects of accounting for franchise taxes and enacted changes in tax laws or rates, and clarifies the accounting for transactions that result in a step-up in the tax basis of goodwill. ASU <em style="font: inherit;">2019</em>-<em style="font: inherit;">12</em> is effective for public business entities for fiscal years beginning after <em style="font: inherit;"> December 15, 2020, </em>including interim periods within that fiscal year. The Company adopted ASU <em style="font: inherit;">2019</em>-<em style="font: inherit;">12</em> on <em style="font: inherit;"> January 1, 2021 </em>and there was <em style="font: inherit;">no</em> material impact on the Company’s consolidated financial statements.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 14.7pt;text-align:center;"> </p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"/> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><i><b>Principles of consolidation</b></i></p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">The consolidated financial statements include the accounts of the Company and its wholly-owned subsidiaries, as listed within “Organization and business” above. All intercompany accounts and transactions have been eliminated in consolidation.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><i><b>Comprehensive income</b></i></p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">Components of comprehensive income include net income, foreign currency translation adjustments and net unrealized gains and losses on investments in securities. Comprehensive income is disclosed in the accompanying Consolidated Statements of Comprehensive Income and Consolidated Statements of Shareholders’ Equity.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 22.2pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><i><b>Accounting estimates</b></i></p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America (U.S. GAAP) requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and related disclosures at the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from those estimates.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><i><b>Cash and cash equivalents</b></i></p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">Cash and cash equivalents include cash and other investments, including marketable securities, with maturities of <em style="font: inherit;">three</em> months or less at the date of purchase. The Company maintains its cash in bank deposit accounts, which, at times, <em style="font: inherit;"> may </em>exceed federally insured limits. The Company has <em style="font: inherit;">not</em> experienced any losses on such accounts.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><i><b>Marketable securities</b></i></p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt; text-indent: 27pt;">As of <em style="font: inherit;"> December 31, 2021, </em>marketable securities are categorized as available-for-sale and are recorded at fair value.  In the <em style="font: inherit;">first</em> quarter of <em style="font: inherit;">2021,</em> the Company sold held-to-maturity securities in order to partially fund the acquisition of Hubs. As a result of the sale, all remaining marketable securities were reclassified to available-for-sale securities and reported at fair value. Management determines the appropriate classification of debt securities at the time of purchase and reevaluates such designation as of each balance sheet date. The classification of marketable securities as current or non-current is dependent upon the security’s maturity date. Securities with maturities of <em style="font: inherit;">three</em> months or less at the time of purchase are categorized as cash equivalents as described above.</p> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt; text-indent: 27pt;"> </p> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt; text-indent: 27pt;">As of <em style="font: inherit;"> December 31, 2020, </em>marketable securities included held-to-maturity debt securities recorded at amortized cost. Debt securities were classified as held-to-maturity when the Company had the positive intent and ability to hold the securities to maturity. Held-to-maturity securities were stated at amortized cost, adjusted for amortization of premiums and accretion of discounts to maturity computed under the effective interest method. Such amortization was included in other income, net. Interest on securities classified as held to maturity was included in other income, net. During the <em style="font: inherit;">first</em> quarter of <em style="font: inherit;">2020,</em> the Company adopted the FASB ASU <em style="font: inherit;">2016</em>-<em style="font: inherit;">13,</em> <i>Financial Instruments – Credit Losses</i>. The Company calculated the expected credit loss for each security in its portfolio using the probability-of-default method. The Company concluded the adoption of the guidance had <em style="font: inherit;">no</em> material impact on its consolidated financial statements.</p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><i><b>Accounts receivable and allowance for doubtful accounts</b></i></p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">Accounts receivable are reported at the invoiced amount less an allowance for doubtful accounts. As of each balance sheet date, the Company evaluates its accounts receivable and establishes an allowance for doubtful accounts based on a combination of specific customer circumstances and credit conditions taking into account the history of write-offs and collections. A receivable is considered past due if payment has <em style="font: inherit;">not</em> been received within the period agreed upon in the invoice. Accounts receivable are written off after all collection efforts have been exhausted. Recoveries of trade receivables previously written off are recorded when received.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><i><b>Inventory</b></i></p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">Inventory consists primarily of raw materials, which are recorded at the lower of cost or market, using the standard cost method, which approximates <em style="font: inherit;">first</em>-in, <em style="font: inherit;">first</em>-out (FIFO) cost. The Company periodically reviews its inventory for slow-moving, damaged and discontinued items and provides allowances to reduce such items identified to their recoverable amounts.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><i><b>Property, equipment and leasehold improvements</b></i></p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">Property, equipment and leasehold improvements are stated at cost. Major improvements that substantially extend an asset’s useful life are capitalized. Repairs, maintenance and minor improvements are charged to operations as incurred. Depreciation, including amortization of leasehold improvements and assets recorded under capital leases, is calculated using the straight-line method over the estimated useful lives of the individual assets and ranges from 3 to 39 years. Manufacturing equipment is depreciated over 3 to 15 years, office furniture and equipment are depreciated over 3 to 7 years, computer hardware and software are depreciated over 3 to 5 years, building costs are depreciated over 39 years, leasehold improvements are depreciated over the estimated lives of the related assets or the life of the lease, whichever is shorter, and building and land improvements are depreciated over 10 to 39 years. Assets <em style="font: inherit;">not</em> in service are <em style="font: inherit;">not</em> depreciated until the asset is put into use.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:18pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">The Company follows ASC <em style="font: inherit;">350</em>-<em style="font: inherit;">40,</em><i> Internal-Use Software</i>, in accounting for internally developed software. As of <em style="font: inherit;"> December 31, 2021 </em>and <em style="font: inherit;">2020</em>, $49.4 million of software development costs were capitalized.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p> P3Y P39Y P3Y P15Y P3Y P7Y P3Y P5Y P39Y P10Y P39Y 49400000 <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><i><b>Goodwill</b></i></p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">The Company recognizes goodwill in accordance with ASC <em style="font: inherit;">350,</em> <i>Intangibles—Goodwill and Other</i>. Goodwill is the excess of cost of an acquired entity over the amounts assigned to assets acquired and liabilities assumed in a business combination. Goodwill is allocated to the Company's reporting units, which are determined by the discrete financial information available for the component and whether it is regularly reviewed by segment management. The Company's reporting units are the United States, Europe and Japan. Goodwill is <em style="font: inherit;">not</em> amortized.</p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">Goodwill is tested for impairment annually at the beginning of the <em style="font: inherit;">fourth</em> quarter, and is tested for impairment between annual tests if an event occurs or circumstances change that would indicate the carrying amount <em style="font: inherit;"> may </em>be impaired. An impairment charge for goodwill is recognized only when the estimated fair value of a reporting unit, including goodwill, is less than its carrying amount. In <em style="font: inherit;">2021,</em> the Company performed a quantitative analysis based on the performance of Europe in <em style="font: inherit;">2021</em> and the amount of goodwill recorded during the year from the Hubs acquisition. The quantitative impairment test requires judgment, including the identification of reporting units, the assignment of assets, liabilities and goodwill to reporting units, and the determination of fair value of each reporting unit. The impairment test requires the comparison of the fair value of each reporting unit with its carrying amount, including goodwill. In performing the impairment test, the Company determined the fair value of its reporting units through a combination of the income approach by using discounted cash flow (DCF) analyses and the market approach through the guideline company method. Determining fair value requires the Company to make judgments about appropriate discount rates, perpetual growth rates and the amount and timing of expected future cash flows. The cash flows employed in the DCF analysis for each reporting unit are based on the reporting unit's budget, long-term business plan and recent operating performance. Discount rate assumptions are based on an assessment of the risk inherent in the future cash flows of the respective reporting unit and market conditions. Given the inherent uncertainty in determining the assumptions underlying a DCF analysis, actual results <em style="font: inherit;"> may </em>differ from those used in the Company's valuations. In assessing the reasonableness of the determined fair values, the Company also reconciled the aggregate determined fair value of the Company to the Company's market capitalization, which, at the date of its <em style="font: inherit;">2021</em> impairment test, included a <em style="font: inherit;">16</em> percent control discount. Significant assumptions used in the DCF analysis included long-term revenue growth rates. As a result of the analyses, no impairment was identified.</p> <p style="margin: 0 22.2pt 0 26.6pt; text-align: left; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif"><i><b> </b></i></p> 0 <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 7.2pt; text-align: left; text-indent: -9pt;"><i><b>Capitalized Software Costs</b></i></p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 7.2pt; text-align: left; text-indent: 9pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 7.2pt 0pt -2pt; text-align: left; text-indent: 27pt;">The Company follows ASC <em style="font: inherit;">350</em>-<em style="font: inherit;">40,</em> <i>Intangibles – Goodwill and Other, Internal-Use Software</i>, in accounting for internally developed software. Costs for internal use software are evaluated by projected and capitalized where appropriate.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;">  </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><i><b>Other Intangible Assets</b></i></p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">Other intangible assets include software technology, customer relationships and other intangible assets acquired from other independent parties. Other intangible assets with a definite life are amortized over a period ranging from <span style="-sec-ix-hidden:c80619033">two</span> to 12 years on a straight line basis, and are tested for impairment whenever events or circumstances indicate that the carrying amount of an asset (asset group) <em style="font: inherit;"> may </em><em style="font: inherit;">not</em> be recoverable. An impairment loss is recognized when the carrying amount of an asset exceeds the estimated undiscounted cash flows generated by the asset. The amount of the impairment loss recorded is calculated by the excess of the asset’s carrying value over its fair value.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p> P12Y <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><i><b>Accounting for long-lived assets</b></i></p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">The Company periodically reviews the carrying amount of its property, equipment and leasehold improvements to determine if circumstances exist indicating an impairment or if depreciation periods should be modified. If facts or circumstances indicate that an impairment <em style="font: inherit;"> may </em>exist, the Company will prepare a projection of the undiscounted future cash flows of the specific assets to determine if the assets are recoverable. If impairment exists based on these projections, an adjustment will be made to reduce the carrying amount of the specific assets to fair value.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><i><b>Revenue recognition</b></i></p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">The Company recognizes revenue for its internal and outsourced manufacturing operations in accordance with ASC <em style="font: inherit;">606,</em> <i>Revenue from Contracts with Customers</i>. The Company manufactures custom parts to specific customer orders that have <em style="font: inherit;">no</em> alternative use to the Company, and the Company believes there is a legally enforceable right to payment for performance completed to date on internally and outsourced manufactured parts. For manufactured parts that meet these <em style="font: inherit;">two</em> criteria, the Company will recognize revenue over time. Revenue is recognized over time using the input method based on time in production as a percentage of total estimated production time to measure progress toward satisfying performance obligations using the estimated total time necessary to complete the parts per the customer's order and an estimate of inventory and production costs incurred to date. The input method requires an analysis of the incurred time in production and an estimate of the total time necessary to complete the total parts per the customer's order. The majority of the Company’s injection molding contracts have multiple performance obligations including <em style="font: inherit;">one</em> obligation to produce the mold and a <em style="font: inherit;">second</em> obligation to produce parts. For injection molding contracts with multiple performance obligations, the Company allocates revenue to each performance obligation based on its relative standalone selling price. The Company generally determines standalone selling price based on the price charged to customers.</p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> <p style="margin: 0pt 0pt 0pt -27pt; text-align: left; text-indent: 27pt; font-family: &quot;Times New Roman&quot;,Times,serif; font-size: 10pt;"><i><b>Leases</b></i></p> <p style="margin: 0pt 7.2pt 0pt -2pt; text-align: left; font-family: &quot;Times New Roman&quot;,Times,serif; font-size: 10pt;"> </p> <p style="margin: 0pt 7.2pt 0pt -2pt; text-align: left; text-indent: 27pt; font-family: &quot;Times New Roman&quot;,Times,serif; font-size: 10pt;">The Company accounts for leases in accordance with ASC <em style="font: inherit;">842,</em> <i>Leases</i>, which requires the balance sheet recognition of lease assets and lease liabilities by lessees for those leases classified as operating and finance leases. The Company determines if an arrangement is a lease at inception. Operating leases are included in operating lease assets, current operating lease liabilities and long-term operating lease liabilities in the Consolidated Balance Sheets and are recognized based on the present value of lease payments over the lease term at the commencement date. Finance leases are included in finance lease assets, current finance lease liabilities and long-term finance lease liabilities in the Consolidated Balance Sheets and are recognized based on the present value of lease payments over the lease term at commencement date. The majority of the Company’s leases do <em style="font: inherit;">not</em> provide an implicit rate of return, therefore, the Company uses its incremental borrowing rate based on the information available at commencement date in determining the present value of lease payments. Lease agreements that contain non-lease components, with the exception of certain real estate leases, are accounted for as a single lease component.</p> <p style="margin: 0pt 7.2pt 0pt -2pt; text-align: left; text-indent: 27pt; font-family: &quot;Times New Roman&quot;,Times,serif; font-size: 10pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">The Company has operating leases for office space, manufacturing facilities and certain company vehicles and equipment and finance leases for certain company equipment. The leases have remaining lease terms of <span style="-sec-ix-hidden:c80619043">one</span> year to <span style="-sec-ix-hidden:c80619044">eight</span> years. Leases with an initial term of <em style="font: inherit;">12</em> months or less are <em style="font: inherit;">not</em> recorded on the balance sheet; we recognize lease expense for these leases on a straight-line basis over the lease term. For purposes of calculating operating lease liabilities, lease terms <em style="font: inherit;"> may </em>be deemed to include options to extend or terminate the lease when it is reasonably certain that the Company will exercise that option. As of <em style="font: inherit;"> December 31, 2021</em>, the operating lease liability does <em style="font: inherit;">not</em> include any options to extend or terminate leases.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><i><b>Income taxes</b></i></p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">The Company accounts for income taxes in accordance with ASC <em style="font: inherit;">740,</em><i> Income Taxes</i> (ASC <em style="font: inherit;">740</em>). Under this method, the Company determines tax assets and liabilities based upon the differences between the financial statement carrying amounts and the tax basis of assets and liabilities using enacted tax rates in effect for the year in which the differences are expected to affect taxable income. The tax consequences of most events recognized in the financial statements are included in determining income taxes currently payable. However, because tax laws and financial accounting standards differ in their recognition and measurement of assets, liabilities and equity, revenues, expenses, gains and losses, differences arise between the amount of taxable income and pretax financial income for a year and between the tax basis of assets or liabilities and their reported amounts in the financial statements. Because the Company assumes that the reported amounts of assets and liabilities will be recovered and settled, respectively, a difference between the tax basis of an asset or liability and its reported amount in the balance sheet will result in a taxable or a deductible amount in some future years when the related liabilities are settled or the reported amounts of the assets are recovered, giving rise to a deferred tax asset or liability. The Company establishes a valuation allowance for any portion of its deferred tax assets that the Company believes <em style="font: inherit;"> may </em><em style="font: inherit;">not</em> be recognized.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">ASC <em style="font: inherit;">740</em> also clarifies the accounting for uncertainty in income taxes recognized in an enterprise’s financial statements by requiring that individual tax positions are recorded only when they meet a more-likely-than-<em style="font: inherit;">not</em> criterion. The Company recognizes the effect of income tax positions only if sustaining those positions is more likely than <em style="font: inherit;">not.</em> The Company records penalties and interest related to unrecognized tax benefits in income taxes in the Company’s Consolidated Statements of Income.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><i><b>Stock-based compensation</b></i></p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">The Company accounts for stock-based compensation in accordance with ASC <em style="font: inherit;">718,</em><i> Compensation—Stock Compensation</i> (ASC <em style="font: inherit;">718</em>). Under the fair value recognition provisions of ASC <em style="font: inherit;">718,</em> the Company measures stock-based compensation cost at the grant date fair value and recognizes the compensation expense over the requisite service period, which is the vesting period, using a straight-line attribution method. The amount of stock-based compensation expense recognized during a period is based on the portion of the awards that are ultimately expected to vest. The Company accounts for forfeitures as they occur. Ultimately, the total expense recognized over the vesting period will only be for those awards that vest. The Company’s awards are <em style="font: inherit;">not</em> eligible to vest early in the event of retirement, however, the awards vest early in the event of a change in control.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">In determining the compensation cost of the options granted, the fair value of options granted has been estimated on the date of grant using the Black-Scholes option-pricing model.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><i><b>Advertising costs</b></i></p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">Advertising is expensed as incurred and was approximately $11.6 million, $11.5 million and $13.0 million for the years ended <em style="font: inherit;"> December 31, 2021, </em><em style="font: inherit;">2020</em> and <em style="font: inherit;">2019</em>, respectively.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p> 11600000 11500000 13000000.0 <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><i><b>Research and development</b></i></p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">Research and development expenses consist primarily of personnel and outside service costs related to the development of new processes and product lines, enhancements of existing product lines, development of software for internal use, maintenance of internally developed software, quality assurance and testing. Costs for internal use software are evaluated by project and capitalized where appropriate under ASC <em style="font: inherit;">350</em>-<em style="font: inherit;">40,</em> <i>Intangibles - Goodwill and Other, Internal-Use Software</i>. Research and development costs were approximately $44.2 million, $36.9 million and $32.7 million for the years ended <em style="font: inherit;"> December 31, 2021, </em><em style="font: inherit;">2020</em> and <em style="font: inherit;">2019</em>, respectively.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p> 44200000 36900000 32700000 <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><i><b>Foreign currency translation/transactions</b></i></p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">The Company translated the balance sheets of its foreign subsidiaries at period-end exchange rates and the income statement at the average exchange rates in effect throughout the period. The Company has recorded the translation adjustment as a separate component of consolidated shareholders’ equity. Foreign currency transaction gains and losses are recognized in the Consolidated Statements of Comprehensive Income.</p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> <p style="margin: 0; text-align: left; text-indent: 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif"><i><b>Recently adopted accounting pronouncements</b></i></p> <p style="margin: 0 29.7pt; text-align: left; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">In <em style="font: inherit;"> December 2019, </em>the Financial Accounting Standards Board issued Accounting Standards Update (ASU) <em style="font: inherit;">2019</em>-<em style="font: inherit;">12,</em> <i>Income Taxes (Topic</i> <i><em style="font: inherit;">740</em>): Simplifying the Accounting for Income Taxes</i> (ASU <em style="font: inherit;">2019</em>-<em style="font: inherit;">12</em>). ASU <em style="font: inherit;">2019</em>-<em style="font: inherit;">12</em> attempts to simplify aspects of accounting for franchise taxes and enacted changes in tax laws or rates, and clarifies the accounting for transactions that result in a step-up in the tax basis of goodwill. ASU <em style="font: inherit;">2019</em>-<em style="font: inherit;">12</em> is effective for public business entities for fiscal years beginning after <em style="font: inherit;"> December 15, 2020, </em>including interim periods within that fiscal year. The Company adopted ASU <em style="font: inherit;">2019</em>-<em style="font: inherit;">12</em> on <em style="font: inherit;"> January 1, 2021 </em>and there was <em style="font: inherit;">no</em> material impact on the Company’s consolidated financial statements.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 14.7pt;text-align:center;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><b>Note <em style="font: inherit;">3</em> – Revenue</b></p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"><b> </b></p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">The Company accounts for revenue in accordance with ASC <em style="font: inherit;">606,</em> <i>Revenue from Contracts with Customers</i>. The Company provides quality, quick-turn prototyping and on-demand manufacturing services. As a result, the majority of revenue recognized in a reporting period is based on completed, invoiced contracts. </p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:18pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">A performance obligation is a promise in a contract to transfer a distinct good or service to the customer, and is the unit of account in ASC <em style="font: inherit;">606.</em> The majority of the Company’s CNC machining, <em style="font: inherit;">3D</em> printing, and sheet metal contracts have a single performance obligation. The majority of the Company’s injection molding contracts have multiple performance obligations including <em style="font: inherit;">one</em> obligation to produce the mold and a <em style="font: inherit;">second</em> obligation to produce parts. For injection molding contracts with multiple performance obligations, we allocate revenue to each performance obligation based on its relative standalone selling price. We generally determine standalone selling price based on the price charged to customers.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:18pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">The Company manufactures parts that have <em style="font: inherit;">no</em> alternative use to the Company since the parts are custom made to specific customer orders, and the Company believes there is a legally enforceable right to payment for performance completed to date on these manufactured parts. For manufactured parts that meet these <em style="font: inherit;">two</em> criteria, the Company will recognize revenue over time. Revenue is recognized over time using the input method based on time in production as a percentage of total estimated production time to measure progress toward satisfying performance obligations using the estimated total time necessary to complete the parts per the customer's order and an estimate of inventory and production costs incurred to date. The input method requires an analysis of the incurred time in production and an estimate of the total time necessary to complete the total parts per the customer's order.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:18pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">Revenue by geographic region for the years ended <em style="font: inherit;"> December 31, 2021, </em><em style="font: inherit;">2020</em> and <em style="font: inherit;">2019</em> was as follows:</p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> <hr style="text-align: center;height: 1px; color: #000000; background-color: #000000; width: 85%; border: none; margin: 0 auto 0 auto;"/> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31,</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 46%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; border-bottom: thin solid rgb(0, 0, 0);"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: thin solid rgb(0, 0, 0);"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; border-bottom: thin solid rgb(0, 0, 0);"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: thin solid rgb(0, 0, 0);"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2019</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><b>Revenue:</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">United States</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">384,458</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">345,708</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">360,205</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Europe</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">90,399</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">74,796</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">82,805</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Japan</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">13,241</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">13,891</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">15,718</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total revenue</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">488,098</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">434,395</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">458,728</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> <hr style="text-align: center;height: 1px; color: #000000; background-color: #000000; width: 85%; border: none; margin: 0 auto 0 auto;"/> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">Revenue by product line for the years ended <em style="font: inherit;"> December 31, 2021, </em><em style="font: inherit;">2020</em> and <em style="font: inherit;">2019</em> was as follows:</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:27pt;"> </p> <hr style="text-align: center;height: 1px; color: #000000; background-color: #000000; width: 85%; border: none; margin: 0 auto 0 auto;"/> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:27pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31,</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 46%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; border-bottom: thin solid rgb(0, 0, 0);"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: thin solid rgb(0, 0, 0);"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; border-bottom: thin solid rgb(0, 0, 0);"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: thin solid rgb(0, 0, 0);"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2019</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><b>Revenue:</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Injection Molding</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">226,117</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">217,992</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">217,415</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">CNC Machining</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">166,811</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">131,587</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">155,473</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">3D Printing</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">72,721</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">62,502</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">61,352</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Sheet Metal</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">20,397</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">18,838</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">21,000</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Other Revenue</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,052</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3,476</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3,488</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total revenue</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">488,098</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">434,395</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">458,728</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:27pt;"> </p> <hr style="text-align: center;height: 1px; color: #000000; background-color: #000000; width: 85%; border: none; margin: 0 auto 0 auto;"/> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:27pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">The Company generally expenses sales commissions when incurred because the amortization period would have been <em style="font: inherit;">one</em> year or less. These costs are recorded within marketing and sales expenses. The value of unsatisfied performance obligations for contracts with an original expected length of <em style="font: inherit;">one</em> year or less is <em style="font: inherit;">not</em> material.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:22.2pt;margin-right:14.7pt;margin-top:0pt;text-align:center;"> </p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"/> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31,</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 46%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; border-bottom: thin solid rgb(0, 0, 0);"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: thin solid rgb(0, 0, 0);"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; border-bottom: thin solid rgb(0, 0, 0);"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: thin solid rgb(0, 0, 0);"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2019</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><b>Revenue:</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">United States</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">384,458</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">345,708</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">360,205</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Europe</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">90,399</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">74,796</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">82,805</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Japan</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">13,241</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">13,891</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">15,718</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total revenue</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">488,098</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">434,395</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">458,728</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31,</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 46%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; border-bottom: thin solid rgb(0, 0, 0);"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: thin solid rgb(0, 0, 0);"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; border-bottom: thin solid rgb(0, 0, 0);"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: thin solid rgb(0, 0, 0);"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2019</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><b>Revenue:</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Injection Molding</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">226,117</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">217,992</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">217,415</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">CNC Machining</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">166,811</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">131,587</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">155,473</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">3D Printing</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">72,721</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">62,502</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">61,352</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Sheet Metal</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">20,397</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">18,838</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">21,000</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Other Revenue</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,052</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3,476</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3,488</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total revenue</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">488,098</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">434,395</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">458,728</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 384458000 345708000 360205000 90399000 74796000 82805000 13241000 13891000 15718000 488098000 434395000 458728000 226117000 217992000 217415000 166811000 131587000 155473000 72721000 62502000 61352000 20397000 18838000 21000000 2052000 3476000 3488000 488098000 434395000 458728000 <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><b>Note <em style="font: inherit;">4</em> – Net Income Per Common Share</b></p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 22.2pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">Basic net income per share is computed based on the weighted average number of common shares outstanding. Diluted net income per share is computed based on the weighted average number of common shares outstanding, increased by the number of additional shares that would have been outstanding had the potentially dilutive common shares been issued and reduced by the number of shares the Company could have repurchased from the proceeds from issuance of the potentially dilutive shares. Potentially dilutive shares of common stock include stock options and other stock-based awards granted under stock-based compensation plans and shares committed to be purchased under the employee stock purchase plan. For the year ended <em style="font: inherit;"> December 31, 2021, </em>113,043 anti-dilutive options were excluded from the calculation of diluted weighted average shares outstanding.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:18pt;">  </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">The following table presents the calculation of net income per basic and diluted share attributable to common shareholders:</p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> <hr style="text-align: left;height: 1px; color: #000000; background-color: #000000; width: 95%; border: none; margin: 0 auto 0 18pt;"/> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 18pt; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"> <tbody> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: thin solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31,</em></em></em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands, except share and per share amounts)</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2019</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Net Income</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">33,372</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">50,867</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">63,655</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Basic - weighted-average shares outstanding:</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">27,617,627</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">26,737,425</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">26,866,985</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Effect of dilutive securities:</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Employee stock options and other</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">35,472</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">158,932</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">182,438</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Diluted - weighted-average shares outstanding:</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">27,653,099</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">26,896,357</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">27,049,423</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Net income per share attributable to common shareholders:</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Basic</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1.21</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1.90</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2.37</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Diluted</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1.21</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1.89</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">2.35</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td> </tr> </tbody> </table> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> <hr style="text-align: left;height: 1px; color: #000000; background-color: #000000; width: 95%; border: none; margin: 0 auto 0 18pt;"/> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> 113043 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 18pt; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"> <tbody> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: thin solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31,</em></em></em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands, except share and per share amounts)</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2019</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Net Income</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">33,372</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">50,867</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">63,655</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Basic - weighted-average shares outstanding:</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">27,617,627</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">26,737,425</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">26,866,985</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Effect of dilutive securities:</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Employee stock options and other</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">35,472</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">158,932</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">182,438</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Diluted - weighted-average shares outstanding:</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">27,653,099</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">26,896,357</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">27,049,423</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Net income per share attributable to common shareholders:</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Basic</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1.21</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1.90</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2.37</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Diluted</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1.21</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1.89</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">2.35</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td> </tr> </tbody> </table> 33372000 50867000 63655000 27617627 26737425 26866985 35472 158932 182438 27653099 26896357 27049423 1.21 1.90 2.37 1.21 1.89 2.35 <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"> <b>Note <em style="font: inherit;">5</em> </b>–<b> Business Combinations</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: left; text-indent: 27pt;">On <em style="font: inherit;"> January 22, 2021, </em>the Company acquired all of the outstanding shares of <em style="font: inherit;">3D</em> Hubs, Inc. (Hubs), for $294.1 million, consisting of $127.4 million in cash and 863,995 shares of the Company's common stock valued at $166.7 million on the closing date. The purchase agreement included additional contingent consideration of up to $52.8 million subject to the achievement of performance-based targets during fiscal <em style="font: inherit;">2021</em> and fiscal <em style="font: inherit;">2022.</em> The contingent consideration consisted of up to $25.0 million in cash and up to 143,983 shares of the Company's common stock valued at $27.8 million on the closing date.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: left; text-indent: 27pt;">Hubs is based in Amsterdam, Netherlands and is a leading online manufacturing platform that provides customers with on-demand access to a global network of premium manufacturing partners. The acquisition enhances the Company’s value proposition by expanding the customer offerings, enabling the Company to more holistically serve its customers.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: left; text-indent: 27pt;">The fair value of the consideration paid for this acquisition has been allocated to the assets purchased and liabilities assumed based on their fair values as of the acquisition date, with any excess recorded as goodwill.  The goodwill associated with the acquisition represents both the strategic and growth opportunities by significantly expanding the customer offering with a network of premium manufacturing partners. The goodwill related to the acquisition is <em style="font: inherit;">not</em> deductible for tax purposes. </p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: left; text-indent: 27pt;">The Company recorded a contingent consideration liability of $13.6 million as of the acquisition date representing the estimated fair value of the amounts payable to former shareholders, as outlined under the terms of the merger agreement, payable subject to the satisfaction of performance-based targets during fiscal year <em style="font: inherit;">2021</em> and fiscal year <em style="font: inherit;">2022,</em> as noted above. The fair value of the contingent consideration (Level <em style="font: inherit;">3</em>) was determined using a Monte Carlo pricing model. During the year ended <em style="font: inherit;"> December 31, 2021, </em>the Company reversed all previously recorded contingent consideration due to the performance-based targets <em style="font: inherit;">not</em> being met for fiscal <em style="font: inherit;">2021</em> and those targets would <em style="font: inherit;">not</em> be met during fiscal <em style="font: inherit;">2022.</em> The reversal of the contingent consideration was recorded as a decrease in general and administrative expense in the Consolidated Statements of Comprehensive Income.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: left; text-indent: 27pt;">The results of Hubs since the date of acquisition have been included within the Company's results. Pro forma disclosures of the consolidated results of the Company with the full year effects of Hubs, as if the acquisition had occurred on <em style="font: inherit;"> January 1, 2020, </em>are <em style="font: inherit;">not</em> required and have <em style="font: inherit;">not</em> been separately presented since the impact to the Company's results of operations was <em style="font: inherit;">not</em> material.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: left; text-indent: 27pt;">The acquisition has been accounted for under the acquisition method of accounting in accordance with ASC <em style="font: inherit;">805,</em> <i>Business Combinations</i>. Throughout fiscal <em style="font: inherit;">2021</em> the Company recorded adjustments to the preliminary allocation of the purchase price due to changes to the preliminary valuation and finalization of the working capital calculation. Adjustments from the original amounts recorded included a $3.9 million decrease to intangible assets, a $5.5 million increase to goodwill, a $3.3 million increase to contingent consideration, a $1.4 million decrease to deferred tax liabilities, and a decrease to cash paid of $0.3 million. The final purchase price allocation is as follows:</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:27pt;"> </p> <hr style="text-align: center;height: 1px; color: #000000; background-color: #000000; width: 85%; border: none; margin: 0 auto 0 auto;"/> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"> <tbody> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 82%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Assets acquired:</b></p> </td> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Current assets</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,497</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Intangible assets</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">30,770</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Goodwill</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">280,925</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Other long-term assets</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,139</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total assets acquired</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">315,331</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Liabilities assumed:</b></p> </td> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Current contingent consideration</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">7,093</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Current liabilities</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">5,666</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Long-term contingent consideration</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">6,507</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Long-term deferred tax liabilities</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">1,688</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Other long-term liabilities</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">255</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total liabilities assumed</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">21,209</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Net assets acquired</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">294,122</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Cash paid</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">133,847</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Cash acquired</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(6,434</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Net cash consideration</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">127,413</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Equity portion of purchase price</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">166,709</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total purchase consideration</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">294,122</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td> </tr> </tbody> </table> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:27pt;"> </p> <hr style="text-align: center;height: 1px; color: #000000; background-color: #000000; width: 85%; border: none; margin: 0 auto 0 auto;"/> 294100000 127400000 863995 166700000 52800000 25000000.0 143983 27800000 13600000 -3900000 5500000 3300000 1400000 -300000 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"> <tbody> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 82%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Assets acquired:</b></p> </td> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Current assets</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,497</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Intangible assets</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">30,770</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Goodwill</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">280,925</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Other long-term assets</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,139</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total assets acquired</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">315,331</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Liabilities assumed:</b></p> </td> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Current contingent consideration</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">7,093</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Current liabilities</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">5,666</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Long-term contingent consideration</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">6,507</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Long-term deferred tax liabilities</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">1,688</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Other long-term liabilities</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">255</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total liabilities assumed</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">21,209</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Net assets acquired</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">294,122</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Cash paid</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">133,847</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Cash acquired</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(6,434</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Net cash consideration</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">127,413</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Equity portion of purchase price</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">166,709</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total purchase consideration</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">294,122</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td> </tr> </tbody> </table> 2497000 30770000 280925000 1139000 315331000 7093000 5666000 6507000 1688000 255000 21209000 294122000 133847000 6434000 127413000 166709000 294122000 <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><b>Note <em style="font: inherit;">6</em> – Goodwill and Other Intangible Assets</b></p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 22.2pt;text-align:left;"><b> </b></p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">The changes in the carrying amount of goodwill for the years ended <em style="font: inherit;"> December 31, 2021 </em>and <em style="font: inherit;">2020</em> were as follows:</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:27pt;"> </p> <hr style="text-align: center;height: 1px; color: #000000; background-color: #000000; width: 85%; border: none; margin: 0 auto 0 auto;"/> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:27pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt; width: 16%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Dec. 31, 2019</b></b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Goodwill acquired during 2020</b></b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Dec. 31, 2020</b></b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Goodwill acquired during 2021</b></b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Foreign currency translation adjustments during 2021</b></b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Dec. 31, 2021</b></b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom;"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">United States</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">123,883</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">123,883</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">151,276</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">275,159</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Europe</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">4,239</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">4,239</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">129,649</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(9,067</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">124,821</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Japan</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">630</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">630</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">630</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total goodwill</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">128,752</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">128,752</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">280,925</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(9,067</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">400,610</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:27pt;"> </p> <hr style="text-align: center;height: 1px; color: #000000; background-color: #000000; width: 85%; border: none; margin: 0 auto 0 auto;"/> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:27pt;"> </p> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 8pt; text-indent: 18pt;">Goodwill increased $280.9 million for the year ended <em style="font: inherit;"> December 31, 2021 </em>as a result of our acquisition of Hubs. Goodwill has been allocated to the acquired Hubs entities consisting of goodwill of <span style="-sec-ix-hidden:c80619226">€106.5</span> million in Europe and $151.3 million in the United States as of the date of the acquisition. The Euro denominated goodwill is translated at the end of each period using the current exchange rates resulting in a foreign currency translation adjustment that is recorded as a component of Other Comprehensive Income.</p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">Intangible assets other than goodwill for the years ended <em style="font: inherit;"> December 31, 2021 </em>and <em style="font: inherit;">2020</em> were as follows: </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> <hr style="text-align: center;height: 1px; color: #000000; background-color: #000000; width: 90%; border: none; margin: 0 auto 0 auto;"/> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 5%; width: 90%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="10" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31, 2021</em></em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="10" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31, 2020</em></em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="text-align: center; font-family: Times New Roman; font-size: 10pt;"><em style="font: inherit;"> </em></td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"><b> </b></td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Weighted Average Useful Life</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; width: 20%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Gross</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Accumulated Amortization</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Net</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Gross</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Accumulated Amortization</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Net</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Useful Life (in years)</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Remaining (in years)</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Marketing assets</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">930</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(713</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">217</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">930</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(620</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">310</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 7%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: center;">10.0</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 7%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: center;">2.3</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Non-compete agreement</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">842</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(363</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">479</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">270</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(238</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">32</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 7%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: center;">2.0 - 5.0</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 7%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: center;">2.9</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Software technology</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">13,229</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(5,014</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">8,215</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">13,229</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(3,645</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">9,584</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 7%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: center;">10.0</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 7%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: center;">6.5</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Software platform</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">26,725</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">(2,262</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">24,463</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 7%; font-family: Times New Roman; font-size: 10pt; text-align: center; padding: 0; margin: 0">12.0</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 7%; font-family: Times New Roman; font-size: 10pt; text-align: center; padding: 0; margin: 0">11.1</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Tradenames</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">359</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">(114</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">245</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 7%; font-family: Times New Roman; font-size: 10pt; text-align: center; padding: 0; margin: 0">3.0</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 7%; font-family: Times New Roman; font-size: 10pt; text-align: center; padding: 0; margin: 0">2.1</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Customer relationships</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">12,252</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(7,873</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">4,379</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">10,070</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(5,646</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">4,424</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 7%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: center;">3.0 - 9.0</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 7%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: center;">1.8</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total intangible assets</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">54,337</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(16,339</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">37,998</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">24,499</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(10,149</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">14,350</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"><em style="font: inherit;"> </em></td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"><em style="font: inherit;"> </em></td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 22.2pt;text-align:left;text-indent:27pt;"> </p> <hr style="text-align: center;height: 1px; color: #000000; background-color: #000000; width: 90%; border: none; margin: 0 auto 0 auto;"/> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 22.2pt;text-align:left;text-indent:27pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">Amortization expense for intangible assets for the years ended <em style="font: inherit;"> December 31, 2021, </em><em style="font: inherit;">2020</em> and <em style="font: inherit;">2019</em> was $6.2 million, $3.0 million and $3.5 million, respectively. The Euro denominated intangible assets are translated at the end of each period using the current exchange rates resulting in a foreign currency translation adjustment that is recorded as a component of Other Comprehensive Income. For the year ended <em style="font: inherit;"> December 31, 2021, </em>the foreign currency translation adjustment was $0.9 million.  There were no foreign currency translation adjustments for the years ended <em style="font: inherit;"> December 31, 2020 </em>and <em style="font: inherit;">2019.</em></p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 22.2pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">Estimated aggregated amortization expense based on the current carrying value of the amortizable intangible assets is as follows:</p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> <hr style="text-align: center;height: 1px; color: #000000; background-color: #000000; width: 85%; border: none; margin: 0 auto 0 auto;"/> <p style="margin: 0pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 82%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><b><em style="font: inherit;">Estimated Amortization Expense</em></b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> <p style="margin-top: 0pt; margin-bottom: 0pt">2022</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">6,172</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> <p style="margin-top: 0pt; margin-bottom: 0pt">2023</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">5,968</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> <p style="margin-top: 0pt; margin-bottom: 0pt">2024</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">3,790</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> <p style="margin-top: 0pt; margin-bottom: 0pt">2025</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">3,690</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> <p style="margin-top: 0pt; margin-bottom: 0pt">2026</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">3,586</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> <p style="margin-top: 0pt; margin-bottom: 0pt">Thereafter</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: thin solid rgb(0, 0, 0);"> </td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: thin solid rgb(0, 0, 0);">14,792</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Total estimated amortization expense</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">37,998</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> <hr style="text-align: center;height: 1px; color: #000000; background-color: #000000; width: 85%; border: none; margin: 0 auto 0 auto;"/> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"/> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt; width: 16%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Dec. 31, 2019</b></b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Goodwill acquired during 2020</b></b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Dec. 31, 2020</b></b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Goodwill acquired during 2021</b></b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Foreign currency translation adjustments during 2021</b></b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Dec. 31, 2021</b></b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom;"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">United States</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">123,883</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">123,883</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">151,276</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">275,159</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Europe</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">4,239</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">4,239</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">129,649</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(9,067</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">124,821</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Japan</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">630</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">630</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">630</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total goodwill</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">128,752</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">128,752</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">280,925</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(9,067</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">400,610</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 123883000 0 123883000 151276000 0 275159000 4239000 0 4239000 129649000 -9067000 124821000 630000 0 630000 0 0 630000 128752000 0 128752000 280925000 -9067000 400610000 280900000 151300000 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 5%; width: 90%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="10" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31, 2021</em></em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="10" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31, 2020</em></em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="text-align: center; font-family: Times New Roman; font-size: 10pt;"><em style="font: inherit;"> </em></td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"><b> </b></td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Weighted Average Useful Life</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; width: 20%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Gross</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Accumulated Amortization</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Net</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Gross</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Accumulated Amortization</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Net</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Useful Life (in years)</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Remaining (in years)</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Marketing assets</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">930</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(713</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">217</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">930</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(620</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">310</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 7%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: center;">10.0</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 7%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: center;">2.3</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Non-compete agreement</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">842</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(363</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">479</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">270</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(238</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">32</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 7%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: center;">2.0 - 5.0</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 7%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: center;">2.9</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Software technology</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">13,229</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(5,014</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">8,215</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">13,229</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(3,645</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">9,584</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 7%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: center;">10.0</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 7%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: center;">6.5</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Software platform</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">26,725</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">(2,262</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">24,463</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 7%; font-family: Times New Roman; font-size: 10pt; text-align: center; padding: 0; margin: 0">12.0</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 7%; font-family: Times New Roman; font-size: 10pt; text-align: center; padding: 0; margin: 0">11.1</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Tradenames</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">359</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">(114</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">245</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 7%; font-family: Times New Roman; font-size: 10pt; text-align: center; padding: 0; margin: 0">3.0</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 7%; font-family: Times New Roman; font-size: 10pt; text-align: center; padding: 0; margin: 0">2.1</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Customer relationships</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">12,252</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(7,873</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">4,379</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">10,070</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(5,646</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">4,424</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 7%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: center;">3.0 - 9.0</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 7%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: center;">1.8</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total intangible assets</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">54,337</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(16,339</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">37,998</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">24,499</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(10,149</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">14,350</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"><em style="font: inherit;"> </em></td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"><em style="font: inherit;"> </em></td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px;"> </td></tr> </tbody></table> 930000 713000 217000 930000 620000 310000 P10Y P2Y3M18D 842000 363000 479000 270000 238000 32000 P2Y P5Y P2Y10M24D 13229000 5014000 8215000 13229000 3645000 9584000 P10Y P6Y6M 26725000 -2262000 24463000 0 0 0 P12Y P11Y1M6D 359000 -114000 245000 0 0 0 P3Y P2Y1M6D 12252000 7873000 4379000 10070000 5646000 4424000 P3Y P9Y P1Y9M18D 54337000 16339000 37998000 24499000 10149000 14350000 6200000 3000000.0 3500000 900000 0 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 82%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><b><em style="font: inherit;">Estimated Amortization Expense</em></b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> <p style="margin-top: 0pt; margin-bottom: 0pt">2022</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">6,172</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> <p style="margin-top: 0pt; margin-bottom: 0pt">2023</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">5,968</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> <p style="margin-top: 0pt; margin-bottom: 0pt">2024</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">3,790</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> <p style="margin-top: 0pt; margin-bottom: 0pt">2025</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">3,690</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> <p style="margin-top: 0pt; margin-bottom: 0pt">2026</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">3,586</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> <p style="margin-top: 0pt; margin-bottom: 0pt">Thereafter</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: thin solid rgb(0, 0, 0);"> </td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: thin solid rgb(0, 0, 0);">14,792</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Total estimated amortization expense</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">37,998</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 6172000 5968000 3790000 3690000 3586000 14792000 37998000 <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><b>Note <em style="font: inherit;">7</em> – Fair Value Measurements</b></p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 22.2pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">ASC <em style="font: inherit;">820,</em><i> Fair Value Measuremen</i>t (ASC <em style="font: inherit;">820</em>), defines fair value as the exchange price that would be received for an asset or paid to transfer a liability (an exit price) in the principal or most advantageous market for the asset or liability in an orderly transaction between market participants on the measurement date. ASC <em style="font: inherit;">820</em> also establishes a fair value hierarchy which requires classification based on observable and unobservable inputs when measuring fair value. There are <em style="font: inherit;">three</em> levels of inputs that <em style="font: inherit;"> may </em>be used to measure fair value:</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:27pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 45pt; text-align: left;"><i>Level </i><em style="font: inherit;">1—Quoted</em> prices in active markets for identical assets or liabilities.</p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 45pt; text-align: left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 45pt; text-align: left;"><i>Level </i><em style="font: inherit;">2—Observable</em> inputs other than Level <em style="font: inherit;">1</em> prices such as quoted prices for similar assets or liabilities; quoted prices in markets that are <em style="font: inherit;">not</em> active; or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities.</p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 45pt; text-align: left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 45pt; text-align: left;"><i>Level </i><em style="font: inherit;">3—Unobservable</em> inputs that are supported by little or <em style="font: inherit;">no</em> market activity and that are significant to the fair value of the assets or liabilities.</p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 45pt; text-align: left;"> </p> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 8pt; text-indent: 27pt;">The Company's assets and liabilities that are required to be measured or disclosed at fair value on a recurring basis include cash and cash equivalents and marketable securities. The Company’s cash consists of bank deposits. The Company’s cash equivalents measured at fair value consist of money market mutual funds. The Company determines the fair value of these investments using Level <em style="font: inherit;">1</em> inputs. The Company's marketable securities consist of short-term and long-term agency, municipal, corporate and other debt securities. Fair value for the corporate debt securities is primarily determined based on quoted market prices (Level <em style="font: inherit;">1</em>). Fair values for the U.S. municipal securities, U.S. government agency securities, certificates of deposit and U.S. treasury securities are primarily determined using dealer quotes or quoted market prices for similar securities (Level <em style="font: inherit;">2</em>). The Company's contingent consideration is the current fair value estimate of amounts owed to the former shareholders of Hubs and is determined using the Monte Carlo pricing model (Level <em style="font: inherit;">3</em>). The Company had no contingent consideration as of <em style="font: inherit;"> December 31, 2021.</em></p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:27pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">The following tables summarizes financial assets as of <em style="font: inherit;"> December 31, 2021 </em>and <em style="font: inherit;">2020</em> measured at fair value on a recurring basis:</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:27pt;"> </p> <hr style="text-align: left;height: 1px; color: #000000; background-color: #000000; width: 95%; border: none; margin: 0 auto 0 27pt;"/> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:27pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">December 31, 2021</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">December 31, 2020</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 22%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Level 1</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Level 2</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Level 3</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Level 1</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Level 2</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Level 3</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><b>Financial Assets:</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt; text-indent: 9pt;">Cash and cash equivalents</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">65,637</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">72,225</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Money market mutual fund</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">292</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">55,378</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt; text-indent: 9pt;">Marketable securities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">7,602</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">18,318</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">73,531</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">18,318</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">127,603</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:27pt;"> </p> <hr style="text-align: left;height: 1px; color: #000000; background-color: #000000; width: 95%; border: none; margin: 0 auto 0 27pt;"/> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:27pt;"> </p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:27pt;"> </p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"/> 0 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">December 31, 2021</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">December 31, 2020</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 22%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Level 1</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Level 2</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Level 3</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Level 1</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Level 2</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Level 3</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><b>Financial Assets:</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt; text-indent: 9pt;">Cash and cash equivalents</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">65,637</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">72,225</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Money market mutual fund</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">292</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">55,378</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt; text-indent: 9pt;">Marketable securities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">7,602</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">18,318</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">73,531</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">18,318</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">127,603</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td></tr> </tbody></table> 65637000 0 0 72225000 0 0 292000 0 0 55378000 0 0 7602000 18318000 0 0 0 0 73531000 18318000 0 127603000 0 0 <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><b>Note <em style="font: inherit;">8</em> – Marketable Securities</b></p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">The Company invests in short-term and long-term agency, municipal, corporate and other debt securities. As of <em style="font: inherit;"> December 31, </em><em style="font: inherit;">2021,</em> the securities are categorized as available-for-sale and are recorded at fair value. As of <em style="font: inherit;"> December 31, 2020, </em>the securities were categorized as held-to-maturity and were recorded at amortized cost, net of an allowance for credit losses. The change in categorization was a result of the sale of securities in the <em style="font: inherit;">first</em> quarter of <em style="font: inherit;">2021</em> in order to partially fund the acquisition of Hubs and did <em style="font: inherit;">not</em> have a material impact on our financial statements. </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">Information regarding the Company’s short-term and long-term marketable securities as of <em style="font: inherit;"> December 31, 2021 </em>and <em style="font: inherit;">2020</em> is as follows:</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 22.2pt;text-align:left;"> </p> <hr style="text-align: left;height: 1px; color: #000000; background-color: #000000; width: 95%; border: none; margin: 0 auto 0 18pt;"/> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 22.2pt;text-align:left;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 18pt; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td colspan="14" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">December 31, 2021</em></em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 48%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Amortized Cost</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Unrealized Gains</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Unrealized Losses</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Fair Value</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">U.S. government agency securities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,500</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(12</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,488</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Corporate debt securities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">9,303</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(44</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">9,259</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">U.S. municipal securities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">12,549</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(70</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">12,479</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Commercial paper</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Certificates of deposit/time deposits</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,687</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">7</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,694</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Total marketable securities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">26,039</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">7</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(126</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">25,920</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td></tr> </tbody></table> <p style="margin: 0pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="text-align: left;height: 1px; color: #000000; background-color: #000000; width: 95%; border: none; margin: 0 auto 0 18pt;"/> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 22.2pt;text-align:left;"> </p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 22.2pt;text-align:left;"> </p> <hr style="text-align: left;height: 1px; color: #000000; background-color: #000000; width: 95%; border: none; margin: 0 auto 0 18pt;"/> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 22.2pt;text-align:left;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 18pt; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td colspan="14" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">December 31, 2020</em></em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 48%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Amortized Cost</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Unrealized Gains</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Unrealized Losses</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Fair Value</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">U.S. government agency securities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">18,500</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">6</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(10</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">18,496</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Corporate debt securities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">42,048</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">211</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(11</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">42,248</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">U.S. municipal securities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">25,003</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">83</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(2</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">25,084</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> <p style="margin-top: 0pt; margin-bottom: 0pt">Commercial paper</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">2,499</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">2,499</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Certificates of deposit/time deposits</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">5,395</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">93</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">5,488</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Total marketable securities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">93,445</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">393</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(23</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">93,815</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td></tr> </tbody></table> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> <hr style="text-align: left;height: 1px; color: #000000; background-color: #000000; width: 95%; border: none; margin: 0 auto 0 18pt;"/> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">Fair values for the corporate debt securities are primarily determined based on quoted market prices (Level <em style="font: inherit;">1</em>). Fair values for the U.S. government agency securities, U.S. municipal securities, commercial paper and certificates of deposit are primarily determined using dealer quotes or quoted market prices for similar securities (Level <em style="font: inherit;">2</em>).</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:18pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 7.2pt 0pt -2pt; text-align: left; text-indent: 27pt;">During the <em style="font: inherit;">first</em> quarter of <em style="font: inherit;">2020,</em> the Company adopted the FASB ASU <em style="font: inherit;">2016</em>-<em style="font: inherit;">13,</em> <i>Financial Instruments – Credit Losses</i>. The Company calculated the expected credit loss for each security in its portfolio using the probability-of-default method. The Company concluded the adoption of the guidance had <em style="font: inherit;">no</em> material impact on its consolidated financial statements.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:18pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">Classification of marketable securities as current or non-current is based upon the security’s maturity date as of the date of these financial statements.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 22.2pt;text-align:left;text-indent:22.5pt;"> </p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 22.2pt;text-align:center;"/> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">The <em style="font: inherit;"> December 31, 2021</em> balance of available-for-sale debt securities by contractual maturity is shown in the following table at fair value. Actual maturities <em style="font: inherit;"> may </em>differ from contractual maturities because the issuers of the securities <em style="font: inherit;"> may </em>have the right to prepay obligations without prepayment penalties.</p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> <hr style="text-align: center;height: 1px; color: #000000; background-color: #000000; width: 90%; border: none; margin: 0 auto 0 auto;"/> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 5%; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">December 31,</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 83%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Due in one year or less</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">11,580</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Due after one year through five years</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">14,340</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Total marketable securities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">25,920</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td></tr> </tbody></table> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> <hr style="text-align: center;height: 1px; color: #000000; background-color: #000000; width: 90%; border: none; margin: 0 auto 0 auto;"/> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 18pt; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td colspan="14" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">December 31, 2021</em></em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 48%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Amortized Cost</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Unrealized Gains</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Unrealized Losses</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Fair Value</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">U.S. government agency securities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,500</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(12</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,488</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Corporate debt securities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">9,303</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(44</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">9,259</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">U.S. municipal securities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">12,549</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(70</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">12,479</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Commercial paper</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Certificates of deposit/time deposits</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,687</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">7</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,694</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Total marketable securities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">26,039</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">7</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(126</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">25,920</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td></tr> </tbody></table> 2500000 0 12000 2488000 9303000 0 44000 9259000 12549000 0 70000 12479000 0 0 -0 0 1687000 7000 -0 1694000 26039000 7000 126000 25920000 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 18pt; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td colspan="14" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">December 31, 2020</em></em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 48%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Amortized Cost</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Unrealized Gains</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Unrealized Losses</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Fair Value</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">U.S. government agency securities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">18,500</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">6</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(10</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">18,496</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Corporate debt securities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">42,048</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">211</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(11</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">42,248</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">U.S. municipal securities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">25,003</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">83</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(2</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">25,084</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> <p style="margin-top: 0pt; margin-bottom: 0pt">Commercial paper</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">2,499</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">2,499</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Certificates of deposit/time deposits</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">5,395</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">93</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">5,488</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Total marketable securities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">93,445</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">393</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(23</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">93,815</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td></tr> </tbody></table> 18500000 6000 10000 18496000 42048000 211000 11000 42248000 25003000 83000 2000 25084000 2499000 0 -0 2499000 5395000 93000 -0 5488000 93445000 393000 23000 93815000 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 5%; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">December 31,</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 83%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Due in one year or less</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">11,580</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Due after one year through five years</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">14,340</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Total marketable securities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">25,920</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td></tr> </tbody></table> 11580000 14340000 25920000 <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><b>Note <em style="font: inherit;">9</em> – Property and Equipment</b></p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">Property and equipment consists of the following:</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 22.2pt;text-align:left;text-indent:22.5pt;"> </p> <hr style="text-align: center;height: 1px; color: #000000; background-color: #000000; width: 90%; border: none; margin: 0 auto 0 auto;"/> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 22.2pt;text-align:left;text-indent:22.5pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 5%; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"> <tbody> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;">December 31,</em></em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 66%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Land</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">15,009</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">14,028</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Buildings and improvements</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">107,241</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">77,285</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Machinery and equipment</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">234,900</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">221,301</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Computer hardware and software</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">81,889</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">79,207</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Leasehold improvements</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">8,373</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">7,821</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Construction in progress</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">14,489</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">33,780</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Total</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">461,901</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">433,422</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Accumulated depreciation and amortization</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(181,555</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(150,756</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Property and equipment, net</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">280,346</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">282,666</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td> </tr> </tbody> </table> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 22.2pt;text-align:left;text-indent:22.5pt;"> </p> <hr style="text-align: center;height: 1px; color: #000000; background-color: #000000; width: 90%; border: none; margin: 0 auto 0 auto;"/> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:27pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> Depreciation expense for the years ended <em style="font: inherit;"> December 31, 2021, </em><em style="font: inherit;">2020</em> and <em style="font: inherit;">2019</em> was $34.3 million, $29.6 million and $27.4 million, respectively.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 22.2pt;text-align:left;text-indent:22.5pt;"> </p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 5%; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"> <tbody> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;">December 31,</em></em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 66%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Land</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">15,009</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">14,028</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Buildings and improvements</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">107,241</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">77,285</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Machinery and equipment</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">234,900</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">221,301</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Computer hardware and software</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">81,889</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">79,207</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Leasehold improvements</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">8,373</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">7,821</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Construction in progress</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">14,489</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">33,780</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Total</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">461,901</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">433,422</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Accumulated depreciation and amortization</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(181,555</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(150,756</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Property and equipment, net</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">280,346</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">282,666</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td> </tr> </tbody> </table> 15009000 14028000 107241000 77285000 234900000 221301000 81889000 79207000 8373000 7821000 14489000 33780000 461901000 433422000 181555000 150756000 280346000 282666000 34300000 29600000 27400000 <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><b>Note <em style="font: inherit;">10</em> – Inventory</b></p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 22.2pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">Inventory consists primarily of raw materials, which are recorded at the lower of cost or market using the standard cost method, which approximates <em style="font: inherit;">first</em>-in, <em style="font: inherit;">first</em>-out (FIFO) cost. The Company periodically reviews its inventory for slow-moving, damaged and discontinued items and provides allowances to reduce such items identified to their recoverable amounts.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:18pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">The Company’s inventory consists of the following:</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:27pt;"> </p> <hr style="text-align: center;height: 1px; color: #000000; background-color: #000000; width: 90%; border: none; margin: 0 auto 0 auto;"/> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:27pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 5%; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;">December 31,</em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 66%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> <p style="margin-top: 0pt; margin-bottom: 0pt">Total inventory</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">13,474</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">11,122</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Allowance for obsolescence</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(313</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(260</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> <p style="margin-top: 0pt; margin-bottom: 0pt">Inventory, net of allowance</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">13,161</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">10,862</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:27pt;"> </p> <hr style="text-align: center;height: 1px; color: #000000; background-color: #000000; width: 90%; border: none; margin: 0 auto 0 auto;"/> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:27pt;"> </p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"/> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 5%; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;">December 31,</em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 66%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> <p style="margin-top: 0pt; margin-bottom: 0pt">Total inventory</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">13,474</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">11,122</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Allowance for obsolescence</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(313</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(260</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> <p style="margin-top: 0pt; margin-bottom: 0pt">Inventory, net of allowance</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">13,161</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">10,862</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td></tr> </tbody></table> 13474000 11122000 313000 260000 13161000 10862000 <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><b>Note <em style="font: inherit;">11</em> – Financing Obligations</b></p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 22.2pt;text-align:left;"><b> </b></p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">The Company had no financing obligations as of <em style="font: inherit;"> December 31, 2021 </em>and <em style="font: inherit;">2020</em>.<i> </i></p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 22.2pt;text-align:left;"> </p> 0 <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><b>Note <em style="font: inherit;">12</em> – Employee Benefit Plans</b></p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">The Company maintains a <em style="font: inherit;">401</em>(k) retirement plan that covers employees in the United States. Under the plan, a full-time or regular part-time (over 20 hours/week) employee becomes a participant after completing <span style="-sec-ix-hidden:c80619548">three</span> months of employment. Employees <em style="font: inherit;"> may </em>elect to contribute up to 50 percent of regular gross pay, subject to federal law limits on the dollar amount that participants <em style="font: inherit;"> may </em>contribute to the plan, each calendar year. The Company matches part of the employee contributions and <em style="font: inherit;"> may </em>make a discretionary contribution to the plan. Total employer contributions were approximately $3.7 million, $3.3 million and $3.1 million for the years ended <em style="font: inherit;"> December 31, 2021, </em><em style="font: inherit;">2020</em> and <em style="font: inherit;">2019,</em> respectively.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:18pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">The Company also sponsors a defined contribution retirement plan that covers the employees in the United Kingdom. Total employer contributions were approximately $0.4 million, $0.5 million and $0.3 million for the years ended <em style="font: inherit;"> December 31, 2021, </em><em style="font: inherit;">2020</em> and <em style="font: inherit;">2019,</em> respectively.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p> 20 0.50 3700000 3300000 3100000 400000 500000 300000 <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><b>Note <em style="font: inherit;">13</em> – Stock-Based Compensation</b></p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">The Company has <em style="font: inherit;">two</em> equity incentive plans: the <em style="font: inherit;">2000</em> Stock Option Plan (<em style="font: inherit;">2000</em> Plan) and the <em style="font: inherit;">2012</em> Long-Term Incentive Plan (<em style="font: inherit;">2012</em> Plan). Upon the adoption of the <em style="font: inherit;">2012</em> Plan on <em style="font: inherit;"> February 12, 2012, </em>all shares that were reserved but <em style="font: inherit;">not</em> issued under the <em style="font: inherit;">2000</em> Plan were assumed by the <em style="font: inherit;">2012</em> Plan. <em style="font: inherit;">No</em> additional awards will be issued under the <em style="font: inherit;">2000</em> Plan. Under the <em style="font: inherit;">2012</em> Plan, the Company has the ability to grant stock options, stock appreciation rights (SARs), restricted stock, performance stock, stock units, other stock-based awards and cash incentive awards. Awards under the <em style="font: inherit;">2012</em> Plan have a maximum term of <span style="-sec-ix-hidden:c80619574">ten</span> years from the date of grant. The compensation committee of the board of directors <em style="font: inherit;"> may </em>provide that the vesting or payment of any award will be subject to the attainment of specified performance measures in addition to the satisfaction of any continued service requirements, and the compensation committee will determine whether such measures have been achieved. The per share exercise price of stock options and SARs granted under the <em style="font: inherit;">2012</em> Plan generally <em style="font: inherit;"> may </em><em style="font: inherit;">not</em> be less than the fair market value of a share of our common stock on the date of the grant. Restricted stock is valued at fair market value on the date of grant.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"><b> </b></p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 22.2pt;text-align:left;text-indent:22.5pt;"/> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">The Company’s <em style="font: inherit;">2012</em> Employee Stock Purchase Plan (ESPP) allows eligible employees to purchase a variable number of shares of the Company’s common stock at a discount through payroll deductions of up to 15 percent of their eligible compensation, subject to plan limitations. The ESPP provides for <span style="-sec-ix-hidden:c80619580">six</span>-month offering periods with a single purchase period, and at the end of each offering period, employees are able to purchase shares at 85 percent of the lower of the fair market value of the Company’s common stock on the <em style="font: inherit;">first</em> trading day of the offering period or on the last trading day of the offering period. The Company determines the fair value stock-based compensation related to its ESPP in accordance with ASC <em style="font: inherit;">718</em> using the component measurement approach and the Black-Scholes standard option pricing model.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:27pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">Employees purchased 67,729 and 42,235 shares of common stock under the ESPP at an average exercise price of $61.96 and $85.85 during <em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em>, respectively. As of <em style="font: inherit;"> December 31, 2021</em>, 1,058,866 shares remained available for future issuance under the ESPP.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:27pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">The Company determines its stock-based compensation in accordance with ASC <em style="font: inherit;">718,</em> which requires the measurement and recognition of compensation expense for all share-based payment awards made to employees and non-employee directors based on fair value.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:27pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">Determining the appropriate fair value model and calculating the fair value of stock option grants requires the input of subjective assumptions. The Company uses the Black-Scholes option pricing model to value its stock option awards. Stock-based compensation expense is calculated using the Company’s best estimates, which involve inherent uncertainties and the application of management’s judgment. Significant estimates include its expected term and stock price volatility.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:27pt;">  </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">The expected term of stock options is estimated from the vesting period of the award and represents the weighted average period that the Company's stock options are expected to be outstanding. The Company estimates the volatility of its stock price based on the historic volatility of its common stock. The Company bases the risk-free interest rate that it uses in the Black-Scholes option pricing model on U.S. Treasury instruments with maturities similar to the expected term of the award being valued. The Company has never paid and does <em style="font: inherit;">not</em> anticipate paying, any cash dividends in the foreseeable future and, therefore, the Company uses an expected dividend yield of <em style="font: inherit;">zero</em> in the option pricing model. The Company accounts for forfeitures as they occur. The Company recognizes stock-based compensation expense on a straight-line basis over the requisite service period.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:27pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">The following table summarizes stock-based compensation expense for the years ended <em style="font: inherit;"> December 31, 2021, </em><em style="font: inherit;">2020</em> and <em style="font: inherit;">2019</em>, respectively:</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 22.2pt;text-align:left;text-indent:22.5pt;"> </p> <hr style="text-align: left;height: 1px; color: #000000; background-color: #000000; width: 90%; border: none; margin: 0 auto 0 27pt;"/> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 22.2pt;text-align:left;text-indent:22.5pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 27pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31,</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 49%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2019</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Stock options and other</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">17,553</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">13,327</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">9,591</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Employee stock purchase plan</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,542</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,346</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,190</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Total stock-based compensation expense</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">19,095</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">14,673</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">10,781</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Cost of revenue</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,595</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,451</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,056</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Operating expenses:</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Marketing and sales</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">3,736</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">3,121</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,632</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Research and development</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,833</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,440</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,851</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">General and administrative</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">9,931</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">6,661</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">4,242</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Total stock-based compensation expense</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">19,095</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">14,673</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">10,781</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 22.2pt;text-align:left;text-indent:22.5pt;"> </p> <hr style="text-align: left;height: 1px; color: #000000; background-color: #000000; width: 90%; border: none; margin: 0 auto 0 27pt;"/> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 22.2pt;text-align:left;text-indent:22.5pt;"> </p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 22.2pt;text-align:center;"/> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><b>Stock Options</b></p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 22.2pt;text-align:left;text-indent:22.5pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">The following table provides the assumptions used in the Black-Scholes option pricing model for the years ended <em style="font: inherit;"> December 31, 2021, </em><em style="font: inherit;">2020</em> and <em style="font: inherit;">2019</em>:</p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> <hr style="text-align: left;height: 1px; color: #000000; background-color: #000000; width: 95%; border: none; margin: 0 auto 0 18pt;"/> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" style="margin-right: 5%; margin-left: 18pt; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31,</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2019</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Risk-free interest rate</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">0.80 - 1.12%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">0.50 - 1.47%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2.35 - 2.58%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Expected life (years)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">6.25</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">6.25</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">6.25</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Expected volatility</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">45.28 - 45.53%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">42.40 - 43.83%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">42.52 - 42.74%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Expected dividend yield</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">0%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">0%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">0%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Weighted average grant date fair value</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 13%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$128.14</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 13%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$45.32</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 13%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$47.84</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> <hr style="text-align: left;height: 1px; color: #000000; background-color: #000000; width: 95%; border: none; margin: 0 auto 0 18pt;"/> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">The following table summarizes stock option activity and the weighted average exercise price for the years ended <em style="font: inherit;"> December 31, 2021, </em><em style="font: inherit;">2020</em> and <em style="font: inherit;">2019</em>:</p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> <hr style="text-align: left;height: 1px; color: #000000; background-color: #000000; width: 95%; border: none; margin: 0 auto 0 18pt;"/> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 18pt; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;"> </em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Weighted-</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;"> </em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Average</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Stock Options</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Exercise Price</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Options outstanding at January 1, 2019</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">252,616</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">64.71</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Granted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">53,708</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">105.81</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Exercised</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(16,079</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">48.67</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Cancelled</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(13,979</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">89.50</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Options outstanding at December 31, 2019</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">276,266</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">72.38</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Granted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">60,065</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">105.79</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Exercised</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(68,958</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">57.00</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Cancelled</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(37,842</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">67.92</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Options outstanding at December 31, 2020</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">229,531</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">86.46</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Granted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">57,901</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">128.14</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Exercised</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(28,991</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">58.78</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Cancelled</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(25,057</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">109.31</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Options outstanding at December 31, 2021</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">233,384</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">97.78</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Exercisable at December 31, 2021</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">115,700</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">81.30</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> <hr style="text-align: left;height: 1px; color: #000000; background-color: #000000; width: 95%; border: none; margin: 0 auto 0 18pt;"/> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">The outstanding options have a term of 10 years. For employees, options that have been granted become exercisable ratably over the vesting period, which is generally a <span style="-sec-ix-hidden:c80619602">four</span>- or <span style="-sec-ix-hidden:c80619603">five</span>-year period, beginning on the <em style="font: inherit;">first</em> anniversary of the grant date, subject to the employee’s continuing service to the Company. For directors, options generally become exercisable in full on the <em style="font: inherit;">first</em> anniversary of the grant date.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:18pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">The total intrinsic value of options exercised during the years ended <em style="font: inherit;"> December 31, 2021, </em><em style="font: inherit;">2020</em> and <em style="font: inherit;">2019</em>, was $3.8 million, $5.4 million and $0.9 million, respectively. The aggregate intrinsic value represents the cumulative difference between the fair market value of the underlying common stock and the option exercise prices.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:18pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">For options outstanding at <em style="font: inherit;"> December 31, 2021</em>, the weighted-average remaining contractual term was 6.7 years and the aggregate intrinsic value was $0.1 million. For options exercisable at <em style="font: inherit;"> December 31, 2021</em>, the weighted-average remaining contractual term was 5.0 years and the aggregate intrinsic value was $0.1 million. Refer to the table below for additional information.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 22.2pt;text-align:left;"> </p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:center;text-indent:18pt;"/> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">The following table summarizes information about stock options outstanding at <em style="font: inherit;"> December 31, 2021</em>:</p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> <hr style="text-align: left;height: 1px; color: #000000; background-color: #000000; width: 95%; border: none; margin: 0 auto 0 27pt;"/> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 25%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td colspan="8" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 31%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>Options Outstanding, Vested and Expected to Vest</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td colspan="5" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 16%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>Options Exercisable</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr class="finHeading" style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 25%; border-bottom: thin solid rgb(0, 0, 0);"> <p style="margin-top: 0pt; margin-bottom: 0pt"><b>Range of Exercise Prices</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"><b>Number Outstanding</b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"><b>Weighted Average Remaining Contractual Life</b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="margin-top: 0pt; margin-bottom: 0pt"><b>Weighted Average Exercise Price ($)</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"><b>Number Exercisable</b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="margin-top: 0pt; margin-bottom: 0pt"><b>Weighted Average Exercise Price ($)</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 25%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 12%; text-align: center;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; text-align: center;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; text-align: center;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 12%; text-align: center;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 12%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 12%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 12%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td></tr> <tr class="finHeading" style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 25%"> <p style="margin-top: 0pt; margin-bottom: 0pt">$7.76 to $31.43</p> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"><span style="-sec-ix-hidden:c80622190"> </span></td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%">4,624</td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"><span style="-sec-ix-hidden:c80622192"> </span></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%">0.35</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> <p style="margin-top: 0pt; margin-bottom: 0pt">30.58</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%">4,624</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> <p style="margin-top: 0pt; margin-bottom: 0pt">30.58</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td></tr> <tr class="finHeading" style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 25%"> <p style="margin-top: 0pt; margin-bottom: 0pt">$31.44 to $66.87</p> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"><span style="-sec-ix-hidden:c80622197"> </span></td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%">50,159</td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"><span style="-sec-ix-hidden:c80622199"> </span></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%">3.58</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> <p style="margin-top: 0pt; margin-bottom: 0pt">57.13</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%">45,986</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> <p style="margin-top: 0pt; margin-bottom: 0pt">57.02</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td></tr> <tr class="finHeading" style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 25%"> <p style="margin-top: 0pt; margin-bottom: 0pt">$66.88 to $96.20</p> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"><span style="-sec-ix-hidden:c80622204"> </span></td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%">41,586</td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"><span style="-sec-ix-hidden:c80622206"> </span></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%">7.82</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> <p style="margin-top: 0pt; margin-bottom: 0pt">89.95</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%">9,570</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> <p style="margin-top: 0pt; margin-bottom: 0pt">71.68</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td></tr> <tr class="finHeading" style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 25%"> <p style="margin-top: 0pt; margin-bottom: 0pt">$96.21 to $180.46</p> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"><span style="-sec-ix-hidden:c80622211"> </span></td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%">137,015</td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"><span style="-sec-ix-hidden:c80622213"> </span></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%">7.67</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> <p style="margin-top: 0pt; margin-bottom: 0pt">117.31</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%">55,520</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> <p style="margin-top: 0pt; margin-bottom: 0pt">107.28</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td></tr> </tbody></table> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> <hr style="text-align: left;height: 1px; color: #000000; background-color: #000000; width: 95%; border: none; margin: 0 auto 0 27pt;"/> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">The fair value of share-based payment transactions is recognized in the Consolidated Statements of Comprehensive Income. As of <em style="font: inherit;"> December 31, 2021</em>, there was $4.3 million of total unrecognized compensation cost related to unvested stock options, which is expected to be recognized over a weighted average period of 2.6 years. The total fair value of options vested was $2.1 million, $1.8 million and $1.5 million for the years ended <em style="font: inherit;"> December 31, 2021, </em><em style="font: inherit;">2020</em> and <em style="font: inherit;">2019</em>, respectively.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 22.2pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><b>Restricted Stock</b></p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:18pt;"><b> </b></p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">The <em style="font: inherit;">2012</em> Plan provides for the award of restricted stock or restricted stock units. Restricted stock awards are share settled and restrictions lapse ratably over the vesting period, which is generally a <span style="-sec-ix-hidden:c80619624">three</span>- to <span style="-sec-ix-hidden:c80619625">five</span>-year period, beginning on the <em style="font: inherit;">first</em> anniversary of the grant date, subject to the employee’s continuing service to the Company. For directors, restrictions generally lapse in full on the <em style="font: inherit;">first</em> anniversary of the grant date.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:18pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">The following table summarizes restricted stock activity for the years ended <em style="font: inherit;"> December 31, 2021, </em><em style="font: inherit;">2020</em> and <em style="font: inherit;">2019</em>: </p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:27pt;"> </p> <hr style="text-align: center;height: 1px; color: #000000; background-color: #000000; width: 90%; border: none; margin: 0 auto 0 auto;"/> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:27pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 5%; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;"> </em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Weighted-</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;"> </em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Average</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;"> </em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Grant Date</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Restricted</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Fair Value</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Stock Awards</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Per Share</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 66%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Restricted stock at January 1, 2019</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">323,921</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">79.85</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Granted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">115,471</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">106.35</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Restrictions lapsed</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(92,597</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">77.25</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Forfeited</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(31,822</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">87.58</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Restricted stock at December 31, 2019</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">314,973</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">89.55</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Granted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">108,179</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">111.76</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Restrictions lapsed</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(101,941</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">84.70</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Forfeited</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(14,012</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">94.24</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Restricted stock at December 31, 2020</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">307,199</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">98.87</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Granted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">205,996</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">123.61</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Restrictions lapsed</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(115,908</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">91.26</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Forfeited</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(53,505</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">128.05</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Restricted stock at December 31, 2021</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">343,782</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">111.79</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:27pt;"> </p> <hr style="text-align: center;height: 1px; color: #000000; background-color: #000000; width: 90%; border: none; margin: 0 auto 0 auto;"/> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"> </p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 22.2pt;text-align:center;"/> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">As of <em style="font: inherit;"> December 31, 2021</em>, there was $26.0 million of unrecognized compensation expense related to non-vested restricted stock, which is expected to be recognized over a weighted-average period of 2.4 years.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:center;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><b>Performance Stock</b></p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 22.2pt;text-align:left;"> </p> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 8pt; text-indent: 18pt;">Performance stock units (PSUs) are expressed in terms of a target number of PSUs, with anywhere between <span style="-sec-ix-hidden:c80619633">0</span> percent and 150 percent of that target number capable of being earned and vesting at the end of a <span style="-sec-ix-hidden:c80619635">three</span>-year performance period depending on the Company’s performance in the final year of the performance period and the award recipient’s continued employment. The Company’s PSUs granted from <em style="font: inherit;">2017</em> to <em style="font: inherit;">2019</em> and certain PSUs granted in <em style="font: inherit;">2021</em> are based on performance conditions and the related compensation cost is based on the probability that the performance conditions will be achieved. The Company’s PSUs granted in <em style="font: inherit;">2020</em> and certain PSUs granted in <em style="font: inherit;">2021</em> are based on market conditions and the related compensation cost is based on the fair value at grant date calculated using a Monte Carlo pricing model.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:18pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">The following table summarizes performance stock activity for the years ended <em style="font: inherit;"> December 31, 2021, </em><em style="font: inherit;">2020</em> and <em style="font: inherit;">2019</em>: </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> <hr style="text-align: left;height: 1px; color: #000000; background-color: #000000; width: 95%; border: none; margin: 0 auto 0 27pt;"/> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt -9pt; text-align: left; text-indent: 27pt;"> </p> <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;"> </em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Weighted-</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;"> </em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Average</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;"> </em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Grant Date</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Performance</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Fair Value</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Stock Awards</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Per Share</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Performance stock at January 1, 2019</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">52,140</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">76.54</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Granted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">21,434</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">104.99</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Restrictions lapsed</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> <p style="margin-top: 0pt; margin-bottom: 0pt">Performance change</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">(61,816</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">88.06</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Forfeited</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: thin solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: thin solid rgb(0, 0, 0);">(2,375</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">105.37</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Performance stock at December 31, 2019</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">9,383</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">58.35</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Granted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">19,956</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">118.66</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Restrictions lapsed</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(7,113</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">58.35</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Performance change</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Forfeited</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: thin solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: thin solid rgb(0, 0, 0);">(2,270</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">58.35</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Performance stock at December 31, 2020</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">19,956</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">118.66</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Granted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">15,078</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">203.64</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Restrictions lapsed</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Performance change</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(10,366</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">192.95</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Forfeited</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(7,829</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">113.91</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Performance stock at December 31, 2021</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">16,839</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">115.56</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> <hr style="text-align: left;height: 1px; color: #000000; background-color: #000000; width: 95%; border: none; margin: 0 auto 0 27pt;"/> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">As of <em style="font: inherit;"> December 31, 2021</em>, there was $0.8 million of unrecognized compensation expense related to non-vested performance stock, which is expected to be recognized over a weighted-average period of 1.8 years.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"><b> </b></p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><b>Employee Stock Purchase Plan</b></p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">The following table presents the assumptions used to estimate the fair value of the ESPP during the years ended <em style="font: inherit;"> December 31, 2021, </em><em style="font: inherit;">2020</em> and <em style="font: inherit;">2019</em>:</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 22.2pt;text-align:left;text-indent:22.5pt;"> </p> <hr style="text-align: left;height: 1px; color: #000000; background-color: #000000; width: 95%; border: none; margin: 0 auto 0 27pt;"/> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 22.2pt;text-align:left;text-indent:22.5pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" style="margin-right: 5%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="7" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: thin solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31,</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2019</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td> </td><td> </td><td style="text-align: center;"> </td><td style="text-align: center;"> </td><td style="text-align: center;"> </td><td style="text-align: center;"> </td><td style="text-align: center;"> </td><td style="text-align: center;"> </td><td style="text-align: center;"> </td><td> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Risk-free interest rate</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">0.06 - 0.17%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: center;"> </td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">0.12 - 0.17%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: center;"> </td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">1.59 - 2.35%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Expected life (months)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">6.00</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: center;"> </td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">6.00</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: center;"> </td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">6.00</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Expected volatility</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">53.44 - 65.53%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: center;"> </td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">50.85 - 59.99%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: center;"> </td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">42.63 - 53.57%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Expected dividend yield</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">0%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: center;"> </td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">0%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: center;"> </td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">0%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 22.2pt;text-align:left;text-indent:22.5pt;"> </p> <hr style="text-align: left;height: 1px; color: #000000; background-color: #000000; width: 95%; border: none; margin: 0 auto 0 27pt;"/> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 22.2pt;text-align:left;text-indent:22.5pt;"> </p> 0.15 0.85 67729 42235 61.96 85.85 1058866 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 27pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31,</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 49%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2019</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Stock options and other</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">17,553</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">13,327</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">9,591</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Employee stock purchase plan</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,542</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,346</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,190</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Total stock-based compensation expense</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">19,095</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">14,673</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">10,781</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Cost of revenue</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,595</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,451</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,056</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Operating expenses:</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Marketing and sales</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">3,736</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">3,121</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,632</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Research and development</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,833</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,440</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,851</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">General and administrative</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">9,931</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">6,661</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">4,242</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Total stock-based compensation expense</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">19,095</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">14,673</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">10,781</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td></tr> </tbody></table> 17553000 13327000 9591000 1542000 1346000 1190000 19095000 14673000 10781000 2595000 2451000 2056000 3736000 3121000 2632000 2833000 2440000 1851000 9931000 6661000 4242000 19095000 14673000 10781000 <table border="0" cellpadding="0" cellspacing="0" style="margin-right: 5%; margin-left: 18pt; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31,</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2019</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Risk-free interest rate</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">0.80 - 1.12%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">0.50 - 1.47%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2.35 - 2.58%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Expected life (years)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">6.25</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">6.25</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">6.25</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Expected volatility</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">45.28 - 45.53%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">42.40 - 43.83%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">42.52 - 42.74%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Expected dividend yield</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">0%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">0%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">0%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Weighted average grant date fair value</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 13%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$128.14</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 13%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$45.32</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 13%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$47.84</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> </tbody></table> 0.0080 0.0112 0.0050 0.0147 0.0235 0.0258 P6Y3M P6Y3M P6Y3M 0.4528 0.4553 0.4240 0.4383 0.4252 0.4274 0 0 0 128.14 45.32 47.84 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 18pt; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;"> </em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Weighted-</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;"> </em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Average</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Stock Options</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Exercise Price</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Options outstanding at January 1, 2019</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">252,616</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">64.71</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Granted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">53,708</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">105.81</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Exercised</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(16,079</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">48.67</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Cancelled</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(13,979</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">89.50</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Options outstanding at December 31, 2019</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">276,266</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">72.38</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Granted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">60,065</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">105.79</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Exercised</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(68,958</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">57.00</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Cancelled</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(37,842</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">67.92</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Options outstanding at December 31, 2020</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">229,531</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">86.46</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Granted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">57,901</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">128.14</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Exercised</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(28,991</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">58.78</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Cancelled</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(25,057</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">109.31</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Options outstanding at December 31, 2021</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">233,384</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">97.78</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Exercisable at December 31, 2021</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">115,700</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">81.30</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 252616 64.71 53708 105.81 16079 48.67 13979 89.50 276266 72.38 60065 105.79 68958 57.00 37842 67.92 229531 86.46 57901 128.14 28991 58.78 25057 109.31 233384 97.78 115700 81.30 P10Y 3800000 5400000 900000 P6Y8M12D 100000 P5Y 100000 <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 25%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td colspan="8" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 31%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>Options Outstanding, Vested and Expected to Vest</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td colspan="5" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 16%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>Options Exercisable</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr class="finHeading" style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 25%; border-bottom: thin solid rgb(0, 0, 0);"> <p style="margin-top: 0pt; margin-bottom: 0pt"><b>Range of Exercise Prices</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"><b>Number Outstanding</b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"><b>Weighted Average Remaining Contractual Life</b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="margin-top: 0pt; margin-bottom: 0pt"><b>Weighted Average Exercise Price ($)</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"><b>Number Exercisable</b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="margin-top: 0pt; margin-bottom: 0pt"><b>Weighted Average Exercise Price ($)</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 25%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 12%; text-align: center;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; text-align: center;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; text-align: center;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 12%; text-align: center;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 12%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 12%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 12%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td></tr> <tr class="finHeading" style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 25%"> <p style="margin-top: 0pt; margin-bottom: 0pt">$7.76 to $31.43</p> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"><span style="-sec-ix-hidden:c80622190"> </span></td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%">4,624</td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"><span style="-sec-ix-hidden:c80622192"> </span></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%">0.35</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> <p style="margin-top: 0pt; margin-bottom: 0pt">30.58</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%">4,624</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> <p style="margin-top: 0pt; margin-bottom: 0pt">30.58</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td></tr> <tr class="finHeading" style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 25%"> <p style="margin-top: 0pt; margin-bottom: 0pt">$31.44 to $66.87</p> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"><span style="-sec-ix-hidden:c80622197"> </span></td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%">50,159</td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"><span style="-sec-ix-hidden:c80622199"> </span></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%">3.58</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> <p style="margin-top: 0pt; margin-bottom: 0pt">57.13</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%">45,986</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> <p style="margin-top: 0pt; margin-bottom: 0pt">57.02</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td></tr> <tr class="finHeading" style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 25%"> <p style="margin-top: 0pt; margin-bottom: 0pt">$66.88 to $96.20</p> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"><span style="-sec-ix-hidden:c80622204"> </span></td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%">41,586</td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"><span style="-sec-ix-hidden:c80622206"> </span></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%">7.82</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> <p style="margin-top: 0pt; margin-bottom: 0pt">89.95</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%">9,570</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> <p style="margin-top: 0pt; margin-bottom: 0pt">71.68</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td></tr> <tr class="finHeading" style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 25%"> <p style="margin-top: 0pt; margin-bottom: 0pt">$96.21 to $180.46</p> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"><span style="-sec-ix-hidden:c80622211"> </span></td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%">137,015</td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"><span style="-sec-ix-hidden:c80622213"> </span></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%">7.67</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> <p style="margin-top: 0pt; margin-bottom: 0pt">117.31</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%">55,520</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> <p style="margin-top: 0pt; margin-bottom: 0pt">107.28</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%"> </td></tr> </tbody></table> 4624 P0Y4M6D 30.58 4624 30.58 50159 P3Y6M29D 57.13 45986 57.02 41586 P7Y9M25D 89.95 9570 71.68 137015 P7Y8M1D 117.31 55520 107.28 4300000 P2Y7M6D 2100000 1800000 1500000 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 5%; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;"> </em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Weighted-</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;"> </em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Average</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;"> </em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Grant Date</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Restricted</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Fair Value</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Stock Awards</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Per Share</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 66%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Restricted stock at January 1, 2019</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">323,921</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">79.85</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Granted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">115,471</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">106.35</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Restrictions lapsed</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(92,597</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">77.25</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Forfeited</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(31,822</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">87.58</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Restricted stock at December 31, 2019</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">314,973</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">89.55</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Granted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">108,179</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">111.76</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Restrictions lapsed</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(101,941</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">84.70</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Forfeited</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(14,012</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">94.24</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Restricted stock at December 31, 2020</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">307,199</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">98.87</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Granted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">205,996</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">123.61</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Restrictions lapsed</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(115,908</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">91.26</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Forfeited</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(53,505</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">128.05</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Restricted stock at December 31, 2021</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">343,782</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">111.79</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 323921 79.85 115471 106.35 92597 77.25 31822 87.58 314973 89.55 108179 111.76 101941 84.70 14012 94.24 307199 98.87 205996 123.61 115908 91.26 53505 128.05 343782 111.79 26000000.0 P2Y4M24D 1.50 <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;"> </em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Weighted-</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;"> </em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Average</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;"> </em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Grant Date</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Performance</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Fair Value</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Stock Awards</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Per Share</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Performance stock at January 1, 2019</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">52,140</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">76.54</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Granted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">21,434</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">104.99</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Restrictions lapsed</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> <p style="margin-top: 0pt; margin-bottom: 0pt">Performance change</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">(61,816</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">88.06</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Forfeited</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: thin solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: thin solid rgb(0, 0, 0);">(2,375</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">105.37</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Performance stock at December 31, 2019</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">9,383</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">58.35</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Granted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">19,956</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">118.66</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Restrictions lapsed</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(7,113</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">58.35</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Performance change</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Forfeited</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: thin solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: thin solid rgb(0, 0, 0);">(2,270</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">58.35</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Performance stock at December 31, 2020</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">19,956</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">118.66</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Granted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">15,078</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">203.64</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Restrictions lapsed</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Performance change</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(10,366</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">192.95</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Forfeited</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(7,829</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">113.91</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Performance stock at December 31, 2021</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">16,839</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">115.56</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 52140 76.54 21434 104.99 -0 0 -61816 88.06 2375 105.37 9383 58.35 19956 118.66 7113 58.35 0 0 2270 58.35 19956 118.66 15078 203.64 -0 0 -10366 192.95 7829 113.91 16839 115.56 800000 P1Y9M18D <table border="0" cellpadding="0" cellspacing="0" style="margin-right: 5%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="7" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: thin solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31,</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2019</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td> </td><td> </td><td style="text-align: center;"> </td><td style="text-align: center;"> </td><td style="text-align: center;"> </td><td style="text-align: center;"> </td><td style="text-align: center;"> </td><td style="text-align: center;"> </td><td style="text-align: center;"> </td><td> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Risk-free interest rate</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">0.06 - 0.17%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: center;"> </td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">0.12 - 0.17%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: center;"> </td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">1.59 - 2.35%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Expected life (months)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">6.00</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: center;"> </td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">6.00</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: center;"> </td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">6.00</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Expected volatility</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">53.44 - 65.53%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: center;"> </td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">50.85 - 59.99%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: center;"> </td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">42.63 - 53.57%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Expected dividend yield</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">0%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: center;"> </td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">0%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: center;"> </td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">0%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> </tbody></table> 0.0006 0.0017 0.0012 0.0017 0.0159 0.0235 P6Y P6Y P6Y 0.5344 0.6553 0.5085 0.5999 0.4263 0.5357 0 0 0 <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><b>Note <em style="font: inherit;">14</em> – Leases</b></p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">Supplemental balance sheet information related to leases was as follows:</p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> <hr style="text-align: left;height: 1px; color: #000000; background-color: #000000; width: 80%; border: none; margin: 0 auto 0 27pt;"/> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 20%; margin-left: 27pt; width: 80%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;">December 31,</em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 62%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Operating lease assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">5,578</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">9,855</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Current operating lease liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">3,298</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">3,272</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Long-term operating lease liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,245</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">7,586</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total operating lease liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">5,543</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">10,858</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Finance lease assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,898</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,396</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Current finance lease liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">550</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">552</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Long-term finance lease liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,351</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,919</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total finance lease liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,901</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">2,471</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:28.8pt;"> </p> <hr style="text-align: left;height: 1px; color: #000000; background-color: #000000; width: 80%; border: none; margin: 0 auto 0 27pt;"/> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:28.8pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">Lease expense is recognized on a straight-line basis over the lease term, with variable payments recognized in the period those payments are incurred. The components of lease expense for the periods reported were as follows:</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:28.8pt;"> </p> <hr style="text-align: left;height: 1px; color: #000000; background-color: #000000; width: 85%; border: none; margin: 0 auto 0 27pt;"/> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:28.8pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 15%; margin-left: 27pt; width: 85%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;">Twelve Months Ended December 31,</em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 64%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Operating lease cost</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">3,391</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">4,191</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Finance lease cost:</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Amortization of right-of-use assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">498</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">143</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Interest on lease obligations</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">9</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Variable lease cost</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">719</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">989</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Total lease cost</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">4,617</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">5,325</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:28.8pt;"> </p> <hr style="text-align: left;height: 1px; color: #000000; background-color: #000000; width: 85%; border: none; margin: 0 auto 0 27pt;"/> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:28.8pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">Maturities of operating and finance lease liabilities as of <em style="font: inherit;"> December 31, 2021</em> were as follows:</p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> <hr style="text-align: center;height: 1px; color: #000000; background-color: #000000; width: 80%; border: none; margin: 0 auto 0 auto;"/> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 10%; width: 80%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 62%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Operating Leases</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Finance Leases</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><b><span style="text-decoration: underline; ">Year Ending December 31,</span></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">2022</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,550</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">561</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">2023</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,308</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,352</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">2024</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">751</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">2025</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">711</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">2026</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">344</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">After 2027</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Total future minimum lease payments</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">5,664</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,913</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Less interest</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(121</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(12</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Present value of lease liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">5,543</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,901</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td></tr> </tbody></table> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> <hr style="text-align: center;height: 1px; color: #000000; background-color: #000000; width: 80%; border: none; margin: 0 auto 0 auto;"/> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">As of <em style="font: inherit;"> December 31, 2021</em>, we have <em style="font: inherit;">no</em> operating or finance leases that have <em style="font: inherit;">not</em> yet commenced.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:28.8pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">Weighted average remaining lease term and discount rate was as follows: </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> <hr style="text-align: center;height: 1px; color: #000000; background-color: #000000; width: 80%; border: none; margin: 0 auto 0 auto;"/> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 10%; width: 80%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;">December 31,</em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 62%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Weighted Average Remaining Lease Term - operating leases (years)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">3.1</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">4.4</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Weighted Average Remaining Lease Term - finance leases (years)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><span style="-sec-ix-hidden:c80620016">1.5</span></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">2.5</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Weighted Average Discount Rate - operating leases</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1.6</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2.6</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Weighted Average Discount Rate - finance leases</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><span style="-sec-ix-hidden:c80620020">0.4</span></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><span style="-sec-ix-hidden:c80620021">0.5</span></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td></tr> </tbody></table> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> <hr style="text-align: center;height: 1px; color: #000000; background-color: #000000; width: 80%; border: none; margin: 0 auto 0 auto;"/> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">Supplemental cash flow information related to leases was as follows:</p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> <hr style="text-align: center;height: 1px; color: #000000; background-color: #000000; width: 80%; border: none; margin: 0 auto 0 auto;"/> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: center;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 10%; width: 80%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;">Twelve Months Ended December 31,</em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 62%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Cash paid for amounts included in the measurement of lease liabilities:</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Operating cash flows from operating leases</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10,477</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">4,426</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Operating cash flows from finance leases</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">9</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Financing cash flows from finance leases</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">552</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">154</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Lease assets obtained in exchange for new operating lease liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">5,293</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,506</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Lease assets obtained in exchange for new financing lease liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,523</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:center;text-indent:28.8pt;"> </p> <hr style="text-align: center;height: 1px; color: #000000; background-color: #000000; width: 80%; border: none; margin: 0 auto 0 auto;"/> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: center;"> </p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"/> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 20%; margin-left: 27pt; width: 80%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;">December 31,</em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 62%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Operating lease assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">5,578</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">9,855</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Current operating lease liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">3,298</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">3,272</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Long-term operating lease liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,245</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">7,586</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total operating lease liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">5,543</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">10,858</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Finance lease assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,898</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,396</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Current finance lease liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">550</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">552</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Long-term finance lease liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,351</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,919</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total finance lease liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,901</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">2,471</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 5578000 9855000 3298000 3272000 2245000 7586000 5543000 10858000 1898000 2396000 550000 552000 1351000 1919000 1901000 2471000 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 15%; margin-left: 27pt; width: 85%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;">Twelve Months Ended December 31,</em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 64%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Operating lease cost</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">3,391</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">4,191</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Finance lease cost:</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Amortization of right-of-use assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">498</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">143</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Interest on lease obligations</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">9</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Variable lease cost</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">719</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">989</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Total lease cost</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">4,617</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">5,325</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 10%; width: 80%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;">Twelve Months Ended December 31,</em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 62%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Cash paid for amounts included in the measurement of lease liabilities:</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Operating cash flows from operating leases</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10,477</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">4,426</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Operating cash flows from finance leases</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">9</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Financing cash flows from finance leases</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">552</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">154</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Lease assets obtained in exchange for new operating lease liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">5,293</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,506</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Lease assets obtained in exchange for new financing lease liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,523</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> </tbody></table> 3391000 4191000 498000 143000 9000 2000 719000 989000 4617000 5325000 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 10%; width: 80%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 62%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Operating Leases</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Finance Leases</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><b><span style="text-decoration: underline; ">Year Ending December 31,</span></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">2022</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,550</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">561</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">2023</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,308</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,352</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">2024</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">751</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">2025</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">711</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">2026</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">344</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">After 2027</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Total future minimum lease payments</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">5,664</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,913</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Less interest</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(121</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(12</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Present value of lease liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">5,543</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,901</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td></tr> </tbody></table> 2550000 561000 1308000 1352000 751000 0 711000 0 344000 0 0 0 5664000 1913000 121000 12000 5543000 1901000 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 10%; width: 80%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;">December 31,</em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 62%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Weighted Average Remaining Lease Term - operating leases (years)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">3.1</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">4.4</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Weighted Average Remaining Lease Term - finance leases (years)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><span style="-sec-ix-hidden:c80620016">1.5</span></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">2.5</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Weighted Average Discount Rate - operating leases</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1.6</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2.6</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Weighted Average Discount Rate - finance leases</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><span style="-sec-ix-hidden:c80620020">0.4</span></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><span style="-sec-ix-hidden:c80620021">0.5</span></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td></tr> </tbody></table> P3Y1M6D P4Y4M24D 0.016 0.026 10477000 4426000 9000 2000 552000 154000 5293000 1506000 0 2523000 <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><b>Note <em style="font: inherit;">15</em> – Accumulated Other Comprehensive Loss</b></p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"><b> </b></p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">Other comprehensive loss is comprised of foreign currency translation adjustments and net unrealized gains (losses) on investments in securities. The following table presents the changes in accumulated other comprehensive loss balances for the years ending <em style="font: inherit;"> December 31, 2021, </em><em style="font: inherit;">2020</em> and <em style="font: inherit;">2019</em>, respectively:</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:27pt;"> </p> <hr style="height: 1px; color: #000000; background-color: #000000; width: 100%; border: none; margin: 3pt 0"/> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:27pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"> <tbody> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31,</em></em></em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 55%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2019</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 27pt; text-indent: -27pt;">Balance at beginning of period</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(3,420</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(7,018</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(8,492</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; text-indent: 9pt;"><i>Foreign currency translation adjustments</i></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 36pt; text-indent: -9pt;">Other comprehensive (loss) income before reclassifications</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(13,278</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">3,598</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,474</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 36pt; text-indent: -9pt;">Amounts reclassified from accumulated other comprehensive income (loss)</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">-</em></td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">-</em></td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">-</em></td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 27pt; text-indent: -9pt;">Net current-period other comprehensive (loss) income</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(13,278</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3,598</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,474</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt; text-indent: 9pt;"><i>Net unrealized gains (losses) on investments in securities</i></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt; text-indent: 27pt;">Other comprehensive (loss) income before reclassifications</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(119</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt; text-indent: -9pt; margin-left: 36pt;">Amounts reclassified from accumulated other comprehensive income (loss)</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">-</em></td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">-</em></td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">-</em></td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt; text-indent: 18pt;">Net current-period other comprehensive (loss) income</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(119</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">-</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">-</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 27pt; text-indent: -27pt;">Balance at end of period</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(16,817</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(3,420</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(7,018</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td> </tr> </tbody> </table> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:27pt;"> </p> <hr style="height: 1px; color: #000000; background-color: #000000; width: 100%; border: none; margin: 3pt 0"/> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"> <tbody> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31,</em></em></em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 55%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2019</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 27pt; text-indent: -27pt;">Balance at beginning of period</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(3,420</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(7,018</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(8,492</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; text-indent: 9pt;"><i>Foreign currency translation adjustments</i></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 36pt; text-indent: -9pt;">Other comprehensive (loss) income before reclassifications</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(13,278</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">3,598</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,474</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 36pt; text-indent: -9pt;">Amounts reclassified from accumulated other comprehensive income (loss)</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">-</em></td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">-</em></td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">-</em></td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 27pt; text-indent: -9pt;">Net current-period other comprehensive (loss) income</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(13,278</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3,598</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,474</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt; text-indent: 9pt;"><i>Net unrealized gains (losses) on investments in securities</i></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt; text-indent: 27pt;">Other comprehensive (loss) income before reclassifications</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(119</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt; text-indent: -9pt; margin-left: 36pt;">Amounts reclassified from accumulated other comprehensive income (loss)</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">-</em></td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">-</em></td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">-</em></td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt; text-indent: 18pt;">Net current-period other comprehensive (loss) income</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(119</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">-</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">-</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 27pt; text-indent: -27pt;">Balance at end of period</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(16,817</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(3,420</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(7,018</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td> </tr> </tbody> </table> -3420000 -7018000 -8492000 -13278000 3598000 1474000 -13278000 3598000 1474000 -119000 0 0 -119000 0 0 -16817000 -3420000 -7018000 <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><b>Note <em style="font: inherit;">16</em> – Income Taxes</b></p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">The Company is subject to income tax in multiple jurisdictions and the use of estimates is required to determine the provision for income taxes. For the years ended <em style="font: inherit;"> December 31, 2021, </em><em style="font: inherit;">2020</em> and <em style="font: inherit;">2019</em>, the Company recorded an income tax provision of $6.8 million, $12.1 million and $17.5 million, respectively. The effective income tax rate for the years ended <em style="font: inherit;"> December 31, 2021, </em><em style="font: inherit;">2020</em> and <em style="font: inherit;">2019</em> was 17.0 percent, 19.2 percent and 21.6 percent, respectively.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 22.2pt;text-align:left;text-indent:22.5pt;"> </p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 22.2pt;text-align:left;text-indent:22.5pt;"/> <p style="margin: 0pt 7.2pt 0pt -2pt; text-align: left; text-indent: 27pt; font-family: &quot;Times New Roman&quot;,Times,serif; font-size: 10pt;">The effective tax rate decreased by 2.2% for the year ended <em style="font: inherit;"> December 31, 2021</em> when compared to <em style="font: inherit;">2020</em> primarily due to a <em style="font: inherit;">one</em>-time benefit from the revaluation of contingent consideration and a benefit from the decrease in the tax liability for uncertain tax positions resulting from the expiration of the statute of limitations. These benefits were partially offset by an increase in the valuation allowances on losses from foreign operations. </p> <p style="margin: 0pt 7.2pt 0pt -2pt; text-align: left; text-indent: 27pt; font-family: &quot;Times New Roman&quot;,Times,serif; font-size: 10pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">The Coronavirus Aid, Relief, and Economic Security (CARES) Act was signed into law on <em style="font: inherit;"> March 27, 2020. </em>The CARES Act was meant to infuse companies with various income and payroll tax cash benefits to ease the impact of the pandemic. A technical correction to the Tax Cuts and Jobs Act of <em style="font: inherit;">2017</em> was included in the CARES Act allowing qualified improvement property to claim bonus depreciation for respective assets placed in service in <em style="font: inherit;">2018</em> and <em style="font: inherit;">2019.</em> The impact of the CARES Act to the Company was a $2.9 million reduction to income taxes payable and a corresponding increase to deferred tax liability for the year ended <em style="font: inherit;"> December 31, 2020. </em>In addition, the Company elected to defer deposits of the employer portion of the Social Security tax for the quarter ended <em style="font: inherit;"> March 31, 2020 </em>through the quarter ended <em style="font: inherit;"> December 31, 2020. </em>The Social Security taxes deferred in <em style="font: inherit;">2020</em> were paid in <em style="font: inherit;">2021.</em></p> <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">The provision for income taxes is based on income before income taxes reported for financial statement purposes. The components of income before income taxes are as follows:</p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> <hr style="height: 1px; color: #000000; background-color: #000000; width: 100%; border: none; margin: 3pt 0"/> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: thin solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31,</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 55%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2019</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td> </td><td> </td><td style="width: 17px;"> </td><td style="width: 209px;"> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Domestic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 17px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 209px; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">42,449</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">58,551</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">74,841</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Foreign</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 17px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 209px; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(2,265</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">4,394</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">6,352</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 17px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 209px; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">40,184</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">62,945</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">81,193</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td></tr> </tbody></table> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> <hr style="height: 1px; color: #000000; background-color: #000000; width: 100%; border: none; margin: 3pt 0"/> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:27pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">Significant components of the provision for income taxes for the following periods are as follows:</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:27pt;"> </p> <hr style="height: 1px; color: #000000; background-color: #000000; width: 100%; border: none; margin: 3pt 0"/> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:27pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31,</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 55%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2019</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Current:</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Federal</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">5,552</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,128</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">6,991</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">State</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">975</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,136</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,882</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Foreign</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(64</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,241</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,544</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Deferred</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Federal</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(377</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">6,904</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">5,121</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">State</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(814</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(431</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">269</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Foreign</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(1,181</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">210</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(809</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Valuation Allowance</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,721</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">890</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,540</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">6,812</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">12,078</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">17,538</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:27pt;"> </p> <hr style="height: 1px; color: #000000; background-color: #000000; width: 100%; border: none; margin: 3pt 0"/> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">A reconciliation of the federal statutory income tax rate to the effective tax rate is as follows:</p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> <hr style="text-align: center;height: 1px; color: #000000; background-color: #000000; width: 90%; border: none; margin: 0 auto 0 auto;"/> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 5%; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31,</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2019</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 49%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Federal tax statutory rate</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">21.0</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">21.0</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">21.0</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">State tax (net of federal benefit)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2.1</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2.1</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2.1</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Share based compensation</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(2.3</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(1.3</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(0.5</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Valuation allowance against deferred tax assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">8.9</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2.0</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1.4</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Contingent consideration reduction</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(7.0</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Research and development credit</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(4.0</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(3.7</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(2.8</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Foreign rate differential</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(2.2</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(0.8</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(0.3</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Tax reserves</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(1.0</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1.4</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1.1</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> <p style="margin-top: 0pt; margin-bottom: 0pt">Provision to return difference</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">(0.7</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">(1.4</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Miscellaneous</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2.2</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(0.1</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(0.4</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">17.0</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">19.2</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">21.6</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">%</td></tr> </tbody></table> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 22.2pt;text-align:left;text-indent:22.5pt;"> </p> <hr style="text-align: center;height: 1px; color: #000000; background-color: #000000; width: 90%; border: none; margin: 0 auto 0 auto;"/> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 22.2pt;text-align:left;text-indent:22.5pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">Significant components of deferred tax assets and liabilities are as follows:</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:27pt;"> </p> <hr style="text-align: center;height: 1px; color: #000000; background-color: #000000; width: 90%; border: none; margin: 0 auto 0 auto;"/> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:27pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 5%; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: thin solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;">December 31,</em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 66%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Deferred tax assets:</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Accrued expenses</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,511</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,155</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; text-indent: 18pt;"> <p style="margin-top: 0pt; margin-bottom: 0pt">Leases</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">1,830</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">3,598</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Warrants and stock options</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">4,271</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">3,356</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Intangible assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,693</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Inventories</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">205</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">172</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt; text-indent: 18pt;">Research and development credit</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">2,126</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">1,661</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Other assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,111</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">129</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Net operating loss</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">14,046</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">6,647</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 36pt;">Less valuation allowance</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(13,999</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(9,138</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Total deferred tax assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">12,101</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10,273</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Deferred tax liabilities:</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Depreciation</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(31,897</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(32,671</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Goodwill</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(9,872</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(7,858</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt; text-indent: 18pt;">Intangible assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(4,394</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; text-indent: 18pt;"> <p style="margin-top: 0pt; margin-bottom: 0pt">Leases</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);">(1,830</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);">(3,598</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Total deferred tax liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(47,993</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(44,127</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Net deferred tax liability</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(35,892</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(33,854</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td></tr> </tbody></table> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:27pt;"> </p> <hr style="text-align: center;height: 1px; color: #000000; background-color: #000000; width: 90%; border: none; margin: 0 auto 0 auto;"/> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">The Company has recorded no U.S. deferred taxes related to the undistributed earnings of its non-U.S. subsidiaries as of <em style="font: inherit;"> December 31, 2021</em>. Such amounts are intended to be reinvested outside of the United States indefinitely. It is <em style="font: inherit;">not</em> practicable to estimate the amount of additional tax that might be payable on the foreign earnings. As of <em style="font: inherit;"> December 31, 2021</em>, the Company had accumulated undistributed earnings in non-U.S. subsidiaries of $2.7 million.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:18pt;">  </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">As of <em style="font: inherit;"> December 31, 2021</em>, the Company had estimated net operating loss carry forwards of $14.0 million for tax purposes. The net operating losses relate to operations in Japan, Germany and Netherlands. Japan losses can be carried forward for up to <span style="-sec-ix-hidden:c80620098">ten</span> years. The remaining Japan net operating losses begin to expire at various dates between <em style="font: inherit;">2022</em> and <em style="font: inherit;">2031.</em> The Company’s Japan operations are taxed both by local authorities and in the U.S. Germany net operating losses <em style="font: inherit;"> may </em>be carried forward without any time limitations but are limited to <em style="font: inherit;">€1</em> million, plus 60 percent of taxable income exceeding <em style="font: inherit;">€1</em> million. Netherlands net operating losses <em style="font: inherit;"> may </em>be carried forward without any time limitations, but are limited to <em style="font: inherit;">€1</em> million, plus 50 percent of taxable income exceeding <em style="font: inherit;">€1</em> million.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:18pt;"> </p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 22.2pt;text-align:left;"/> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">The Company establishes valuation allowances for deferred tax assets when, after consideration of all positive and negative evidence, it is considered more-likely-than-<em style="font: inherit;">not</em> that a portion of the deferred tax assets will <em style="font: inherit;">not</em> be realized. The Company's valuation allowances of $14.0 million and $9.1 million at <em style="font: inherit;"> December 31, 2021 </em>and <em style="font: inherit;">2020</em>, respectively, reduce the carrying value of deferred tax assets associated with certain net operating loss carry forwards and other assets with insufficient positive evidence for recognition. The increase in the valuation allowance is primarily attributable to the Netherlands net operating losses acquired in <em style="font: inherit;">2021</em> via the Hubs acquisition.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">The Company files a U.S. federal income tax return and income tax returns in various states and foreign jurisdictions. With a few exceptions, the Company is <em style="font: inherit;">no</em> longer subject to U.S. federal, state, or foreign income tax examinations by tax authorities for years before <em style="font: inherit;">2017.</em></p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:18pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">The Company has liabilities related to unrecognized tax benefits totaling $4.4 million and $4.8 million at <em style="font: inherit;"> December 31, 2021 </em>and <em style="font: inherit;">2020</em>, respectively, that if recognized would result in a reduction of the Company’s effective tax rate. The liabilities are classified as other long-term liabilities in the accompanying consolidated balance sheets. The Company recognizes interest and penalties related to income tax matters in income tax expense and reports the liability in current or long-term income taxes payable as appropriate. Interest and penalties were immaterial for each of the years ended <em style="font: inherit;"> December 31, 2021, </em><em style="font: inherit;">2020</em> and <em style="font: inherit;">2019</em>.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"><b> </b></p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">A reconciliation of the beginning and ending amount of unrecognized tax benefits is as follows:</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:27pt;"> </p> <hr style="text-align: left;height: 1px; color: #000000; background-color: #000000; width: 90%; border: none; margin: 0 auto 0 27pt;"/> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:27pt;"> </p> <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; margin-left: 27pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;">December 31,</em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 66%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Balance at beginning of period</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">4,830</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">4,598</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Additions for tax positions of current year</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">491</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">324</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Additions for tax positions of prior years</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">781</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">475</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Decrease related to expiration of statutes of limitations</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(1,738</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(567</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Balance at period end</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">4,364</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">4,830</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:27pt;"> </p> <hr style="text-align: left;height: 1px; color: #000000; background-color: #000000; width: 90%; border: none; margin: 0 auto 0 27pt;"/> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:27pt;"> </p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:27pt;"> </p> 6800000 12100000 17500000 0.170 0.192 0.216 0.022 -2900000 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: thin solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31,</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 55%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2019</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td> </td><td> </td><td style="width: 17px;"> </td><td style="width: 209px;"> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Domestic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 17px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 209px; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">42,449</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">58,551</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">74,841</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Foreign</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 17px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 209px; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(2,265</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">4,394</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">6,352</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 17px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 209px; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">40,184</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">62,945</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">81,193</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td></tr> </tbody></table> 42449000 58551000 74841000 -2265000 4394000 6352000 40184000 62945000 81193000 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31,</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 55%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2019</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Current:</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Federal</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">5,552</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,128</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">6,991</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">State</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">975</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,136</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,882</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Foreign</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(64</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,241</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,544</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Deferred</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Federal</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(377</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">6,904</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">5,121</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">State</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(814</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(431</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">269</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Foreign</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(1,181</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">210</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(809</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Valuation Allowance</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,721</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">890</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,540</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">6,812</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">12,078</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">17,538</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td></tr> </tbody></table> 5552000 2128000 6991000 975000 1136000 2882000 -64000 1241000 1544000 -377000 6904000 5121000 -814000 -431000 269000 -1181000 210000 -809000 2721000 890000 1540000 6812000 12078000 17538000 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 5%; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31,</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2019</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 49%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Federal tax statutory rate</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">21.0</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">21.0</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">21.0</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">State tax (net of federal benefit)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2.1</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2.1</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2.1</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Share based compensation</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(2.3</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(1.3</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(0.5</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Valuation allowance against deferred tax assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">8.9</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2.0</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1.4</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Contingent consideration reduction</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(7.0</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Research and development credit</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(4.0</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(3.7</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(2.8</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Foreign rate differential</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(2.2</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(0.8</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(0.3</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Tax reserves</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(1.0</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1.4</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1.1</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> <p style="margin-top: 0pt; margin-bottom: 0pt">Provision to return difference</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">(0.7</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">(1.4</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Miscellaneous</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2.2</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(0.1</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(0.4</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">17.0</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">19.2</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">21.6</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">%</td></tr> </tbody></table> 0.210 0.210 0.210 0.021 0.021 0.021 -0.023 -0.013 -0.005 0.089 0.020 0.014 0.070 -0 -0 0.040 0.037 0.028 -0.022 -0.008 -0.003 -0.010 0.014 0.011 -0.007 -0.014 0 0.022 -0.001 -0.004 0.170 0.192 0.216 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 5%; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: thin solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;">December 31,</em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 66%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Deferred tax assets:</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Accrued expenses</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,511</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,155</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; text-indent: 18pt;"> <p style="margin-top: 0pt; margin-bottom: 0pt">Leases</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">1,830</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">3,598</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Warrants and stock options</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">4,271</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">3,356</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Intangible assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,693</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Inventories</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">205</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">172</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt; text-indent: 18pt;">Research and development credit</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">2,126</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">1,661</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Other assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,111</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">129</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Net operating loss</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">14,046</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">6,647</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 36pt;">Less valuation allowance</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(13,999</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(9,138</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Total deferred tax assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">12,101</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10,273</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Deferred tax liabilities:</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Depreciation</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(31,897</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(32,671</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Goodwill</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(9,872</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(7,858</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt; text-indent: 18pt;">Intangible assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(4,394</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; text-indent: 18pt;"> <p style="margin-top: 0pt; margin-bottom: 0pt">Leases</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);">(1,830</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);">(3,598</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Total deferred tax liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(47,993</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(44,127</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Net deferred tax liability</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(35,892</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(33,854</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td></tr> </tbody></table> 2511000 2155000 1830000 3598000 4271000 3356000 0 1693000 205000 172000 2126000 1661000 1111000 129000 14046000 6647000 13999000 9138000 12101000 10273000 31897000 32671000 9872000 7858000 4394000 -0 1830000 3598000 47993000 44127000 35892000 33854000 0 2700000 14000000.0 0.60 0.50 14000000.0 9100000 4400000 4800000 <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; margin-left: 27pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;">December 31,</em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 66%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Balance at beginning of period</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">4,830</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">4,598</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Additions for tax positions of current year</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">491</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">324</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Additions for tax positions of prior years</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">781</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">475</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Decrease related to expiration of statutes of limitations</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(1,738</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(567</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Balance at period end</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">4,364</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">4,830</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> </td></tr> </tbody></table> 4830000 4598000 491000 324000 781000 475000 1738000 567000 4364000 4830000 <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><b>Note <em style="font: inherit;">17</em> – Litigation</b></p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 22.2pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">From time to time, the Company <em style="font: inherit;"> may </em>be subject to various legal proceedings and claims that arise in the ordinary course of its business. Although the results of litigation and claims cannot be predicted with certainty, the Company does <em style="font: inherit;">not</em> believe it is a party to any litigation the outcome of which, if determined adversely, would individually or in the aggregate be reasonably expected to have a material adverse effect on its business.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 22.2pt;text-align:left;"> <b> </b></p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 22.2pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><b>Note <em style="font: inherit;">18</em> – Segment Reporting</b></p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 22.2pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">The Company’s reportable segments are based on the internal reporting used by the Company’s CEO, who is the chief operating decision maker (CODM), to assess operating performance and make decisions about the allocation of resources. The Company’s reportable segments are based upon geographic region, consisting of the United States and Europe. The Corporate Unallocated and Japan category includes non-reportable segments, as well as research and development and general and administrative costs that are global in nature and that the Company does <em style="font: inherit;">not</em> allocate directly to its operating segments.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:18pt;">  </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">Revenue in the United States is derived from Injection Molding, CNC Machining, <em style="font: inherit;">3D</em> Printing and Sheet Metal product lines. Revenue in Europe is derived from Injection Molding, CNC Machining, and <em style="font: inherit;">3D</em> Printing product lines. Revenue in Japan is derived from Injection Molding and CNC Machining product lines. Injection Molding revenue consists of sales of custom injection molds and injection-molded parts. CNC Machining revenue consists of sales of CNC-machined and lathe-turned customer parts. <em style="font: inherit;">3D</em> Printing revenue consists of sales of <em style="font: inherit;">3D</em>-printed parts. Sheet Metal revenue consists of sales of fabricated sheet metal parts.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 22.2pt;text-align:left;text-indent:22.5pt;"> </p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 22.2pt;text-align:center;"/> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">The accounting policies of the reportable segments are the same as those described in Note <em style="font: inherit;">2</em> – Summary of Significant Accounting Policies. Intercompany transactions primarily relate to intercontinental activity and have been eliminated and are excluded from the reported amounts. The difference between income from operations and pre-tax income relates to foreign currency-related gains and losses and interest income on cash balances and investments, which are <em style="font: inherit;">not</em> allocated to business segments.</p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">Beginning in <em style="font: inherit;">2020,</em> the Company's CODM made a decision to view certain research and development costs by geographic region. As a result, costs previously included in the Corporate Unallocated and Japan category have been included in the respective geographic regions. All periods presented have been restated to reflect this change.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:18pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">Revenue and income from operations by reportable segment are as follows:</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:27pt;"> </p> <hr style="text-align: left;height: 1px; color: #000000; background-color: #000000; width: 90%; border: none; margin: 0 auto 0 27pt;"/> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:27pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 27pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31,</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 49%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2019</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><b>Revenue:</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">United States</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">384,458</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">345,708</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">360,205</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Europe</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">90,399</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">74,796</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">82,805</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Japan</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">13,241</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">13,891</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">15,718</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total revenue</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">488,098</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">434,395</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">458,728</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:27pt;"> </p> <hr style="text-align: left;height: 1px; color: #000000; background-color: #000000; width: 90%; border: none; margin: 0 auto 0 27pt;"/> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:27pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 27pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31,</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 49%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2019</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><b>Income from Operations:</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">United States</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">98,001</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">98,762</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">108,594</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Europe</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">730</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">11,707</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">15,077</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Corporate Unallocated and Japan</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(58,389</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(50,633</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(43,815</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total income from operations</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">40,342</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">59,836</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">79,856</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:27pt;"> </p> <hr style="text-align: left;height: 1px; color: #000000; background-color: #000000; width: 90%; border: none; margin: 0 auto 0 27pt;"/> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:27pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 27pt;">Total long-lived assets, expenditures for additions to long-lived assets and depreciation and amortization expense are as follows:</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:27pt;"> </p> <hr style="text-align: left;height: 1px; color: #000000; background-color: #000000; width: 90%; border: none; margin: 0 auto 0 27pt;"/> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;text-indent:27pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 27pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">December 31,</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">December 31,</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">December 31,</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 49%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2019</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><b>Long-lived assets:</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">United States</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">215,701</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">215,721</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">210,171</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Europe</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">59,388</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">59,388</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">45,019</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Japan</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">5,257</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">7,557</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">8,522</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total long-lived assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">280,346</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">282,666</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">263,712</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 22.2pt;text-align:left;text-indent:22.5pt;">  </p> <hr style="text-align: left;height: 1px; color: #000000; background-color: #000000; width: 90%; border: none; margin: 0 auto 0 27pt;"/> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 27pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31,</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 49%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2019</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><b>Expenditures for additions to long-lived assets:</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">United States</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">26,698</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">29,984</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">45,123</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Europe</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">7,378</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">16,574</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">14,743</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Japan</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">133</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">452</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,364</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Total expenditures for additions to long-lived assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">34,209</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">47,010</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">62,230</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"> </p> <hr style="text-align: left;height: 1px; color: #000000; background-color: #000000; width: 90%; border: none; margin: 0 auto 0 27pt;"/> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: center;"><b/></p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 22.2pt;text-align:center;"> </p> <hr style="text-align: left;height: 1px; color: #000000; background-color: #000000; width: 90%; border: none; margin: 0 auto 0 27pt;"/> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 22.2pt;text-align:center;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 27pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31,</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 49%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2019</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><b>Depreciation and Amortization:</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">United States</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">31,642</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">25,744</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">24,767</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Europe</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">7,101</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">5,024</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">4,746</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Japan</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,745</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,826</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,351</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total depreciation and amortization</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">40,488</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">32,594</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">30,864</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"> </p> <hr style="text-align: left;height: 1px; color: #000000; background-color: #000000; width: 90%; border: none; margin: 0 auto 0 27pt;"/>  <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 27pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31,</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 49%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2019</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><b>Revenue:</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">United States</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">384,458</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">345,708</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">360,205</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Europe</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">90,399</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">74,796</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">82,805</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Japan</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">13,241</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">13,891</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">15,718</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total revenue</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">488,098</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">434,395</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">458,728</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 384458000 345708000 360205000 90399000 74796000 82805000 13241000 13891000 15718000 488098000 434395000 458728000 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 27pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31,</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 49%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2019</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><b>Income from Operations:</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">United States</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">98,001</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">98,762</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">108,594</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Europe</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">730</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">11,707</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">15,077</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Corporate Unallocated and Japan</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(58,389</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(50,633</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(43,815</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total income from operations</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">40,342</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">59,836</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">79,856</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 98001000 98762000 108594000 730000 11707000 15077000 -58389000 -50633000 -43815000 40342000 59836000 79856000 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 27pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">December 31,</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">December 31,</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">December 31,</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 49%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2019</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><b>Long-lived assets:</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">United States</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">215,701</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">215,721</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">210,171</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Europe</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">59,388</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">59,388</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">45,019</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Japan</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">5,257</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">7,557</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">8,522</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total long-lived assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">280,346</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">282,666</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">263,712</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 215701000 215721000 210171000 59388000 59388000 45019000 5257000 7557000 8522000 280346000 282666000 263712000 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 27pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31,</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 49%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2019</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><b>Expenditures for additions to long-lived assets:</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">United States</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">26,698</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">29,984</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">45,123</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Europe</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">7,378</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">16,574</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">14,743</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Japan</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">133</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">452</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,364</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Total expenditures for additions to long-lived assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">34,209</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">47,010</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">62,230</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 26698000 29984000 45123000 7378000 16574000 14743000 133000 452000 2364000 34209000 47010000 62230000 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 27pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31,</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 49%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2019</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><b>Depreciation and Amortization:</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">United States</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">31,642</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">25,744</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">24,767</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Europe</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">7,101</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">5,024</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">4,746</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Japan</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,745</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,826</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,351</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total depreciation and amortization</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">40,488</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">32,594</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">30,864</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 31642000 25744000 24767000 7101000 5024000 4746000 1745000 1826000 1351000 40488000 32594000 30864000 EXCEL 101 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( /A;4E0'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 " #X6U)4VR&&&.X K @ $0 &1O8U!R;W!S+V-O&ULS9+! M:L,P#(9?9?B>*':@;";-I:.G#@8K;.QF;+4UBQUC:R1]^R5>FS*V!]C1TN]/ MGT"-#E+W$9]C'S"2Q70WNLXGJ<.:G8B"!$CZA$ZE,1@M(? MZH@@JFH%#DD910IF8!$6(FL;HZ6.J*B/%[S1"SY\QB[#C ;LT*&G!+SDP-IY M8CB/70,WP PCC"Y]%] LQ%S]$YL[P"[),=DE-0Q#.=0Y-^W X>UI]Y+7+:Q/ MI+S&Z5>RDLX!U^PZ^;7>/.ZWK!65$$4E"GZ_YRM9WF?7'WXW8=<;>[#_ MV/@JV#;PZR[:+U!+ P04 " #X6U)4F5R<(Q & "<)P $P 'AL+W1H M96UE+W1H96UE,2YX;6SM6EMSVC@4?N^OT'AG]FT+QC:!MK03621A'^_1S80RY8-[9)-NIL\!"SI^\Y%1^?H.'GS[BYBZ(:(E/)X M8-DOV]:[MR_>X%#BVR]*+ M41B1%G\@M MNN01.+5)#3(3/PB=AIAJ4!P"I DQEJ&&^+3&K!'@$WVWO@C(WXV(]ZMOFCU7 MH5A)VH3X$$8:XIQSYG/1;/L'I4;1]E6\W*.76!4!EQC?-*HU+,76>)7 \:V< M/!T3$LV4"P9!AI@S M&L%&KQMUAVC2/'K^!?F<-0HACA*FNVB<5@$_9Y>PTG!Z(++9OVX?H;5,VPLCO='U!=*Y \FIS_I,C0' MHYI9";V$5FJ?JH,@H%\;D>/N5Z> HWEL:\4*Z">P'_T=HWPJOX@L Y M?RY]SZ7ON?0]H=*W-R-]9\'3BUO>1FY;Q/NN,=K7-"XH8U=RSTS0LS0[=R2^JVE+ZU)CA* M]+',<$X>RPP[9SR2';9WH!TU^_9==N0CI3!3ET.X&D*^ VVZG=PZ.)Z8D;D* MTU*0;\/YZ<5X&N(YV02Y?9A7;>?8T='[Y\%1L*/O/)8=QXCRHB'NH8:8S\-# MAWE[7YAGE<90-!1M;*PD+$:W8+C7\2P4X&1@+: '@Z]1 O)256 Q6\8#*Y"B M?$R,1>APYY=<7^/1DN/;IF6U;J\I=QEM(E(YPFF8$V>KRMYEL<%5'<]56_*P MOFH]M!5.S_Y9KF4Q9Z;RWRT,"2Q;B%D2XDU=[=7GFYRN>B)V^I=W MP6#R_7#)1P_E.^=?]%U#KG[VW>/Z;I,[2$R<><41 71% B.5' 86%S+D4.Z2 MD 83 >LX=SFWJXPD6L_UC6'ODRWSEPVSK> U[F M$RQ#I'[!?8J*@!&K8KZZKT_Y)9P[M'OQ@2";_-;;I/;=X Q\U*M:I60K$3]+ M!WP?D@9CC%OT-%^/%&*MIK&MQMHQ#'F 6/,,H68XWX=%FAHSU8NL.8T*;T'5 M0.4_V]0-:/8--!R1!5XQF;8VH^1."CS<_N\-L,+$CN'MB[\!4$L#!!0 ( M /A;4E20.$!*&P8 ,: 8 >&PO=V]R:W-H965T&UL MI5EM;^)&$/Y\_14K=*IZTA'LM2'A2B(1""T]DD,A=Z>TZH?%7L"*[:6[ZY#\ M^X[7QLM%9DS5? A^FV>?G1D_,[L>[(1\4AO.-7E)XE1=MC9:;S]U.BK8\(2I M,['E*=Q9"9DP#:=RW5%;R5EHC)*X0QVGUTE8E+:N!N;:7%X-1*;C*.5S2526 M)$R^7O-8["Y;;FM_X3Y:;W1^H7,UV+(U7W#]=3N7<-:I4,(HX:F*1$HD7UVV MANZGL=?/#:!S" 8_SWS$XSA' A[_ ME*"M:LS<\/!XCSXQDX?)+)GB(Q%_CT*]N6Q=M$C(5RR+];W8_<[+"75SO$#$ MROPGN^)9WV^1(%-:)*4Q,$BBM/AE+Z4C#@W<(P:T-*!O#-QC(WBE@??6H'O$ MP"\-?..98BK&#V.FV=5 BAV1^=. EA\89QIKF'Z4YG%?: EW([#35V,19!!& M389I2&Y2'>E7,DV+?,KCTB9?%V/RR_L/@XZ&X7*C3E!"7Q?0] BT2\FM2/5& M 6[(PQ\!.L"S(DOW9*\IBCCFP1GQW(^$.M2M(33"S2=\>4:9CW/R/ M+(71G;K1?YB-5[G>,WA>D^L/_?W7#)XB4\T3]3]7J^/T.I6M+JGT+KGZT@!,?#!'4MX'2D<9RZ% M%F3&E@JF%B#$>A6Q'@HXA("$)BB3F*WK".'V*Q8KCO XKWB\5HWX6CMMDO;'I:S%Q6O"Q2IRMF2V)S+2(1D I=5'2\<;?*( M4.I7E/K_B9+QU5%".%;#F^TZ5E6=TT@]O&YK ]9@[SKMSQB1 WEW3R,R3-,, MO'//MT+J6D8XD)89EM@NM8SH:8S*W,'2N@FJK <_O7O7%#DKRJYW8N1 EU1D M1!EQ&@[6) >NU7'W)"&?1#$G=UFRY+*63I.&NVVOZWM=C)+5M]AT-VN[Y#YC!) MSB$.DO,G,I;07F-\;05P<=%^RW>4GT&\'\0NK>6*P]VR+:3T/(8E"D;/5@,7 ME_"W]*I\A%[A.4J#>G_BF&@N4EL4*"[J;ZG-A=(@R7]&VZ,O20-BM^MUL7Z, MVCI!<7DW41S"RO$X%1S@O.=A1&QYH+BFSX3I*S:0O,@KV@#BG_?;7N_"P1C9 MBD!Q$7^(-&2H6!&7_K+\0!8\R"1XJY86CC0220+*L] B>(+P0Y_RC<49)^^= M,Y#FO""2Q89)[#VEMF)07.RA?H51NB:+UV0IXEJV.,#\?G:-,;&%@N)2OO<8 MN7D)-BQ=\Z/=?@/0W>/B!F-DJP(]J2I\YW'T)/JP3<10_UDLJCYLK:9;4"Z$Q@A*_CT),'?+TF*9LAD%DAK?9?= M@-C@*JOU]"2MGZ::RV(#*>\DV9YJ+3,<$6?F6:GW3I)Z$SHR@@JT%K)6,1IP M9DS"ZS(, @Y !,6D!A'*_D>KM@EQT7"XIA<9PINJ]IH-N T-;F>U7X/E^V2 MT4W"Y3I/L-\ 06^@(B5;EM:[#P=LI':P5X-+]]Y9&Y ,E-#_6Q!X5MZ]DQ8$ M\VP91P&9Q(+5Y?NX1.D:E'P3^/F*=IWR;]!YKN-@A=T[:07P8UDS%4R1+YF& M[B;-2U#=3EV)W#OD=>[W>GV''F%EQ=UKV,/)PDA#PW>LR#28W\A4:?(S2[:_ MDD=8PZS);#;'0F:5W
$\L;W'R)4@M.1SB-DI3SK8BCJ!_-"=*:(:QLS+O MX:*\9S>)9$*FXUIR.()/,2)6U3U<@Z>CR3W9LQEJS2&/S(KMV)9< ]ZQG8O. MP:YYKCCFZX,B0;YN+3;0JZO5%XZAV=?OV,>+SR.W+!&PO=V]R:W-H965T&ULM9EK M;]LV%(;_"F$4V :X,2^Z=DF -D6W AM:-.WVF;'H6(@DNB*5RW[]#F5%JJQ7%.%G5O&P6E^?]O<_MY;GL=%4VXG.+5%?7O'UZ M)RKY<+$@B^<;7\K;K38W5I?G.WXKKH7^MOOXJ]2/*B#:V2&!C,#5?B2E9_EX7>7BRR!2K$AG>5_B(??A?#@&+3WUI6 MJO^+'@9;O$#K3FE9#XU!05TV^__\<7#$00,2>1K0H0$]M0$;&K!^H'ME_;#> M<\TOSUOY@%IC#;V9B]XW?6L83=F8:;S6+?Q:0CM]>24;):NRX%H4Z!VO>+,6 MZ-ITI]!K].WZ/?KYU2_H%2H;]'4K.\6;0IVO-#S9M%^MAZ>\VS^%>I[R7JS/ M$"-+1#$ECN97IS?'+YNO8+SCH.DX:-KWQWR#[MI6-!IQI6"<@0[9V"'K.XQ\ M'7*U1> :M#87XGM7WO,*GN!TU;ZKN._*K++[RR3.:7Z^NC_TB&U%:)I@-IJ] M$!J-0J.@T.NM;/5K+=H:@JB]$YK?5 (IL>[:4I?"J7??8W*HA,09GNFUK5B$ ML\PM-Q[EQD&Y;]=KV8$;(6&L!?@4Q"Y1 \E-;A"O( 7UX0K)#!6RN]&;KH*\ M,#0!DU=DF4=9/S%PF68$9MS9W\1(>JW:B3S35D\LUL37H M#..8S%QC6\5IEJ9NUR2C:Y*@:SXV]Q!@LG7J2NPI8R29ZW)8X2RA;EWIJ"L- MZOK@31*J-ZU4F_!K^O LMOK3AVA%L7S4'-98>;1G8VZLR/^7,M: M(,T?Q6&XN51F#N_2N7-MHSC";HGY*#$/2OPJ-:].\&)NZ\M8E-.90MN,1D!_ MCQ\)GHB"CT0 %!FM?NIGWN3"'6!?]^O620YLZ\@PBY*97*<=39+$H_> @"2H M]SRJISBB/70" HD,@])AQVA61K[G#F1BM"@N$_]RBD;S9O;TN3J_;3[ MO4GM/)SF>3;7:YN1B,6> "43!TD8A'_(YO8'\3+T.),261ZVS>*?MN*LMRWDB8DD3"3]L%:C3$0D&FS)V+4FG.'%2QYC\R)4"2,J'T>#8BS M 9/3+,[F"=1AET:00B./P E%)#NI/JU*?E-6CI7SLM^)'R0,D+&SV73&K3@+ 4SV6ZS$B> MY1Z9$S-HF!G/,@]F:"ITG'H=@ A\XAWF24D]U3]]&##$\;(^88@33.Y&$ADGRLCP[IM,! MDRC+YT6/RPS3V)-AZ(03&L;)Q.D?C0@'.6@4SV7;5FF<>1(WG?A"PWR95/]8 M3+BV0]8NS665$U^FF&!#P["9-!=B(R V"K/'."K91@N+,ZN$=YFQS!L>$X!H M>#,T!_DQM8[-3HJMH+"M$LH\E1&=H$9/V14=4^C %<8XFY^Z..R@>/9AC4U8 M8SA(].LM;\565H5HU4_]ID@_A#;XKT],F VX M>78.FKQTT\0_=H1_LJYE-9Y/$#HXWPRA^6Q2EJ<1@H9G#G==E@]9\5\+"<\JT\1HED)4LJ;8=A;7F M76T3B5F8Q%]@XPFW"B1XV\!$N8]A'2>6:9*R>0GILDMHCHE'Y<1@=O1PLZN[ MJC]Y'P[(H.B%-&%>DMP#U:1R"[?A^IHD&4GGPAUV+**^M311F(4IO$^XZFA& M&]3:6,U@E@]*VD&M;9=$$8L]10.; ,Q.V>W-"_63Y:?6.;QS+^BP<^X%5P>O M:LQ[LC]Y>ULV"@J9#33$9RGTT.Y?/>V_:+GKW][<2*UEW5]N!0?9Q@!^WTBI MG[^8%T+C"\#+?P%02P,$% @ ^%M25'6>P^S3 @ 3@D !@ !X;"]W M;W)K*/2B[T MQ"N,J6Y\7V<%E%3W9 4">U92E=1@5:U]72F@N7,JN1\%0>*7E EO.G9M;7@S&UE[9_"#P4;OE(E5LI3RR5:^YA,OL$# (3,V L7/,\R )GD MVKW)IK%- X]DM3:RW#HC0AGYF.I-"2\YR:B G=Y13D0%9V'": M7,ZI F$*,"RC7%^13^1Q<4\N+Z[(!6&"?"]DK:G(]=@WB&(#^MEVV+MFV.B= M8>\AZY%^>$VB( H[W&>GNP?[[CY.0#L+43L+D8LW>"?>+<=L=M)Q7Y!=I.!H,Q_[SKHH.HW08MD9[K/V6M?\AZQSS')3" MY<+DR)ZN2445>::\!G*)BY)+SJG2I +_!I"Y^> 7]VMJ1ODR#N M3I=3+/<4#%L%P_,5G)8LPS=,43I(XM$@/H#O,$S2-$E'23?[J&4?G<^.UP%M M\,_/Q/J8@-&I CH,NP7X.Z>=O6E\HVK-A"8<5N@:]%+>$!9 ^Q?26E>*_9,;:]0T[]02P,$% @ ^%M25(Z=$->G!0 M^14 !@ !X;"]W;W)K,*?145XV\GFR5VEU-IW*U974N+_F.-?#/FHLZ5_ H-E.Y$RPO M6J.ZFI(@H-,Z+YO)?-:^NQ7S&=^KJFS8K4!R7]>Y^'G#*OYX/<&3YQ=WY6:K M](OI?+;+-^R>J>^[6P%/TZ.7HJQ9(TO>(,'6UY,/^&I)J#9H$7^5[%&>_$:: MR@/G/_3#I^)Z$N@9L8JME':1P]>!+5A5:4\PCW][IY/CF-KP]/>S]X\M>2#S MD$NVX-7?9:&VUY-T@@JVSO>5NN./?[">4*S]K7@EVT_TV&&3<()6>ZEXW1O# M#.JRZ;[SISX0)P:8CAB0WH"8!M&(0=@;A&\UB'J#J(U,1Z6-PS)7^7PF^",2 M&@W>](\VF*TUT"\;G?=[)>#?$NS4?,$;R:NRR!4KT+V"+TBJDHBOT8+74$I; MG>,#0Y^:%:\9ND#?[Y?H[-TY>H?*!GW;\KW,FT+.I@IFHWU.5_W(-]W(9&1D M3- 7WJBM1+\U!2M>.I@"C2,7\LSEAG@]+MGJ$H7X/2(!P8X)+=YN'CC,EV\V MQYF'37C,3-CZ"T?\O4S&UQT3N5XI\LKC.SKZCEK?T8CO.W9@S9ZYDM89QJVA MWC0.\RA-@RR=30^GH73 PBC,XI>PI0,6IPD9O+V8?GRG:;>P'S)Q0_6 M.H6M![@9$<>V2O+3+)([O:)=9#)K E%$(C/7-BJD61089!PHJ!OB)H.#02H"?[VR!I)=M6SR M L2HE$HG_^!<@;VSTUG$<1:&!B,7#"<1,2@Y8!'D9R1!^$3^L)?3-ZZ $7^E MBGM&V)H#3F$?R$Q*#ER<9.;"73IQ,>RC(Z3(0(IX2?5:O1:\?J8&PN&D1.RP M!J$9_84#%F=I2$U"-BS)TG@L28,2XM#+YZO:,H'.^MRE9L&K?9"L&;U M$\$)LI%5WET"%?_LI6I[7F=P[6[R H?$5(.% Q?&9@>[=*!PE(R"Y57Y']3+)B\;B[0R1B3S& S/;D3 MJYG8M'>+$G:_?:.Z*Z7CV^/]Y8?VULYX?X.OEMTMY."FNQ2%-G6CLUNQ-;@, M+A.8D^CN&;L'Q7?MS=L#5XK7[<\MRPLF- #^7W.NGA_T ,?;WOG_4$L#!!0 M ( /A;4E2AV.-]#0< &4D 8 >&PO=V]R:W-H965T&ULQ9I=;]LV%(;_"F$46 O4M4A*E%0D!IK81GO1+4C:[6+8A6PQME99="4Z M'_OU.Y15RQ(IRDD,! 4:RSX\>GGX\3ZB?78O\A_%BG.)'M9I5IP/5E)N/HY& MQ6+%UU'Q06QX!I_/#KC>MDN9+JC='X;!,M^0V7WS=7.5R-]EGB M9,VS(A$9ROGM^> 3_CBCH6I01OR9\/OBX#5279D+\4-=?(G/!XY2Q%.^D"I% M!'_N^"5/4Y4)=/RLD@[V]U0-#U__RCXK.P^=F4<%OQ3I7TDL5^>#8(!B?AMM M4WDM[C_SJD.>RK<0:5'^C^ZK6&> %MM"BG75&!2LDVSW-WJH"G'0@)".!J1J M0%H-*.MH0*L&M'T'OZ.!6S5PVW?H:N!5#;Q6 TP[&K"J 2MKORM66>E))*/Q M62[N4:ZB(9MZ40Y7V1H*G&1J9MW('#Y-H)T<7XJL$&D21Y+'Z$;"'Y@VLD#B M%MVLHIRO1!KSO/@-37]N$_F(ANC[S02]??,.O4%)AKZMQ+:(LK@X&TE0HW*. M%M6=+W9W)IUW7J]A:MU(L?B!_O[*UW.>_V-(82%B549!KE69(M"UNN:8_ /RZ_H$]2YLE\*Z-YRI$4(#6' M,MNRSNQ9OPGH8;/9"(9^/_YD/_ZDS.-VY+F(TBA;H4BB"5]\ M0!2_1\3!@6EL=UE9F57M7G=CPL+ ]5W_;'1GT$/W>NA1>D##G"^33%5?3<8- MSQ,1'R5M=P/O4%HM:C>E#"%>X#FD&38QA(7894XS;*J'#0,W;"6;Z5&>B]VP MHU[NOEZNM5[5*MH-'4J*8@NS%M[@#SQ?) 57M1,;M4 *!.L4";GB^7N4@6?! M)U6S^T2N5CR-$3@5DM$#$O,T64:[5@,FMORSUPJ PR1@NQ!FHH2I707?6:F\0R78?C![BE MMB^J(=??R_6MV&A51C0#[!-!DZ>PX:_>$0RC[(BW8UN%/\+ M!J_\UN0JH3YTKM^>C3U!#IN*PCBHLRI;HW0> M)F&'C ,TP:7KBVH*KST5VTU53<=M!J"?)O_!DEX"2Q2[^BE[ M!?%)=L<&V'V.Z'K^+^6/=*%V-MQ^B):O:X M=E1LM]3G$ #6S13@U*=MQ7UA35@6 MI;'".EJHA=B:5Q-C&'BG-O],<2X+6$>W:EPA=EQY"0D2'5E,2Z#(DA-$<1.$?TD2!SC*M?-'TC09W[(VJ4](K(IO@8%8@>%(YFQ MHP>LGQF);OX7H<921T&D]CT\-<4/J$J==,ET:(G8>>@["$1V$<.B$[:.) MWK"FY)J6B)V67H!P1&>D(?6P%W2#)V*.H#B]#ZKNMC6]B"L.A1\/V##3$$9B!'4<\M*8A^HPO M*Y2)?-[.P6\6/[=)47Z9U[?[4/U,)6 T[-H1:4U#]!EG*B:%1E6>YG,M_[^D MAB,3QGQ'VP0ZXKJ&H"8F:B>FEY T-<"+<0?KC6N*K^F%VNGEI#0]I88O(S#6 M%H,.+XVH9E=J6J!V6C@"N[%QCNDH0'QX< S=-C0<$]D47W,#M7/#L=AM[D&H M8W?07B9Z##Q&>AIV&^(H/%C0UJG=U! WQ"S [9,?0UP O!^V#\M&!S^X4#_ M^1KE2S474WX+#9T//F3(=[]IV5U(L2E_@S$74HIU^7+%HYCG*@ ^OQ5"_KI0 M/^O8_[)H_#]02P,$% @ ^%M25/,INM@U" M", !@ !X;"]W;W)K M M^+1]ABG(P@E%J" EV_WZ Y T*0(;L/-B4]("B+6QL=<"R*LGJ;XW>\[;Z/E0 MUMN+ ZT;(.E)\=[VX19\V%)L&'>(OP9^:B^O(4'F0\KOY\'5[ MO8C-B'C%R]9TP?2_,U_SJC(]Z7'\,W2Z&.]I&EY>O_;^I2.OR3RPAJ]E];?8 MMOOK1;Z(MGS'3E7[33[]AP^$$M-?*:NF^QL]#=AX$96GII6'H;$>P4'4_7_V M/ 3BH@%*/0WPT #;#:BG 1D:D/AV[0N6K-F'WW1B=%$ MR^C/^TWT\T^_1#]%HH[^NY>GAM7;YFK5ZC&8GE;E<+_/_?VPYWX(1[_)NMTW MT:_UEF_G':STX$<&^)7!9QSL<!/HEH[=TJY;ZNGV=UU!1%W* X>FK&^;=&U- MH3C?$$(R?+4Z7\;1125QGF9SU,9%I21-DA$U&WXR#C\)1N5V^S^]%/K,;*6N M-Z6L2U'QJ!YYF>_-I])D[5')L]#I%3V\1!*(Z*= 2--Q3&DPI!NN"VTI6%^^ MZFW$#E*UXM_N"RC*?7?I161H3//1#JF6EJ9GQY_--9@ZF3,05,1%8I$"4#3-B$4*0,59CF!2^4@J?V.: M=EPIS:AES_92ZBGD;BQ)81%P,5F2V:GO@E(4I_#PBW'X17#XMQ=)98JR%N?O MO&4/.O<;7IX44"!Z5H4SF-CBY"(HLB9NXV(\*QG%D^#$04;?.*O$OWI"*MEH MG=%KY\Q$91@M&V;^!&D-G<]&9->@-0"RR&^"D#FS"RE%06;K/:L?>6,4$ MBLZL.G$S:;I:F0*DRY>Y;'1E4MXJ,=SC..,CQ MCW;/%3AN[-P,9W8= $!+0E)[W"Z*%)XR@"9A16%EO9B="TEH&JXUQ93O2K ' M476)]Z%3$CUQK/SG)!IAYBJH&6C28106XMNRE"C2=U :8>! M;$V&A&N+I@E!.!'S1&GN+$P7EE!?89W4&X7E^^O@ M@WPZAUQ]76:90P% H2)U*+@P[?)\'":Q1F&U'I?'D;UXUX:KLS1-'!XN"M'" MR2L7M*/J#9L9M>0&%)N M'%;NW]]KKR&&&!#N!%.[H $P[:&*U#)D&PB'TCC!'I*3B&,4E E3U9KW;\#P MI)PXK)QW)U7NF2DS6EAT!'7DHLEU*=;\H^T!@($N MDH0SBNSE 0 =HB'(G..DZ3BLZ;.9[6?PPE>(+J&ZO2M(SA5G6R(!R)+$L4,- M@-%+V)S>I/,XK/,S>N_>?V! UU&*$B=#(9PVO"X] $A37=<\_"8;@-^R ;+D M?-M$.R4/D=F#_"!3R!@4;G*Z,(=B"#)G-[D"''8%F+1ICN1#)1Z9 MGR:P,:<8VUM<"$;TY-M$ 1BF>>9A.KD,$G89W_CQDJO>$1QDW<\A2 K0?4QP M9E=I"(=HFMM;=PA'2()],WAQ+![V$7=*Z,0_:E-D-FTOXT.*7;%1Q3?G- M*02,1)(XF0K9#7M_L0%0G@)&)B-!PD;">[A"7&FW:Q, L>4E")D/>3(')&P. MG)J[>[-$#92@XP&,"OL\',*A.,-.Y@$XH@V';T5-]H"$[<&ONQTO.Z/*G\ON M#"G2&QX>E<-YDEY>O8/57J^[,([^K%V$Q_ 1X(S V;T"(+V[R6W.P",%']_) M,)"P83 S^O.6E\JLJ%_,TY7NRLSMC_$$#A)2E#H'#@ .D\RAZJ)HC#+/GI9, MGH&$/@83/) ),N=EY!CFZ)PII4F!')5P8%(H-B)N%8OZ0<[(Q- [ZH_O3\5AU M3["U4'0\=Y7N8RN:LI+-2?& 6:*3FZ!OG/-W9R#FY-!8!U&W7/N)%GRPZJH\ MM@L'0R^43W2QQ3J8 5)(FM@(!*+U#M<]L M5A>O,QRX>NQ>"VFB[F2P?R]@_'9\]>2V>^'"^OXS^K3I7R"9NNG?9_F-*;VX M&VT;=KK+^&.FAZ3Z5T3Z#ZT\=B]-/,BVE8?N&PO=V]R:W-H965T M&ULC55-;]LX$+WG5PQT:@#%LN5TMPAL [73)FT',F_=FR-%H9^R=*Q$]W"NIW3@IO:_. MLLP5)2KF>J9"32<;8Q7SM+7;S%46&8]!2F9YO_]'IIC0R604;4L[&9G:2Z%Q M:<'52C'[,$5I=N-DD#P:OHMMZ8,AFXPJML45^MMJ:6F7=2A<*-1.& T6-^/D MX^!L>AK\H\,/@3NWMX:@9&W,7=A\X>.D'PBAQ,('!$9_/W&&4@8@HO%?BYET M*4/@_OH1_7/43EK6S.',R+\$]^4X^9 QPVKI?]N=I?8ZGD?\ HC7?R%7>O; M3Z"HG3>J#28&2NCFG]VW=?@_ 7D;D$?>3:+(\IQY-AE9LP,;O DM+*+4&$WD MA Y-67E+IX+B_&1A/,( 3F#!?&T1S :FM2,GYT:9IP3!+2M:L&D#EK\!-LCA MVFA?.OBD.?+G !DQZ^CEC_2F^4'$Z9IY=P#_M,,_C?BG;^!_LUNFQ2\6;EP*,Z.=D8*SY@)J#DN+ MCE(U!JKU:S3@7+A"&A?:\?<-WGN82E/<_?-:/PZR"0_ZS%6LP'%2A<3V)R:/ M'=]G&JFMV[831T,%FK.U2^&+IOJ'4T&\7+UV@@MF!=7PW;Z;+Y'$JHKIAQ1V MF$)-1F/!U/88A ,&7&R%)YF*Z7I#3Y'$V5" YHI#%<#\0T7 (9O1)YR&#ZWH M@-?- ZZ8I?D#-T^YH/9"BE\4)/2_[3-71G*AMRD4Y%-[RJ)KA584E+R@RVGI MB;V;+6;'1*4HA8Z^PW.28!'#(MRT]&C!%,+<%+$^1\OYR>V*BD%P.EH(;#Z? MP:T6'GG3.W=T2?6!ZTX@(3?U>^Y%*9X;G@H)<\\[]RN*YT91[A>)+QN%5.'; MJ_2MD$^U-;"BCHN"RC,7*CJ\]'O*?*'6EW"!-.?TP[[]QM %)B'/SDG" JGG M5E*+]@6D<-&[ZL%71MV!UYY3MC>IJ"O;.(\=-:;6OAE:G;4;^1^;2??DWGPO MKIG="NU XH9"^[T_WR=@FQG<;+RIXMQ;&T]7+"Y+^FRA#0YTOC'T$MI-2-!] M"">_ 5!+ P04 " #X6U)4BZ,BD H+ !='0 & 'AL+W=O@X\5OC\&;IPT8GW(;5:=P&HVL>M&E.Y]/I\].-MF[T M]C4_NPIO7_LV-=:9JZ!BN]GH M7@7AH+GWS'UNG]9O1RY&J MS5*W3?KH=S^;[,\YZ:M\$_F_VHGL^7RDJC8FO\F#8<'&.OG5=SD.O0$OIT<& MS/. .=LM$[&5/^BDW[X.?J<"24,;7;"K/!K&64>+G"1/3\-,J3_).)ID?F60V M5[]ZE]91_>AJ4P\5G,+BSNQY,?O=_$F-/YAJHLYF8S6?SF=/Z#OKPG#&^LZ> M"$-4R:OWUFE76=VHZZ230?JE^(3^9YW^9ZS_V1']?Q)2]=]/YBZI=XVO;OYW M*+Y/:J?"_3YN=67>C%"9T81;,RHK>Q4L_-DVF 1+6WD7,6>MN20^K4WOB:G5 MLO,^=MXKC&_:VJ@$:2VVLRZZO_2;K7;W2KM:63S>K7W3W)_XG8.VV"ZBK:T. M\'"L=%2-C33+SJ:U=>KO?WLYGT]?_196VMDO8A'I6;01_L7([V>OE%[X6S-1 M%TT#4Y()59FSV$*#4M N:J[TJ-;ZUJB%,4Z9QJ)HV#?,./!^PL8'LR:$@3S< M]!OQR#N3?:P.B92 .&"F/!HKP", %.T(1A7W8M!3?:J_AV5+-$D8VE@ZX"A MC?T"RU; 3GG1^!AIH1STWIHR!)9' \4V(9!'S+91U3964""NEL7B4%&J7?;7 M>9_;Y.10X0=12.8\,>9ZK3'$-[4)O%"S%Z_4CW^T-MU/^@D.'RR@$SY1KF&6 MK0X2$^@XDFVT3-1MH(M3I2PTZ=ONLWEEG D:V4;OS3;M_?[L;&J)\N+J[^@88":U$L %.'[D.34_UO](WI64U1T!$=:RN9E=8Z*;U< MHJ?P5'#(!YI,;[JZ@+S)"]U8O; -KQO?!]-P+/-2M32_%DT4Y%)5!P/#67YD MRF!NC6OS).8.'9O2J$;*(&;[01Q!A,+7M$BIQ02P /TK(N9M0W;!M:"6P6\P M#+FT#P7R3LAG]SC+D&UH0#@D_ MEB2 $?F!1"D8@V?WROFD?CTT3EVP)#J%V2PP9^D6J%4;8LK7HNBPZ+0G.J4G ML^=J=C;N]8@/+J;0ROIP%0"N+H.I;5*_2"D[7\HA(M:5063(3,ZK!HP(B@R! MAZI]NTC+MMG#VL%QH9\ DCD(IK=5EQ *Q4&)\&?Z)]EKHZLUB$W#DD($*1?' M WPW6-"6*X)07A_Q"&N*:PLE?\4 9E,U@9TFG%T03F=DB%M34;O,# A+4ME0 MM1OHASI)\TKB#+# CQ2GOJ$L0I/P91)V8HVVXX7:[) ;YL0OEUD'NI700PI' MWQT;N5M8X!MLW&ID0=WB\1+7]PP6:QTY^3X@EQWKWU_QT @7@5=(:MOPY$'O M*(U1@+JAM%Y;1%Y6M/*AWJ\HP@:7N?U@7L1."F.LJ#-*05,D:AUJ$=D85&O= MJ=QN@[_+""89+/^O LA\2/=CKM$MN\$P9; 2!.;*HA.@VTI&?Z4X><)XQ7Z0 M71-4YN\P?R#&$$K4 !XDRP .[F.H()Q@9^XG$>X:2IC&+B7S*[VU29KF1'U$ M+X%78T5;#XSG1"/ST/ ?SLF#T;%6L W)06YIR1G-&$5-&RI_,.A0*&QZU<!P$)6E 6$Z&?D^]EWZM[H$&EM7+L$99(N ML5]BHA(E$"9/ST-GYS)TC"E1G"CK-J#5HHM)]>^3!$\.JWA1-! S:5$***-0 M[W16$?TRRBS4XW)Y_1T:]+C!]U1NYSZB?OZYT%V>YKI7S&#N8+\:[RWCI& MV5!SY7&3SI/RC$@\"R05=CA_U:DECW]C%D"F=X\1)L 5;T*D>E'<&7%<*S1/ MP'%A5M8Y"F!A2[X-3!#NR$E(Z+6VVSA@50_UZ8I);BWU M7Z207H!;BBW8N.PICADD_)N..2R1ZCT49T@L":HSKV2\H;41"KGS'4?K;0IH M@1OO5B=46ETM]5="E(&RT[J#W-)9#*]UI4.XSY!,[1TI8+G-?E6G0BW5!NNU M(91%2Q^2"W.'ULUP6NDDA=K/1\K.Y;Y$J26(N5SGQ*(7@&Y8O[344SY@GP.0 M9:P8SI-G,'E3,9B$HO912'VIO6['?J F,_^7TN$\DFR4Y&A31(D00]P,(+_7 M!H_4\O/I\W%G!R\IMH3H455)CKD*S:6^E$B#HR( MQT8<,VCVV?K:-.C; M-< RV;BG+?TG-I:]>]WGI9R#.SSH\7K XC>SV>0YR&[3,%NEV_-RRT.^F9U- MIMV39>8JS" 4X7]]:&_,% [W>]0]A&BE6S;:V! XZ4DCK[H#A[R]F>X^T&] M1N^ZIQP:G-D1T@,[8ZY3W-5MA2TO'1@"_-V: MDJL[I&(DEV.C@=P#O5VWE2+*T-E&,]Q;4*_)+^%1UF'VI'6L_@!1H5,K.C$* MW7Z$: V,F&3&\7"2(>DM&VUTD7LR^W#E [1\:$^63WGIB^& +>SAL M9T RRMF<;'P8S;JCLD(4 ;Y!0_K!,."0*0=XP;!*0!^?$9=S V8 W='G5Y[RTBZZ M@@"QZ]KS&>K@L-4[7)>" N)VR4'9,):V?EX M?[K&K_Z)IDW?H?;M3QWZ_G+:^^0%_K'B#WM\C.F2?/WJGG;?#B_DD]E>7#X\ M_JK#BH+;F"6&3B83>@MZ+M;1B& M/2@V8VMG2YXD-^W^^I&RDZ5 6V O>X@MR^3'[Z-(,Q=[;;[9!M'!4]%;W9:=,)1X^FGMG>H*B\4]?.DBB:SSHA5;"^\'NW9GVA M!]=*A;<&[-!UPCQ?8:OWJR .#AMWLFX<;\S6%[VH\1[=U_[6T-/LB%+)#I65 M6H'!W2JXC,^O,K;W!K](W-N3-;"2K=;?^.%SM0HB)H0MEHX1!-T><8-MRT!$ MXZ\),SB&9,?3]0']D]=.6K;"XD:WO\K*-:N@"*#"G1A:=Z?W/^*D)V>\4K?6 M7V$_VF;+ ,K!.MU-SL2@DVJ\BZE+@*J/4LFD<,#D?WT" %[7JAGJG&2SV0 M**!NI989:4GE]TU%VG&D=7F_@7DT#^%5ZO8E=PN7T*/Q'P!&T-M6UL+WE+0@ MH"=?:<R.Q NHI'52T7:M=05$CC5( F,S$E!.L4(0JF)8WAR4 M=*!W!U4<8").Y7$-6B'!4,#J10Z(Y+ C!@,E"GIA'(,)!XUX1% 4;J^/LK?/ M4*.NC>@;2>> -8OBW''X9Q2D';FH@4H2NRU).92EOT9TB9?P&QF.Q?_2[CLB M[!H]6-)DO_=N)UX3AW/X2C+)U9>DA0^0%EF8Y06OLCQ<1'XUC\(DRN'C8.A[ M#,LH3)=+6&3A8CF'(@D+>O>3(/T0IV&2Q7PKEG0C@+B !^VHZ \%\0&RH@BC M)0-G:490.:_R(EPDQ6ENZ&2K@0Z-R_%_3\MG]>?TY;[1;25531R39![&\8)7 M\2)<+I-IE<4Y;+YLX$:4C51L&\_G81%S'N(P+Q:4B#S,%BG7S:V1RK'-(B'! M,4L.=\ M+?Y;KD_KMD:%1K3M,^ 3C5Q+M6!%2]=2=]1?/ 6I,1NDKE/E8 RE=8NE&*CS M^%A$IXV3?X]]2>TJJ<_V>FBKL?"W2([<,?Q3VL%KW[W9R1RA9JS]M&0"U'WC M2#GN'@?RY3B'_C4?I_F-,+4DPBWNR#4Z6^0!F'%"C@].]WXJ;;6CSO?+AOY4 MH&$#>K_3]'F;'CC \6_*^A]02P,$% @ ^%M25!R9(/LR! Q@D !D M !X;"]W;W)K&ULM59+;^,V$+[[5Q#"'EI L6S) M\B.P#:R3++J'702;;8NBZ(&6QA81BE1)*H[_?6=(67$V#[2''FSQ-=]\\R27 M!VWN;07@V&,ME5U%E7/-99+8HH*:VZ%N0.'.3IN:.YR:?6(; [ST0K5,TM%H MFM1&;V%>.%I+ULN%[N /W M:W-K<);T**6H05FA%3.P6T4?QY>;"9WW!WX3<+!G8T:6;+6^I\GGEJU;1/&(E['@K MW3=]^ 4Z>W+"*[2T_I\=PMEL%K&BM4[7G3 RJ(4*7_[8^>%,8#YZ0R#M!%+/ M.RCR+*^YX^NET0=FZ#2BT<";ZJ61G% 4E#MG<%>@G%M_U0[8A%VPKY@ GU6A M:V"W8-B5KFMTVEW%#2P3AYKH?%)TJ)N FKZ!.D[9%ZU<9=F-*J%\#I @Q9YG M>N*Y2=]%O(9BR+)QS-)1.GX'+^OMSCQ>]H[=ECG-/@G%52&X9'>..\!\<_8= M_$F//_'XDS?P;[A10NVM=Z;W(OOS.SPZMI&ZN/_K-9>^"TC%>6D;7L JPNJS M8!X@.D5OPZTHF,((BA#!!I5:KU18ABM-ZZ#TV5LRC*JK@!U\ON*4 M;?$:C5XW4+TT7!T1J:=@H&E-47D+=D;70;W1!4!IPPHIP>P# GN37- R9+=O M;YY[TF%^D>]D6T(WTPTYRWIC-.HQ8?TB!(D?N$%">\,5Q:C%BGU^@(**;9C[ M-MI(WB%UJDFO<"2)U;1%&WJC Q+9!74C]1%.?$Y'/-B087OUIX[ #0-J& S+ M';R73R4?L^]X8JWDKR)E8 %Z\4++HM6!I;HCQ]2=.MKA'B770Z' MI.7.&;%M QY:<)X*E99H@;T<_$',;EXP&_PD*,%U:Q'7Q@P>"VC<"1A5/=4& MKW6+1'_VQM#?"/_&B\%9V_W LBS.9BD.\E$\G\YP,,WB:9X/0H%?](5T<2JD MEW5SR=)9/!WC+YVQ=!K/LED\27,:SJ?3>#'/!S>['=Z)Y*.G-(*B-5A2@,;> M/ _6R^3)\GB"-,?Y/%YD^)VG\22;#TZ]X3_0S+-XM%AX;HMIG.4S6AU-%L@X M\ZYYT6/^5;B"NSZP\1!]39_%"#_I,)OU),\VYXNPF;/7^GYR=K?68/;^!4%9 MC^$,UVR_VC]2/H:[^>EX>.%\X68OT),2=B@Z&L[RB)GP:@@3IQM_4V^UPWO? M#RM\:(&A [B_T]@"N@DIZ)]NZW\ 4$L#!!0 ( /A;4E3- F4"M04 #D- M 9 >&PO=V]R:W-H965T_ M/0"=;+7Y9DL Q^XJJ>SIN'2N/IY,;%Y"Q>VAKD'ASEJ;BCM\-9N)K0WPPBM5 MC&2:'@VC#;5!4WNPN0>GLZ3L;=PF]B4SI:F)R= MU'P#-^!^KZ\-ODUZE$)4H*S0BAE8GX[/D^.+*$P/'G%BY!2@)"-[ZWF./>)"D.GSOT=SYVC&7%+5QJ^:2/>;WKZ'-IX9X>5:6O_-MD%V.ANSO+%.5ZTR>E )%7[Y7<,D/2B$8//E2OCJYL\_: 9NQ M W;16-RREEWJ:B44)\[LR<2A#9*12'+$LBEL9I\@)>UD><>;SLA8@M%9?A%8IQ);'^A-DQ[_[ >5;/&_FH,+=:2.YH6S)7BZD&!\P41>9Z3TY@1SC92KS A"APU,]-KU(=*--5#&]PX MA5B'[&L)B/"]$59XID&5F%7*,&X@$357NQ]_6*;)XF?+;KEL@%RJ=2N^VC&X M0QD?#JET;J+M-9 M&R$F7\E.H,4D?RN-^2RU%-:)G$NY8SXA3+A!N,'%-1>F M-8]!>4.8'"3&A *IN2@8LH9;Q/ @H))C8@!P@$FL&2S4@DP3 K<6T%+=F+ST MF2,VI> K(5$5*4"!IL+UD%?$0BUT8^\+B73^#&T6:"8*>:)0X=:V- M:U0(!+-DQ4:)-=*LG/S/G+6N_]\ZZL,P(.\1/8@ LZ.T\^)=)>QYH:0ZQ,4 M'^2W2\N.?'F59(=SG.92^H/IV13LZ>HB!:RTRKOVN*!XI1LBMN8[+%<@YZD- MD19;<@-8I^@-5C/9"Z=SP1HJ!TS M%J.S1">Y3"R#\1<%[,"#4'6.(Q1Z503"US@(L<%WP,U^ N$\8CCFH5JAT6[4 M1YYG+],^I"%+R @>N=Y7/[APZ.7@O?&FW(B@BW.?"/5A MG-]>2]U8.B/>C,[#5/+6,([CT27%@PW1CJM7+(VF1XO1 M!^6XV@@JJG8GBZ/%(A[]TG5ANHRCHW0V^D(G$)-:;0ZH2COQ)$JRH]%7[;CL MECJC6$2S*,N2TU>>A9A'LW@Q$,2+ M(OBT.GYW#S&)YLOEHQ"'$NELUD;YU&S'1DGCHQ$>TX](0*:/IE&2IJ-+;LMP MQ+QB299%R^DBK/6RK^?1-)NR-QXHIZW[\23I(IHFV>@MRN,0H^'+>(N+_WF?;3>,_;4A6LRN,[Z2427=CQ1J4[#S;9?[?\7G(?K\%X\ M_*GXA--'8*%*6*-J?+C :[@)%_7PXG3M+\=X&N$1XA]+O-R (0'<7VN\6[4O M9*#_MW3V+U!+ P04 " #X6U)40]OV;0<% !M"P &0 'AL+W=OBUNNC$1UM%L[E8NG\PO3X<,47XD*XJ]57@[/I@#*3 MC5!6:@5&S(]&)_3@-/'GPX$_I%C;K3%X3ZZUOO&33[.C4>0-$K6HG$?@^+D5 M;T5=>R TXWN/.1I4>L'M\0;]?? =?;GF5KS5]3OU1 M]/ZD'J_2M0W_L.[.IND(JM8ZW?3":$$C5??E=WTG*%CY MCCM^?&CT&HP_C6A^$%P-TFB<5#XI%\[@KD0Y=_Q%.P$9[,,'K6=K6=? U0Q^ M=TMAX)-R7"WD=2W@Q%KA[.'4H4HO.*UZ^-,.GKT 3QE\ULHM+9RIF9CM DS1 MUL%@MC'XE+V*^$Y4$X@I 18Q^@I>/ 0@#GCQ*P&PX#2\EXJK2O(:+AQW HGW MV.$=_&3 3P)^\@+^3ER?1!3>25O5VK9&P%^7XL[!::VKF[^?B_2K>GSQ'M@5 MK\31"*O3"G,K1IOL7BX%5$O4C)Y*!F??P%9R:+E%J>I[*PVBS%KC=0;1[41& MKYZE@ 6(Y:6P((P1JKH'9[BR->\*>_8/UDG(UX[0#E/@2DF'J"&W%O: LI@4 M18RC_9T932EA>=:OLSPE-"WAK#78!R$A+"YQH_M25I(L*6%0Q1$>[?Z[[Z5V2*\ASEYM0?*4#49L9JR(2,E2' W8>Y!$$^'$*YL1? N-%+=.;H7!>P&NK)BW-?PFY^(QWSX8;2V<5%7;M,@&+]1H MX^2_'3.^X*7V T<>*PCNO8%SX2\U3Z>MQ<_+TQZ4F%E,5$[CD"9& M\X?%#!WRBS'FC4:3"-@DAB]:[5>Z60DL3KXP(O0:*!(&XSCS($E>(O.PNEA< MX#1F*.99E : $B[TW*TYM@PGJJ72M5[< XT)8\C%E$0T0:&",)H.JS$2-<75 MDJ1%TEGBTSX K3 T_H8'EI$(.E M%&-YC&G0R5!'=S(.EE)X&VXP3*\17;7:I5Q9!"(,B3[.29$'ATF,+M.(1-[K M%(W-PFK"D@"U#Z77/"GZ$I)/Z+H'*8+$/O1CFN&H[.*>D[(L?%80K"S#;D1H MTNU2%$FC74*(.WSO6!&X_E3-#U5 3^30 Y_9?$IY?W("9];))C"4+Y 5BV[X MG&W7H>AUW\E#3W0/'?V6UZWP#=WO;N2]#T_=D19'Z%2-;S-[\+BZ'@S:B=!9 M;P6:[GM51FC._"2&E)19X8>8-9*7WC'D$G*O&V8X3(MP'6'?FCL, 68@+UF? M5?$0@.>\'K+YW*T\W7H"(=\6X:%GH?*76_<:&E:'M^1)]X1Z.-X]1+'$%U)9 MJ,4<1:-)CD\WTSWNNHG3J_"@NM8.R1V&2WP/"^,/X/Y&UL?59M;^,V#/XKA#?L!4CK6&Y>UDL"-.D5&[!NW;5W^S#L@V+3 ML1!9RDERTN[7CY(=-]F2P' L4>3#AZ0H9;+39FU+1 >OE51V&I7.;6[CV&8E M5MQ>ZPTJ6BFTJ;BCJ5G%=F.0Y\&HDC'K]X=QQ86*9I,@>S*SB:Z=% J?#-BZ MJKAYFZ/4NVF41'O!)[$JG1?$L\F&K_ 9W>?-DZ%9W*'DHD)EA59@L)A&=\GM M_,;K!X4O G?V8 P^DJ76:S_Y)9]&?4\()6;.(W#Z;'&!4GH@HO&UQ8PZE][P M<+Q'?PBQ4RQ+;G&AY9\B=^4T&D>08\%KZ3[IW<_8QC/P>)F6-OS"KM%-AQ%D MM76Z:HV)0254\^6O;1X.#,;],P:L-6"!=^,HL+SGCL\F1N_ >&U"\X,0:K F ML%7!W.IL_7? MI])Z$=0WYZW=\ RG$76?1;/%:%^]N^<%C%F_=[J(?BF\KC2(M'G>X%?' R\M4,0CIMUN@"4^L! IGK0\HA MJ-$'V]AGFLX<2\:Z(#]J35V^T5:X2S:'/KMPCB-H83UJI16^M;R@JEU-6["H M57[L@?PZ--3T(75XE(W"2RQ2!K9H7=BY4%N?F;:V]#!(@7H'JR6:KG\:#X66 M=!Q[]9 7VQ[*XA\:%EU7[,L8,O$_)/_3/R'^KZ0//PA%='5MJ1KVQXYAN^'V M.^NL_+U-[P*A6UBW,!STANF(!E?M.V(]Q@:=X/%,[H']Q&CY"@:#7CH: MA^'CJ9T#H]ZPSR 9]]*D4?//BW8$1-[2WB!-:-"N-VX3YHW2CL2I4R8^.,4K M-*MP5]'VTK5RS8'>2;OK\*ZY!=[5F[N4>*^$LB"Q(-/^]6@0@6GNIV;B]";< M"4OMZ(8)PY*N=#1>@=8+34="._$.NC\)LW\!4$L#!!0 ( /A;4E3;>-N, M> 0 +,* 9 >&PO=V]R:W-H965T M0^(?80@[AM#9W2IR5MXQPR972JY 66J29@_.5<=-QG%AD_)D%-URXC.3WZ5! M2. "/C/UBH;-2H0GS!K%#4=]-3"DPU(.LD[>;2LO/"(O".&S%*;0\*O(,?]> MP(",VUH8;BR\#4]*O,.L#U'@0>B'P0EYT=;CR,F+3GBLP4BXYX*)C+,2G@PS M2)5F] GY\59^[.3'1^0_B"5J8Z7!G\_X9N"VE-GK7X=">5*0;<=+7;,,KWO4 M;QK5$GN;?#T7"%-9U4RL@3N%FMZ@"ZG,A4%5 1,YE%(L.FB!(EM[4#6"9[QF MI0>95+54Y+@CE:9 1>4\,Z"WZ>_#C08Y!TH!5C.ZWZ3!>X?R/9ASI8V[!B$- M/(AV9+3=NV JYV(!9F?X+S\E83#^H(];7>UJLI@A<=+\IDL-SGC%;]Q2Y'&NIN1D8 M&JX;@(1ZHV0,8Z*G4QK#LS0DZ7 &R*&1YT;ZSCI!Q.CJ1A3CT_#B!,*"BH>?<(D)"',\$.>Q3XI((SFRB+9C$[S-! M"4I3EXOV]-\R,O2B= BIK8NAJY_3*4DC+XZ'=(B(A;P.(^KNG6=B--I]Q] &E8"/C6T"#*.V,L;49L9Y]PB250 M*\(=B>K:?3L7?%L-P0B"R-L;O@]"&]6XZ0MN) 0?8*HPYV:3?"%A6C*MVY#9 M>4(Q.SH;Z*QL79"30HJ+#5Z^]GHNX'\?O94;.V>[VY^: 9'>$>%36@I$-;(E#6^1.U*.?"&B>\(V)SR ML*,QA9+-HB"#EBV&FCCVHMC_M]YMN_30IVZPMTA0"2_&UL?551;]LX#'[WKR",/:R 5]NRG3A%$J!I M-]P!ZR%8=W)#?M_?JCY"1+AS8O%B61'S^2(CW?*?UH&D0+ MSUTKS2)LK.VOXMA4#7;<7*H>)=ULE.ZXI:W>QJ;7R&MOU+4Q2Y))W'$AP^7< MGZWUQ;:P[B)?SGF_Q'NV?_5K3+CZB MU*)#:822H'&S"*_3JU7N]+W"7P)WYD0&%\F#4H]N\WN]"!-'"%NLK$/@M#SA M#;:M R(:/_:8X=&E,SR5#^A??.P4RP,W>*/:OT5MFT58AE#CA@^M_:9VO^$^ MGL+A5:HU_@N[4;?(0Z@&8U6W-R8&G9#CRI_W>3@Q*)-W#-C>@'G>HR//\I9; MOIQKM0/MM G-"3Y4;TWDA'1%N;>:;@79V>4?RB+,X!.L-15:VQ?@LH;//P;1 M4^KM/+;DQ*G&U1YP-0*R=P!3!G=*VL; 9UEC_1H@)G9'BNQ <<7.(MYB=0E9 M&@%+6'H&+SN&G'F\[$S(!JR"+T)R60G>PKWE%EV\Y@Q^?L3//7[^#OXADQ&L M6R[MZX3"K3!5J\R@$?[YCL\65JVJ'O]]*]%GW;ANO3(]KW 14CL:U$\8'LKY MJIAX]%TI:B9C#:@-V 9AHUIJ2B&W5P$E&;L'U"[1P4S) '&TBA+TN!&=?U@B4[#=;WCE"RG;]3&^DV91F4Y@^DL8LDT^(K4 MEHUJ?W%=1MDT@VE4,H67D,^28E, M"CF=YHP%UU4U=$-+3Z2FAJ=DTYL91PIQXIW25OPW'GQ,B5E1%'!!8I%$TV(" M%\';U8A TLS] *Q,HBR?>(E%D\D$;D]]X#/-7^-JI7W-7I!K ^AZ"TZ+YJOD MOY3%))W!6R\Y/AD4'>JM'X>&WL4@[3@SCJ?'B7L]#IJ?ZN.XON-Z*Z2!%C=D MFEQ.BQ#T. +'C56]'SL/RM(0\V)#?PW43H'N-XK>ZG[C'!S_0\O_ 5!+ P04 M " #X6U)4*;$I^-," #D!0 &0 'AL+W=OK#QI[$JZQWW-TQ M"7_?63L8JD)>]CKGS)F=G9ELR*U]B36JUPCOD[_6-DUW\R %^NG]B_M+%++ OE M\8+,3UUP.8U.(RAPJ1K#M[3YBKMXC@-?3L:W(VPZV^$H@KSQ3-4.+ HJ;;M9 M;7?O\ )PFKP!R': K-7=.6I57BI6LXFC#;A@+6QAT8;:HD6($DSN";+I8?/ML#B7X)8%/6R MLB=9\VPOXR7F1S!,!Y E6;J';]B'.6SYAGO"], $7[15-M?*P!TK1OE>[/?P MCWK^4H._?SRXU#XWY!N'\.L>MPQS0_GZ]VN/NI27,#J)U ]@4^J\!"6:'.;D)$>@&+A$ MD*)$%Q Y>09R@G)KZ06-UW;56GA6ME"NZ"PJY)**GK&N'6UU\.1AJ9T8=..] M "^HJI5]_/#N-$M//GG0_VL6O\'%DHSH$(=G((G':B&20O(/M)5[:KPH\(?M M7PA# O?$DL%GPG0X&)V,($T':9;!>6"3+ =BB6WAR:#/,1P<#-,A',)!-DYD MZE]Q %9B%C6JA[X/I.DX#8MD<#K.X+5O$K^HO K=JNTO7@)L+'=%V)_V+>R\ MJ]QG\Z[_72NWTM:#P:5 DZ.3XPA&UL?53!;MLP#/T50N>MCIUTW8HD0-.NV [=@K;; M#L,.BDW;0B71DYBF_?M)LN-F0)N+)$KDTWL4J?F.W(-O$1F>C+9^(5KF[CS+ M?-FBD?Z$.K3AI"9G) ?3-9GO',HJ!1F=%9/)A\Q(9<5RGO;6;CFG+6ME<>W M;XV1[GF%FG8+D8O]QJUJ6HX;V7+>R0;OD']T:Q>L;$2IE$'K%5EP6"_$17Z^ MFD7_Y/!3X\1*UCD"!QM\!4XQ7QL## M]1[].FD/6C;2XR7I7ZKB=B$^"JBPEEO-M[3[@H.>TXA7DO9IA%WO.RT$E%O/ M9(;@P, HV\_R:T Q>] UI<)*DI.I!3 M-C[*';MPJD(<+[\1(^0YO(=K9:4ME6W@^T:K1L:D^7G&X9+HFI4#X*H'+-X MS NX(XJKXBCB%98G,,W?03$I\B-XTU'R-.%-CTCV MP+17+#7&E:;RX<]K^3R* M%IORW'>RQ(4(7>?1/:(87^V^1;@DTTG[#*VLP!+4XS/2RS."]$ UA$RBV: ; MLQF'";RF.3LH*8.N28WCH:2MY;ZZQMVQ-R_ZDGQQ[QO[1KI&!0X:ZQ Z.3D[ M%>#Z9ND-IBX5Z(8XE'M:MN%_01<=PGE-0>Y@Q O&'VOY#U!+ P04 " #X M6U)4;%GJQJ4" #(!0 &0 'AL+W=ORQBX^D6UV#"T"'IL#\,>%)N)A>KP)*9)_OTHV?%2 MH,T>;(LT^8D418XWUCW[&I%@JY7QDZ0F:L[3U)BBDY:I466?4JUD":9CJ-N[J9CNR8E#3Y"(_GXV"?33X(7'C#]80,EE8^QR$ M;]4DR4) J+"D0!#\><%+5"J .(P_'3/IMPR.A^L]_2;FSKDLA,=+JW[*BNI) M<<42REOP MC37>NL#CN\YA55!R=9U-N@01-,XNY7<@:AV\"$;C+@1E&*#DR"=[B40I@J* M8:_@F17WW*'@<#!>1[7GRT$$4U.3TV M8U?J]+AN=5E4\DJQIETLA'H\EV6].IGP23]P7=S--0T3,_[V/"1Z0_!S(5?-Z)Z1)K=U_94>?LI/)AX!DJ6< M:N(@\',O+V19$B/ ^*WC.1E$TL3Q?<_]O=$=NMR*1E[4Y2]%KNF>!W M$WR#VPHR*-\)+4Z/5;UBBJC!C6Z,JF8VP!45+T;IBNV?NB$M6T$"74%UK" MVW3S O]PX!\:_N$S_&_F0LG.EE?BD=BR,Z5$=6=$L']_E@^:G9>P^']VV?=% M[A2G;YNEF,J3"0*QD>I>3H:%_#R79OE$]2]O58M8 M9-QWS(C#JEJ/2#_63^=I6<'_'NT#W="$D= __RGU>?+7QA(TQ0.;%:K1+.$I MNUPLR_I1PO3+5DWGQCQQXB1^QD25L]!W_"!B#1FO8?6,3>O% I';D&>R%KZD MF(:DRYNK*R8TYC!Q+Q5R!Y,/4DV+1K*E*J:2YN[%W,UBPW( I="-!=$MZ704'JR@U#*M50Y'DHA>/6=G M-Q>DKP,)E@?))>1BN50U(,+5V$P4BMV+LI5L4>>R-%"GHIRV)1AW$T9$T,D: MHEX:N7=P)^!2\K>V('L1>5$M6VTHV]M?I4EX3#1(N&9*XVXHV#;=K/-20+6; MZ;PNR>Z6/1F24%AL"!6+8C!%3R=60N7@?/.0#W6-F,V@'DK;I57SJ-[<2 MWH+_!5*N;!RVFA?3.32[K\M[TG N%850"VLKC:JC"X FVW4&+HNI%0PS+$0E M;,@-[']M\SL: .+BKBIFH*Y&\B!@6K:Y592@3PDMK:*1856W3@9 $%06^M': M=9/ZR7(UI'\O)6CA3DE89-B0_4!0I1KE"6XMY7I5;B6),-&0NUOIMI)8 M&+84A5V^O 9ORI#?I*H-\:PNT0@9YQ>WI>RZH>*;?"'%]"&$'LP >91"P9NH MN&XG,< S5J2%5LC_'$B:* M;@(G\!/<9$Z4\2&Q]Z[197>V+)&CN1.%/JY!&./*,X]]KC4J[G?5A9C,\;*( M;D(G3HQ@STE2#I,W)L\IF+MJB=0'D,C\AA$WOUX4LT^(#YM-.Z;-6_9!J*_2 MC)F(%N1 @9,$,:Z<#.'$@<^N$74":MAEA)BR7IK:[3MI$)"8T(,Z*83]35:0 M8A.XR"G=P\^$2;Z9DP6-P2%^HO0-N^R#LRQF MDNT;= !)^_/#Z]:K$G&#EB8NG'"+JBC*DOS)G R\R;- MR"V> ?!$1X*0Q(X?QRR! Z4#@-ASO#@R ,!T!"!.G2Q*(29*7'2](P!!XJ2( M7KA9XF;^*P&0>7UD2*2 -':1_@8+)$[F<=9YQ@B #P#(IP"0NDDZ!N!'2&@) MWG O<\'PE0@0=@%R-3P.N3HAGITTXW$[)W >87T\3$BY&WC&5<=2^L(P%]1= M#A62>];?7(;M,I-]J^\,]*:,FTFW4G;]JZ1ZB@0XN+"!A62 7_0.]UW'O]DE M#3UAP^YLZ@6M@->W"IL-\+<[#GLE]-KD7.0:; ::D_ZAKJ')H<5Z#8)/Q0] MI&_]VN78O>EX(144E3UZ,9G@%OR?=';?E=A[RJ@/HFO:N9++-5-"PCZV1-F*^3HQ],KF6=#Q$KRYJ+ +R68OU^"=E[RW:)ZEF M?^^@%S&&\YII>W#WF)3:"U!$ M3?V ]15E!) A27M!NP]X8F--1Q[*8)BSR' M1QD+Z"6R 7;68>1D:6Q2@V^I4D.?H=YX+$2;@[=([CXE*51N!'[B81_HQJDE MXH:PG5J<_;^[_1L<*R.U: .=$[3(<] MAD(X85_S;5WH8?.F+HO<;#S6QQS$D#I7)>=TQH:P^:FB2'39F7GW"M<=!P'Z M)837U,H@_R3X]L1@3I5^9V"^X/9JS<_Z^U %_X#J9O(P>T>5>H3[/1G[9V-L MJ\*9V=NR*_ U)SICX@[4=M4+?-0JGUK0)*-CAS[G4UH-406Y%Y,+]JS,NI5B M:=)_1ETL)?DDH1X&B64F"VWJ#UI-G^I/FI!'[@*R7?T"M(X96D@03K$'@).O^,92G%5H_$ M]Q!2&6+!#UPTR+N1P&R91S4YXZX?CY&@CXB\B$HBZJ@7O0H*9T&(]@-!NF<- MD#WK[EAVDWGI6,?ZPWBD/Y2BS>W^UV[?9*(V&.:JD4'=2L\JF M,@S1%,=N0[%W7-&I!DJA7E%I]+J8P2(F71\S:J"_7S*66SC_3\$S-LCWHV?; M?#O"!STC#ZGY2&(W"M>NPITP".&[H9ME.SWE$/_&$K #I9*U'R-RT(3"D^$D M&_[C.T%BW =]8)#LAK<=5!FZJ8#ZLV 44MCG8;?).?K69R(*_H\:%,^7]I_G[WEA<^>8@?GM"6E_O# W?1?AR:G>_6EG=A/J_0GA=]^OJR:\\; M!=37'++8[GDCCVK2(8O0HF1FSQO3QQ]01O M[X[T^4;I+V8%8-ES(4MSX:VLKI?G[MV]OCQ7M96BA'O-3%T47'^]!JDV%U[H=2\>Q')EZ<7H M\KSB2W@$^V=UK_%IU*/DHH#2"%4R#8L+[RH\NTY(W@E\$K Q._>,(IDK]84> M/N877D .@83,$@+'90TW("4!H1O_MIA>;Y(4=^\[] \N=HQES@W<*/E9Y'9U MX4T]EL."U](^J,UOT,:3$EZFI'%7MFEDTYG'LMI85;3*Z$$ARF;ESVT>=A2F MP1&%J%6(G-^-(>?E>V[YY;E6&Z9)&M'HQH7JM-$Y45)1'JW&KP+U[.7OR@(+ M$S9@MX#!F?.1153Z-LI:A.L&(3J"$$;L3I5V9=BO90[Y/L (W>E]BCJ?KJ.3 MB.\A&[(X]%D41.$)O+B/,79X\8D8#;.*?1 E+S/!)7NTW )RRYH3^$F/GSC\ MY C^+1@#X+,_*M#N+^%A7E71A88AS+M$PL*:W1=DT<--+$J//*2.R\6G#T5G#%DIB MDYHSAA6 8@[:5>&M*)E=J=I@..:=*PI=@IUX'0PB&+"&_<)2/YU,<9WYTS1E M-[76Z!)3!^)2\+F0P@H@G=B/9M-FG43L5I7+@05=G-2*_"A)V<1/IV/VI"CH MTS;0KR3&-0S0L6E;&CCT/O2GSI/(CV?CWOO%GO !;AJXZZ[?Q^5#/TY#O,[" M6>OU*6R4"T+G33()&PXQ>,:9C*LP6,M,+4OQ#*SM^ BU43@PP.W)[M8)&52FFBX 8T[#'O:0-R#7L3Y2?9F"EC'9_B&>4O M\4-<]TM.(F?LJD!?Q+>F-]!U[?*G%H-ZEQ6)XT2(_/E88@8!P5&\P5%S*99. MGR1G5"WVJ4OMCC<3K/ALVE5]S\W$'X<31]$X2MD=M[5N&( .;4E- ^4X6;B3 MWLN62\]!REZ,J2XI[>-?P#5EGB0.P2+'Q);O8Y?YF @=3!VM(WJ1L GR>T"W MV)QA>SMF<4+;S-4"LTT8+7>YJ'V*EK+FO8_BK%OZAAV_Z_(G@!X=#S;"W7[%$6,EX M&+)DF/QOH#WJ;&'"8L61<#AF;U"7KM_5/K >H.-O\)KB M=6_CRKA9L05F[@(B=X.*%^0UL2R3=;X=A 6:1986;B][A5UG M.YW5QX#^:?5B%S/-)I1,)J[U$^R.X[H'>>L&S/9@\5T%VIG08)JT=&B'FII; M9$D3(#QG*UXNFU%=XF'ZU$Z:XEY-;9\&XQ] 7/0.OT0LVX[QZLJMQ9 M>:XLGKS=[0I_ZH F ?R^4'C4:A_(0/_CZ?(_4$L#!!0 ( /A;4E0S&'0R M&PO=V]R:W-H965TFMB>\X]]\/V3+?:/-L2T<%K)96=):5SF^LTM;S$BMD+O4%%;U;:5,S1 MU*Q3NS'(B@"J9)KW^Y=IQ81*YM.P]F#F4UT[*10^&+!U53'SMD"IM[,D2W8+ MCV)=.K^0SJ<;ML8G=#]L'@S-TI:E$!4J*[0"@ZM9/AC\*'!K]\;@ M(UEJ_>PGGXI9TO>"4")WGH'1WPO>HI2>B&3\WG FK4L/W!_OV.]"[!3+DEF\ MU?(G4;AREDP2*'#%:ND>]?9[;.(9>3ZNI0U/V$;;T64"O+9.5PV8%%1"Q7_V MVN1A#S#IOP/(&T >=$='0>5'YMA\:O06C+$#XIKBN$L\_:VNXT=>3<4Z2\ M<;2(CO)W'&4Y?-'*E1:^4P46AP0IJ6ZEYSOIB_PDXT?D%S#(>I#W\^P$WZ!- MQ2#P#4ZDPH+3<"<44UPP"4^.TD$MZ.P)_F'+/PS\P_?T"LNEMK5!T"MX1"Z9 MM6(E. O]>5/I6CGXY1N^.EA(S9]_/9;EDS[\%KZV&\9QEE#I+)H73-H:QZKR M@ZJ2( O"QE5AJ?:DC?8Z=;.B_C,&%7\#9YBR,NIDQ6_4EB$IP%0!BDZ.6M&! M(,4?!%_306#AS/.B[0(!A'K!'4 HL$BTP@FT%_"M1'(FZ600:@V.+25"T.UM M22WPDJDU!AS;ZT_]7B1+)JET!* 0 L$;,F,!5>$=4,=@M23DKFO"LT^/[*KS M,UG&WCRPZYR1;U?JVE*P%)"'[:$6T2$P!TM<"Z6\'TKA!HW0!7R LT%O2,9= M/QSW^MDD#B>]X54.W<[=/TQUYUCQ0I:[E)RP,Y?HZT8GY6%C43&R02\?>\># MWNAJ EEO.!YV8K_9/7N*?&5T];>9;OPUWL_]KW-/71!C<.=-[,>@AXJ/"[O_ MUPWUWY*474&(YO^1F5;-7H=1&Q_V5G;9FV3CV%%'^NS8H97NW145FG6X$?W^ MIY#CM=&NMI?N3;QK_C*/-_879M:^-A)7!.U?C$<)F'@+QHG3FW#S++6C>RP, M2_IP0.,-Z/U*T\G43+R#]E-D_B=02P,$% @ ^%M25)V4WSCM!P W1( M !D !X;"]W;W)K&ULK5AK;^.X%?TKA+M;> #% MMEZ6G"8!\IC9#M#9#B:S.RB*?J E.N9&(KTD%2?]]3V7E!5G8F?W0S_8HJC+ MP_LX]_)*9UMM[NU:",<>VT;9\]':NB-4'BRTJ;E#K?F;FHW M1O#:+VJ;:3*;S:;G/IN+,]VY1BKQV3#;M2TW3U>BT=OS43S:37R1 M=VM'$].+LPV_$[?"_;+Y;' W'5!JV0IEI5;,B-7YZ#(^OLZJS3;;\8&K12 MA2M_[/VPMZ"<'5F0] L2KW?8R&MYPQV_.#-ZRPQ) XT&WE2_&LI)14&Y=09/ M)=:YBY^U$RR>LQ/V456Z%>PK?Q3V;.J 31+3JL>Y"CC)$9PX89^T'3LJM'5_7\.>?5-3,K( M4[OAE3@?(>6L, ]B-(3LZUJP:]UNN'IBTB*MEK^!ZF2A#*HXJ"(5:T%0N6D$ M^ZTSTM;2IX-E7-7, :*S@ND5$]9)D!PN I81OW?2B)K :N&$ ?.$E]X8_2!] M1J(@[&TD[(0A3;S,D^#&,D$\8(BB:)?"#)'T_S/\Q8NW'Y)Y8K42/FV]+0;J M09T*Q<<">OG$DDGRHU=DM^VQ70.NAA'!:T8K_B!-9]FEK"/V1312K"+OD_>5 M5KJ5%;L5%1SFGMCX^O++^]MW[!+>W7)X6MXI;"(5O-/P+6#9)VZJ-4N*8,"$ M+"CHK_2V3%XI!)&P9'=_2*+W11)/O-;'74\A6WJ?X&'_8"D@)5Z*&;'1QD&, M %9#&MA=&K!-9S;:4BQI0ZSH\?:4_8LB\?YU),9@ MHUOKSL+/]MU>8 (; @25NP'EB51EBTPR,LHSV,,BBPJLY@HACJKV#B)DGG. MWK$L2A<9FT=IGK"OVL$:K)Y%<9EA,$^B199C4,91O$C9+9;*E:PX3'UIW-O4 M'B@6+)3JCFV$D;K^?YE^W1D#54[9!U$+XXW(87B":Q+%24FV1(M%'"H66Q0Y M@T7I'$_+,GGVRCR#2^(H@:?B*,\RZ+ 2AA)Y!SQ.BP(R0)MEV"-.=ICC,J;% MXRR-<4GFBV=4;%7ZR7@&L=D"PU]YTW%_K%Z2X2"2@"X%T,K%S.\]&\(QC\J8 M+(F3:%:0*7$1Y6G)+L%'Y%HE&QF@^CBL>E6)EIW3YFF_GOD:@+QSAZL#$N'/ M1.,[]^^<0S#/NWI )-^,_?C=)7B,I,<*?1/TWNF\%$JLI(.O)O'PNUT32T*" M$NW0T@2#Q\DD)9_'X3*;Y"]5"^U1WH0T:%Y!]A_/^!%7/"E^$J.S5X@$=VL:7 5386CIP MP8N.TPE1!LJ6N.Q8$8JQ1 B(N51&() $,\IP(:/H..Q/+DN&$B!I&L,OGX>$ M0T"-<)U1 R*,!D(1O)-YA3_A5$7WQI5 &E'I)XDX;$42@6]QX4.$HIN$@,TI M8$<3_Y!'R1W@Y!+$=/) >?MSB7WS&OD41TAE.LR)1V(!L"G!\S@.B9[G[!]T MMEED4)G.6!KEBY)]X\9PU>N%AK"Z9WH3SO L2HH88FD^1__FN+J3RT;L[#@! MS!QE[Z-Z@+G:D"W)#*6C2/XP]E1VYK1^'K-_(MG,#A3% .K&R8+]3-3?>(:A M(*+?P<,LFF5S9/P\*V *9AX.L'DE+ MI^[%B(*"#JGJ*\D8D2D7GCUI$LT+8LE/6M=;V32T:5EXIA91F=/NKUTW#N<* MT:Z/R#B$A!!]5 [JO,^:<5; 2I_8609ODC;DLH,+GD" <9I#:5*,QBET\ZS> MZ_+6W/J:::B@*0XSE58G M'@3-(ZJ%Y)XCW#]_73"5=@=F+X](.Z%HD. O10?3\B?VU[^4Z3S[6_P\.#R[ M;S-: KYL)-YP#I(IG,V'B+-="X6.;H7N];MB"'6QGJ'3D?[TH!10XH[[&_$ M00!'2^:IQ.WYNK$>^2P5X;>[84Q*]F0?T/@=F?&_ND6 MBB I]&K64B__@ A1]?,M6Z@(J[X@O^CN)^R;=$AN;+)%L:E$*!B1Y\3>2P-( M1*WJY!7-]IF\1ZE.$?]03/_;.[L_\.C%"ME A>"'#-6X1:+Y.$%!3)3/$T>= M]>;+P+%>82GNI")*^YW0_/MAJSOEC^7CZG[7*!S1Z8HWX?QU>SL!-W1_U&KZ MHD!7J@F7-4JG+\R^8<1^@6,T@U55Z/+"BTJ&;BY-LC]:L\%&IG^C*M"%96C] M;OI7H/W X$"1S_0.38SP"(ULI>,!$$6L\/5VG,^I'NW9UYLD5# +B3B8=^CE M>+KWR:$5YLY_6*%L@>?#UX=A=OAV!&":T$YL<)2'/KYB)GP M,27<.+WQ'S"6VCG=^N%:<"0/">#Y2N.-N+^A#88O6A?_ U!+ P04 " #X M6U)4R+)C-R@" "C! &0 'AL+W=OK@24S=O/THV?4R MH,V-=2(_\I=)%9UU3[Y!)'C1ROAETA"UBS3U98-:^(EMT?#)SCHMB)>N3GWK M4%312:LTGTX_IEI(DZR*N+=UJ\+N24F#6P=^K[5PAS4JVRV3+'G=N)=U0V$C M716MJ/$!Z7N[=;Q*1THE-1HOK0&'NV5RE2W6\V ?#7Y([/S1'(*21VN?PN)+ MM4RF(2%46%(@"!Z><8-*!1"G\6=@)F/(X'@\?Z7?1.VLY5%XW%CU4U;4+)/+ M!"K]M]QD'/>>"55OGXA:ZWG9\G4.X]63TX2!!R?9$_P9^/_'GDS]_AWV+- MR#M!A,Z#,!5L^$*DJ9&#<>1?W_"%8*UL^?3[K?L]20^=N?"M*'&9<.MY=,^8 MC+_NQED-Q)T2Y(7Q#*A!CJ];80Y<+ E1X6AT=6P/#Z7=&^IK:-P= M._"J+[Q_YGW[W@E72^-!X8Y=IY,++GC7MT2_(-O&,GRTQ$4=IPV_(NB" 9_O M+.L9%B' ^"ZM_@)02P,$% @ ^%M25' ;"(-H!0 %PT !D !X;"]W M;W)K&ULG5=K;]LV%/TKA%<,+<#&$O5TE@1H'L4Z M+&W1M!N&81]HB;:U2*1'TG&R7[]S*=EU\_#0 (%T*?*>>^[3S-':V&NW4,JS MVZ[5[GBT\'YY.!Z[:J$ZZ0[,4FGLS(SMI,?2SL=N:96L@U+7CD44Y>-.-GIT MW>J6K,^'L6CS8=/S7SAZ>;-V?3<6(52OG33'%FS9I9. XV$X&K0!KE&4U*NO,5N SU_\MYXQ>*2O697:HY@ M>_9)+8WUC9X?C3T,T+%Q-8"=]F#B";!8L$NC_<*Q"UVK^EN ,9AMZ8D-O5.Q M%_%<50*'9FNJ74=S_^4(JX^,FA98B#G+:*N9Z68Q(TJ(AKAH[P4&JT5U8C#';+ M>$7;T[NP?1_S[.(#9^N%88T+^]6B43.&$6%ET*U5U81^[>2ULNSEV8?SRU>< M BZ=4\[M'(409HJN%).Z#AI;?3"=8H0$&[)%Q&3H83,#3V=6ME+NX!E.KY8 MF2LSMW*Y:!!U-0!^BOQILDO?,2(B MOG6'G$;T#6 "\Z'PJ+10VP]-!\LP.#/(Y]H=LC^0BWZ.,4PAU4U1SS2)7H9 MF96#!?"^.+UA2ICS-2I+2C!=1D/*(BR@;2HM-(IY,)JQ( M>3')62EXB;V^H.*$BS2F5SG!"P#4],:'QNT=?L'2LN31A(#3) 541E)6\D*4 MS_3FW4X /VP#^-"Y"0Q'<2\4N8 01R7/)NG&M2*)6!S#[8+(1T7QORWT$L23 M08IXGB0DI? _SB#UKC^17WB-2*9$(YOP,LDA%!"R?-!KC9Z_;D-5TUBB M-E2WN.;4#?4+U8!%CV$5X#"\'B@,+8I!C-^0_GI!?=G1"/VW_Q 04;OWZ^J; M\#^]V)^87^\3>I@30542DA(DT4L1CXMXDQ5$)RG+S0ME2=!]^#,NLH(5/,,3 MF13BJ= 1:DGASH,D>)X'*4]0H^*9=7?Q?=EXQ/F%2F+T7!ILNVT!&<%$SS)T\'I[RT.ZG$T]H3,%@AJ!"$77* )GA>/ M\_N5]F:GTAZ9-3'/0_D+)#XE[P5^0\[P+$6.9Y+% M@__["SVT&V8/&1:AZ2%$O$3X'KM1C7P/S/X M+1D69&#[O]#)?U!+ P04 " #X6U)4[X$$H/4, !_*P &0 'AL+W=O MFG9%E48Y?TB2><9RD MYYODZHF=NP^=?H!(2$)# 0I 6G9__3V[ $C*EFC+'Q)3)+"[6.S+LPN\75GW MW<^5JL3=HC3^W=Z\JI:_'ASX?*X6T@_M4AE\F5JWD!5^NMF!7SHE"YZT* _& MH]'QP4)JLW?VEM]=N;.WMJY*;=25$[Y>+*2[?Z]*NWJWE^VE%U_U;%[1BX.S MMTLY4]>J^K:\=67:BR)$J0XTBYE(KRYL M^3]=5/-W>Z=[HE!369?55[OZEXH+.B)ZN2T]_R]68>P)!N>UK^PB3H8$"VW" M7WD7%=&9<#K:,F$<)XQ9[L"(I?P@*WGVUMF5<#0:U.B!E\JS(9PVM"O7E<-7 MC7G5V;6>&3W5N325.,]S6YM*FYFXLJ7.M?+BY_3TR]N#"OQHUD$>:;\/M,=; M:&=C\<6::N[%1U.H8IW 01MI!TG:=^/>RE^4/E0'&8#,1Z-LQYZA\WJ#YG> MX19ZFU;\Q_G$5P[6\F! N))G@(#"Y%W_$OS?JKA+O M2YM__W.3=GM)D[O^ZIN5NU=W;EM,GULL0Z[%3D7>[B9JXZ;U0A MIMI(C):E\!5>P-2A29A?XR7[-=>S.6M$A.EC%"EAHOPVL!Q;?5# MT;.;1\UN'CVQFPNH>DXQ"2PO#613NVYJ+X?-F[K.5C-;W@MK5-R=?-.0M)4& MP5U'81''$:B@G-HY92 NJ[*,^U'\A8@3[(#43!-K@V!?ZK^ATQF"?/A06N_) MQ SHWJHT!3KW"H1U!1,8BHUB:R\*[7,0")N4S(PWF?SPHFNAUZU=8I&;U,_B M],RYGDM,L66A')M8=O)&?/Q1Z^J^UR*.&XLX[K6(;UX1EX^^TL@09/B[64,O M]BA^.S^_^@7Y&CJ&R$A5!LF=F(O*XM=WU9&: M]DYZ ()E\.1J+BLAIU-D;&:%!5E'S.2BB4,8KZ)YEEI.=,G6QK^=*MD"HH'5 MQ%\&2F0:*8IM5 Q'E2TLG;I5IHY,U!T $1E_ 4.'SMI)K$&HPA8(7WE5@P$D M #KPT'E=DEQ8FA-39Q>8!@]H5=%KC">-,9[TAR?IY\$?Z(&L_%:6M+I=K;*7 MS988E7CG]*!:WF+[EQ2?\C3"0IFN&U(&<0RI%J#QNZKDI%2=*#,(-@P=QA=A MDYU2>'..D-']"8[%MGA0'QJ'./2 +5P3,X:B(Q7SA5Z$I\#J'? MV#[%OFX4^[I7L>KAEPXU#4(G:!"M7E!U%8>M) M-:W+%G%LG.>ZL2($&1BNU7D3.P3B*,6,I^@/XS8IF<]1890\,I1D%+8&:]!+ MP7EJ#IX$P.26%<%_\*Q!Y#D"<%E34#:7!"0F!*%B$O%+E5-Y$$L1V%"N75XO M0!_D0D3,@V$@K^!/B./R.WDL\)M-3'@1<5^;2/^7HV:@MAT:]%GF)X&-(R%W=NY_N M9H-LF(GVB1?KL2E(Q@AYNF1U.;FB((?L(DL*>G,-6PDVF%M7M#:(C<8F,2*$ MIK#;(6P.!,'LD*UH[PKIBC!DH9"*BH;D!.!JL>F*7+44D]#Q,GE M4ES,0U'S!?'9P$@\UT$.>/!E0> ;9X)2T+!E\57(>IFH )#\H MZ H9(%2K;>Y%0 .^^;L)"]L4$/"<"@$IV&6-TM\EP<-$2NOP:EGF=0!L7=MT MDOHH^[2=T38%Z#O^FN!2T2KF5C75J4;\N=4%X:X.2$1Y,R-;)M!U2&L_?"WN ME72>]L;44U21 L9"3A[;0*/[92:&28U+KDW2%+\UMFO$ZC>VSVT:QU7:\I M.6'LJ&$;!K.!QA',*,831=2@3C^G1.D&L>*/L+<7@T$J\ <2ZIDV!DN4_UVG72\2,(Q8"H-]2-VU W[@UU MOUE;K'19\B+!'E:H*9T%P0:0CA"M(HAU-2AM PY:Z)F MVABRB%2AV=HQJK^/:)8W)_T4@*M]>]0V_[+#)W)]L K1M8J=-Z27Q[9BJ0GC MK35>L!<_PY+3-C3(_/%&;+/X/K6U++6C2E_0^ SV]XAUM$O= MOH^!*]6>3<"M5#XWMK0S9/L&['*THS0YUTN_5J(^I"=S;G@4(=&D48ACR.MD M\TOI0E=LFT"A%T,'"IH:+&W.C[DW14(9>PR MMNX*Y_V@_=)Z> H<]+,UL_W/R G%2[?W!2W03M.+@DE),I0L0U1?UV^"@G3. M,<:I6SK)X;B22^?N(YZAF@2KT8RT=X)Y2$2%@GAX()(<[$X7UO 14'3+BQ@/N.U!KF8-=V10\?;JN6W<9?V= MN\\*5HS4\YGA\;/5_8(^7>30U7#3!F#/"M^W:.KTU;@1\B'NHC(\ZAI:CW2( M9,3*+,K@P>;@J=O!S>&&DGO4@>:M HHL4^=US3E#%U=U&3VY(AOS$LF7'@/%I^)LVUG,^EN+\13C1M[M'$9?T%", MW"IYUV<#NCMJBR60A%7&AZCY-18B M#)MVUMT+NH?7%:CMAU99WI5DJQ[]MAG;=)J=#D1WD1%H,^>U#S0T#"<-7YHF M(:4Z>HU=: 4%:&WC4-]NEDJ.BV5#A4K?"BTU@#*/DIRX;'8@$0S8T6^GF4?O*4 MG[+#X:AY,XUE-A>_@A!EL:G_S]7K>)2][E5NVZT;]W?KOF+ETN7A:.8#TF-I M0_C]&!:ZJ]/UL]N&#CHR%!T9MGYHSN=B(W6]CXK\Y*TQJL4,FHH ,*,4%;8U MM3B \]C(.\1!P:@5 <9<\3$(4<&OHLXK00M")%)F3F[=G$ S( RGJVOC'M!M M"I$0@2.RJ;U:[^\19(T?L:)(0[6-HX'X@=J:#G?I8-4U/4&JQ"'$,):9#YFL M-Y[2(0/ Z#V)_1<=R(8CO+9P7:&.4<&NH6**!*'5MZU:W=^A3GVQ<;?]F7%_ M?^93O =QD>Y!W'2OE)" -^W%"+^KI;^@2?.IYV+&P=I]EVZ^28-4.+U>.SWR MJ;Y)=SZZ-W2H]Q(*CWW%I]KYG!JEJ"K3P7QHJ7*";\[)4\<&$,I)C'XP#7E- MI=-[9^L9"IHP/AV+/\2+39>8!FV^B4+15,)#^6I#2&Q\[67]?A-YP(:;'BK> M]-BLW*#0Q]=:TKD*EQW-O8<=+Z;T9[BV1S7N[U']!^&F>TO-68/G&%YVCL O MZ%71R:RIJ%E76+X&LG9?I"L-X9#&<AV6L4C0>-0\BC* ]'TN._;SKJ-<+78BQ8?T'[=WVE:A3-+TX\H M3:\D:-PM@X_Q]3IU_M[AYQZ/YI4-+I*M4D]N\;E9!I$3A /6UC$(FI[Q!H?! M$9&,/T^*.&7_K&=LN@#*#!G3@,]EX=?\!3/)GC MJ]5@_ C'R3?- J@/QJKQ!"8%8R^G6;R<\O *4$9O /@)P+WNZ2*O\E98L5IH M=03MO(G-&3Y4CR9QO70?Y<%J.NT)9U=?E$5(X#NXQV>4!X3WCV([H/FP""W1 M.Z>P/E&M)RK^!E7,8:.D[0Q\D@TV_R8(2=B;36VPC\PM9N3^)N_ Q[QQ<)Z4/73 M[]]*YT5V5XW79B]J7 94;@;U,P:K7U'H*;U R<%QB]HGZ'TOP7;J8(1LS >? M+S=$-,356=8U?)6])>B#%2X1[R I4Y9FI;/2C!61M_*(\2B#3P=-I0]5Q)*J M@B)E195#R5E)9S^*O9 0)XRGL9O*BB8BB$MX5%8,5*Y3(MY!6I8LJAQQFJ1$ ME3DK*UG!2_B?T7R6?YQJ>Z.&IILS@NG!47K*KXR4KC#&Z^W,!&U%TO MG6^VF=3\%)9PPY9UG$(8]9DG%X\,UR@RY. M[K)#V)*524D7L2B*X"?;42#GM\!91*"$N',WEO\M1=]ZIN&K/K;+4BKS9 M4>]'[1SH?*>HIDX+=\'\-UG]#5!+ P04 " #X6U)46A&K]B<# ![!@ M&0 'AL+W=O*W6XRH(5-UBS]12C#C0R4'(GFE:RF.@1HFLL4Y]%\1A MF <]XX.W7=N]![E=BTEW?, '"6KJ>R:_[[ 3IXT7>:\;7_FQU68CV*Y'=L1' MU+^-#Y)6P8S2\!X'Q<4 $@\;[V.TVJ7&WAK\SO&D+N9@,MD+\606GYJ-%QI" MV&&M#0*CX1EOL>L,$-'XYXSIS2&-X^7\%?T7FSOELF<*;T7W!V]TN_%*#QH\ ML*G37\7I5SSGDQF\6G3*ON'D;//*@WI26O1G9V+0\\&-[.6LPX5#&;[A$)\= M8LO;!;(L[YAFV[44)Y#&FM#,Q*9JO8D<'\RE/&I)IYS\]/:+T @IW, 7^@ ^ M#;7H$1Y0PJWH>Q+ML642X?TWMN]0?5@'FD(:QZ ^P^\R%IF9EIRW]'5 : SH_"*JP\\($F/\WVQ]02P,$% @ ^%M25)T^]M]% M P /P< !D !X;"]W;W)K&ULC55-;]LX$+WK M5PR$/22 &GW[([ -Q$YW&Z#I!DFZ>RAZH*6Q1(0B59*JT_WU2U*RZB"-T8M$ MSKQY?#,DAXN]D$^J1M3PW#"NEGZM=7L9AJJHL2'J0K3(C625!=TQ#Y8XU,[)=^[!\,][2JM36$ MJT5+*GQ _;F]DV86CBPE;9 K*CA(W"W]J_ARG5N\ _Q#<:^.QF SV0KQ9"1[J\#L!R1"0 M.-W]0D[E-=%DM9!B#]*B#9L=N%1=M!%'N=V4!RV-EYHXO?HD-$(.[V#=*>-2 M"C:BV5).;,T4G#V2+4-UO@BU6(XP1N!=>U@O>\Q/(E06A4 MCE*3@]1UX+LJOG548@GI-7SHM@J^W&*S M1?GU!'..SU15@5]\4[0Y2-=?E+J@[F+9<<0Q [NL1 5I_\9X3X]"$W8P MD7%CXSQ(T]@[+@3I"_%34&%.*>75,%2T1.D./TR#:)Z.,';$D0>3R<3[.$IY MDV(2Y-'T"&C:!4JK3)/G%XQQ,)G-7J5XC$CR?,B2ON\-7O^ M5DAG-J>R[611F^X(K:0%0CR9!-/HL"^C\R7;J Q^=47"HZ;6H*Q/RVW1%;4=#.&.Q,:74S-^99]N^XG6K2N16Z%-@W7#6OS MPJ&T ./?"7.?AXE=8'PS5_\#4$L#!!0 ( /A;4E1+)LL&PO=V]R:W-H965TC'UR L47J MO4@,)&W:=6B[HDE7#,,^,-+9UB*1+DG%R7[]CI2C.%UJY,-@P#H>><\=[YXC M>;S5YMJN$1W<=JVR)Y.US+ADWO%EV:U=EXQ7QQO MY HOT'W=?#8TFH\H==.ALHU68'!Y,CGEK\XROSXL^+W!K=V3P>_D2NMK/WA? MGTPB'Q"V6#F/(.ES@Z^Q;3T0A?%]ASD977K#??D>_6W8.^WE2EI\K=MO3>W6 M)Y-B C4N9=^Z+WK["^[VDWJ\2KJ>4J>7#[G],\##)=XZ.&MU=?W74YD\".R[])7= MR I/)M2&%LT-3A;31H%;Z]Y2]>Q+V,L-+_=*6WWO&X,UU+UIU,IG+MI?2Z-# M:SE0(Q#-%1'3&%35'3@CE6WET&#UW\17:E@BRK[1HT+!5]4X0KUPTJ?[!7 1 MLZ*(23IZ-.(I9R+/=GJ1IXRG)9SWALXC2)B(2YH8OER4+$M*F)8LRG)X28J$ M%>3K5[F1"K(XHJ7#__"]U$ZVL+K?JG=;L#P58Q#W(U%$K!0I22/V"TBBB&4\ M@@,D24>2I,\FR=O&9^;H QU2]1.M]SSJ''3W-'7^0&F&IO25PNZ*.G^LUH') M"+Z%(X^F3F_0T D.7RTN^Q8^-$N$'QCYSFAKX;2J^JXGOGBC3AO7_#-PYQ-= M/\]8\J.#.PJ/P+^@OWX\X?:4'Z6Y1N>5AD(+G#\J,-N25 M,5661[,(Q"R&3UH=5;K;(!V2]93R1S0\OZ7WD,5G]N/!6)YUE)];UW3_[8;[,*@1_4&5 M,9X+/X@A9656>)$*PO(R\F)*8C:(&8EID<$EW? HEXXJ3LG-2[$K&([^Y+X_ MW/D;"_54*>9[[Q"BTBJ\MBQ4NE=N>)*,VO%!=SJ\8QZ6#Z]!ZMY5HRRTN"33 M:);3R6:&%]8P<'H37C57VA%O@[BF1RD:OX#FEYKN\]W .QB?N8M_ 5!+ P04 M " #X6U)4CPI)4K " ##!0 &0 'AL+W=OK8Q79: M^/<[.R%T$U15Z_/YGN=>>G?3O38;6R(Z>*ZDLK.H=&X[B6.;EUAQ>ZZWJ.AE MI4W%'5W-.K9;@[P(H$K&+$F&<<6%BN;3H+LU\ZFNG10*;PW8NJJX>5F@U/M9 ME$:OBCNQ+IU7Q//IEJ_Q'MW/[:VA6]RQ%*)"98568' UBR[2R:+O[8/!H\"] M/9#!9[+4>N,OWXI9E/B 4&+N/ .G8X>7**4GHC">6LZH<^F!A_(K^W7(G7)9 M\ENY.[[]BF\_ \^5:VO +^\9V.(P@KZW350NF""JA MFI,_MW4X (R3#P"L!; 0=^,H1'G%'9]/C=Z#\=;$YH60:D!3<$+Y/^7>&7H5 MA'/S']HAC. ,KKDP\,AEC7"#W-8&J?3.PLD#7TJTI]/8D3L/BO.6>M%0LP^H M4P8W6KG2PA=58/$O04QQ=L&RUV 7["CC%>;GD*4]8 E+C_!E7?)9X,N.)&^A M2? (7;^CZP>Z_@=T;R7LP86U2-5K2UD -> =YK4Q0JUAP:VP\#LXA@=\=K"0 M.M_\>:_&1UWZD9W8+<]Q%M%,6C0[C'R9L%JBZ4H%_VL2.!$*7*EKRU5A3^$[ M[E!"VIZL/;,/]=="<94++MM$)W#);0E$!KD7\*D6.RY#!WV"X: WS$8DG+7? M$>LQ-N@4U";X0EUM-K2%JMK5Q+NJB8M]9O1\!H-!+QN-@W@3K$+EK"^H<(+^ MPU%OF#!(Q[TL;K#>*>RV4!8DK@B;GHT$$IED9S<7I;1C3I78T]$$L M:W%.^CV]OPO4$L#!!0 ( /A;4E1)1#>\RP, +H) 9 M >&PO=V]R:W-H965T4K7BWM>J^%($CSFCFS(5G M1,ZV0KZJ E'#6U76:NX46C?7GJ>R BNFKD2#-;U9"5DQ3:)<>ZJ1R'+K5)5> MX/L3KV*\=A8SJWN4BYEH=+I=C.G;%S4'SEZT(;A;>8-6R- M3ZA?FD=)DM>CY+S"6G%1@\35W+D97]].C+TU^,9QJX[68"I9"O%JA$_YW/%- M0EABI@T"H\<&[[ L#1"E\<<>T^E#&L?C]0']@ZV=:EDRA7>B_)7GNI@[B0,Y MKEA;ZJ]B^Q'W]<0&+Q.ELO]AV]E.*6+6*BVJO3/)%:^[)WO;]^'((?%/. 1[ MA\#FW06R6=XSS18S*;8@C36AF84MU7I3&EI@DNK?P+3:XZ5GP6 M2E%C/C NX1LK6X27JZY:9%1UZI&_HA>5Q$$=FG;A"G7:RJK7G&&U8>6X\I1)0:\ZE/ MYB1&TY30JPIEQLFV80UU8+3_NT,J>,4S9G99K"AX(Q37GJ9ORD$@4'>23&%* M]K1*(W@6FI"J]V'XOLB)ZX0SR_W<&C9,]A2:VN;[M+2FC=#+ H2AP_2B!8$R4I]^E402D M.,TCVBZ?:)>$<&%H:L0D^CN/B%YI:IG4K<[C4^R&:0RI875LV3],J#1THRBF M14@N5'40VJI)G8SC(49->D9-!AGUJ=Z@TJ;G"NY*IA250#NTW%'!M99T*+:4 MWL.!7O>FQ>=Q;##N&1S[@5[VHW5/5"&UJ!%VR"0("?1QMN08NW'B6P.VT@31 MV^A"BG9=P(I.=ZNAH8[<,/+_;99/3ZUW=)X2*=;VUJ @$VVMNZ.UU_87DYON M/'XW[VXU=*RNS724N")7_VI*HRF[FT(G:-'8TWDI-)WU=EG0Y0JE,:#W*T'' MU%XP ?KKVN(O4$L#!!0 ( /A;4E3OHA#'_0( <& 9 >&PO=V]R M:W-H965TB!EL86$4E422I.]^MW2#G:9-'X(@[)F3?OC3BS/"K]8&I$"T]M MTYE54%O;7T>1*6MLA;E2/79TLU>Z%9:V^A"97J.H?%#;1)RQ>=0*V07KI3_; MZO52#;:1'6XUF*%MA?ZYP48=5T$S% 3^C_;O?:MI%$THE M6^R,5!UHW*^"F_AZDSI_[_!%XM&\L,$IV2GUX#9_5JN .4+88&D=@J#E$6^Q M:1P0T?AQP@RFE"[PI?V,_KO73EIVPN"M:K[*RM:KH B@PKT8&OM)'?_ DY[, MX96J,?X+Q]$W7010#L:J]A1,#%K9C:MX.M7A14#!W@C@IP#N>8^)/,OWPHKU M4JLC:.=-:,[P4GTTD9.=^RF?K:9;27%V_9>R" OX#;::?K2V/T%T%7SX, M2F_AXE[L&C27R\A2-A<3E2?DS8C,WT"..=RISM8&/G055J\!(J(Y<>7/7#?\ M+.)[+*\@B4/@C,=G\)))>^+QDC/:#8P"S\"E$USJX=(WX)XK&,*V$52ZUX7\ MYO/ /3Y9V#2J?/C^JY*>S> :]-KTHL150!UH4#]BX*J"[0ZUJ\SL0G9@:S48 M2FXN?:'"DRZ>I.&",> \#A,6SVY5VP^6Z-1"5T>AT?L;M;=^4\1A M42P@7X24QD8DCI-.5\=E.60SLTPF)%K4HU*Z48AP%Q$JW25OXS'ES$Q"S+ M,K@D,V-AGLWA*GOQIXQ),LW_]+U!+ P04 " #X6U)4WR0R+6$" +!0 M&0 'AL+W=OH5 "B,O[VF&Q(&0(/Y5?TKY$[<=E(AU=&_:H*7R[8!8,"M[)5_M[LOV'/ MYRS@Y4:Y^(5]YWN6,LA;YTW=!U,%=:6[4S[W?3@(N/@H0/0!(M;=)8I57DLO MEW-K]F"#-Z$%(5*-T51?"6;BN*\\OOQB/P%#[#C7Y"[8U]@=%:;A2Z MDWGB*4/P2_(>;=6AB0_0N(!;HWWIX(LNL/@?(*'2AOK$:WTK<13Q&O-3R/@8 M1"KX$;QLX)M%O.P(7P<=P2-PDP%N$N$F'\ ]T)(4K4(PV[<&CN&JM99D^!T3 MP1J?/:R4R1__O-?3HRG"5LY<(W-<,%H[A_8)66@+UANTL36C2H,O3>ND+MQ) M[%3XI+ V7BJHAA_+L_'D? *DX(*;IF2"J<@C]%$#YE 1@0&NTN[B&#G+3:M_-ZF =-OVR M&_ W]^Z9N)5V5VD'"K<4FIZ>GS&PW>IUBC=-'/>-\;0\42SIM4(;'.A^:V@$ M>B4D&-Z_Y3]02P,$% @ ^%M25&H]X3ZM!P (!8 !D !X;"]W;W)K M&ULM5C]3]PZ%OU7K!%((&4RMA,[205(0/OV0]L6 MT;X^/:WVAS#Q,!&99#;Q0/GO]UPG$P(,T?2U*U F']?7Q]?G'E_[Y*&J[YJE M,99]7Q5ESLY-U M>FN^&/O[^JK&TZSWDN4K4S9Y5;+:+$XGY^+=A>#4P%E\R\U#,[AG-)2;JKJC MAW]DIQ-.B$QAYI9F*,@3DDGK#,+-)-8:^KA[^;;D"*_,VKHG%7]M#9\@F;;QI;K;K&0+#*R_8W M_=X%8I\&LFL@'>ZV(X?R?6K3LY.Z>F U6<,;W;BANM8 EYM<_F& MKMS"O9"C'M^;N<\"X3')I1CQ%_3##YR_8&3X M#6L'..(N[-V%SEWXAKLOR[0V70ROTD>PU[+SND[+6T/W'@+;6';SR*Z*M&3_ M=OVRK^:[91<%HO^?72$>[9&2]EVS3N?F=(*L;$Q];R9G?YJT;D/.$#"SNC&U M"]I17C*[K#9-6F;-L8LA73@N(FD)P*HU37K#8,(JNT3+ R8B3ZF ;@(OD!%N M$D\E@GU8K8OJT1C6N*;K33U?8NQL3:,3G@HEKD&H<14)9U\KFQ:M;1>C^9!G MYCO=&^HF\7BBZ";T=.0ZYEX4BS9\U0)R<&_*#9E* %'N-U3"_7*EV>>UJ>&T MO-TZ;=ZQCVE]9]P[&EJ38L99X$6!QE50(#P=2':-&*88AC/*T$U1K=TT2B\. M NHFY!A.C,[^9DKT4CC+-$-NYHVE7N\-PI,$@FE/:\%"3R(./S_V$7JJGIYJ MG)[0]&P#RB&$.ZGZD-:9UQ'A'?\V(^\HWA^C+POV'J= M-W?310WRY:4U:&T9@F\8]V,.-1.^D(=X4.U#&!TRZ0<*#])7\2'[@(#/+?HH M\H5A1X_H%!FA?:D&E][HOBH0@2*WCRQ4OHSA!K\J.&2A]$/J(@S\N'U4DAZE M'X6#7K+\/L\,B/*8FR)C_+#[_\.M&C!([\&E6\-N(1:6932219K7[![!!RV$ MC'T1L@/T"I(>A)$?AV.,T#TC],\)5LL"CYW3ZDGCWV_>1WO=/>_;4$S9>1>+ M9SQ$+$T]SY$C5W4^-_UK5!J-10JZQ+;LGVFY077!'&% $ZF0UT(CC73H1TA: MBB\&JY#Z/$9N*1^YM?6=L2.A/1XE[)B%L:\C=IF6Y+G!"MW@#P M@K,$(=*>U)I%(&#< ]# V(_B(0"IH*X1O@B>^'"X)P*D M;8"% XS%PA&1SZXWQZ2=#810F!^.!K'P SY&]:BG>O1KJ/Z":-=DL2?M1Q'L MIOTVAI^?8@C)A9R1*$ P>@FQE7O],A\_TZ1+%6HTZ>8.EZE^DBZ]L7\3FZ.!XV\40SC[-#D $38,Z""#/ 99)+4,( M-C0Z@&S'W8OVWMF$SEIK/XZ8XIY0"0OH(_($!6RHO"36+FED:Q4[^P1*SEF( M:@1?(9N2TA<++%(BXBP2OHY;(^',1@BO!(UH! M1A@9]XR,?XZ1*$8L D:1;+60"/'JY>]E;G]8H$>1[2O03DK8>UJL!JA^HW7K MFUNW6H"NK&C8%5CBACPT;BO''<(=2,BMI)(N2OQ8];)%RA!"R 77Q)6M*Y<2 M1;IV"I9054@Z%46TC&/[MC"Y=1**TDV2A,8146<7D-<"'J 42U"*D>X/@/#8 M$Y!N(00Q>2<0P867A*2E,58?/D0"GUP0DB3TP?,]D(![ 8]022]U)B18Q0.J"X)!'F"S@RV7$*B7WD@#D!8*?=PUW &4\#\#)Y$L MN^Q'8H?$=$N M3\C^0?BH"Z9NL_=JE[=RAU&TS4-I^739M&PO=V]R:W-H965T M[9RMA7Q42T0-ST5>JDEOJ?7J M=#A4Z1(+I@9BA27]DPE9,$U+N1BJE40VMTI%/O1=-QX6C)>]Z9E]=RNG9Z+2 M.2_Q5H*JBH+)EPO,Q7K2\WJ;%W=\L=3FQ7!ZMF(+O$?]U^I6TFK8HLQY@:7B MH@2)V:1W[IU>)$;>"GSEN%9;BOP;G^OEI#?JP1PS5N7Z3JQ_Q\:>R."E M(E=VA'4M&_L]2"NE1=$H$X."E_63/3=^V%(8N>\H^(V";WG7&UF65TRSZ9D4 M:Y!&FM#,Q)IJM8D<+TU0[K6D?SGIZ>D?0B-X(?3A&LDX!<"[OM>! M%[3&!A8OZ#!606U@!US8PH46+GP'[EPIU I8.8=KSF8\YYJC,!G#1>Y2!__/>33SBU,29ZJ%4MQTJ.:4RB?L&?<@L4,I77-,2]!+T6EB(8Z ML9XR@PM_KE RS./ M1_4S\>%:E(N^1EET:OF.'T:0.-$HA@>A6?Z#/8A7&-#3[B1:\=MWN_+>TX0>32.O7'#N@N;Y%S/L@D3#SIR*FIS M*NK,J7OJNO.*TD9D=47"IV=JP.JCZ=2)?CB='M:8/^%.[<*OI5@JE+9)$HR- M4T+'H^=N'(W(*9P70FK^G=G&3)9*TSO[(NM7VZ$.;: ]2HHO)44-"9S$:QPQ MR_G"ZAO)L0D!?&626Q]ML4DHC./1)I0[-$,G]A*;=X$?P:][X9*I):P8GP.= MD< *495$GY=I7AD0JX90T-:5Q,+66O8VF4ZWO)D:Q(S.2P69%&^J3-5%$B:) MM2+TXP[=G>Q]]54=E0\IF,JA#:.P2<@F/F*FZW]1=WUE_=NYV&V*:MOSAPPW0E:?;! M.NS^Q1K9R8!XVWQF J@B>65WBP%+;/ MM?.^*:M'%-?K*O M/M Y4!_>5UREIFCACIG[P<<"W+W=?D":5O'-7A(IP\^?*+B4W7=H+LYMD"TI M;@C]^H6A34@0##\)!^&&@O6+>P'B#"'SZO8'9<<4A(MX@AB/2->,/M?=V M=XGX$8T1'!V*Z'#K%EN@7-B[N@*+6%]HV[?MY\!Y?0M^%:^_)6Z87' Z&7+, M2-4=)'0LROI^7B^T6-D[\4QHNF';Z9(^:5 : ?H_$W15;!9F@_8C:?H_4$L# M!!0 ( /A;4E3'7U=8"0, $X' 9 >&PO=V]R:W-H965T&80?%9F*M M>F22W'3[]:,DUTVQ-)==!@,V)9,?R4\D-=EH&;"U ME,S\FJ/0FVF2)0\;UWQ5.;^1SB9KML(;=)_65X96:8M2D- MM^4']#:_&%EZZ:)N,$2ERR6KAKO7F+33[''J_0PH8W;*+NR7$" M16V=EHTQ12"YBE]VW_"P93#N/V.0-P9YB#LZ"E&^8H[-)D9OP'AM0O-"2#58 M4W!<^4.Y<8;^/QF_! M"WS$>P=SH8O;[[L(W8__%9F)7 (Q@7)!1T=L=+I<@:MT;9DJR94GQ[_Z],I. M.W,FF"H0F(,%KKA27*U +V&-ANL27D!WT!N2\H$71[U^-H[BN#<\S>&@0SU! M%:^H1HU!5?P"9YBR5#ZAU\H?5+K4N\YV8BT53TCHBI ]CUPLD(8+4HL7@EG+ ME[P(*!:ZV:"7C[SC0>_X= Q9;S@:=LZDK@EX2Y\R7QHMJ<4?2UCO<-OX:[P? M^J=S28,OYN .F]QWF3Z->'=@'JI6-!H%_TT1K&@DVFA(C0)$"U=WV-!",E@D MQ]QQ_$>2LE,(V?P?S+31;%48JO)I;64GO7$VBA7U=YWM:KIT:\9)-*LPR2W% M0AG'<=?NMI?%69R1C^KQIGG/S,H?C< EF?:/1C2;39S><>'T.DS,A78T?X-8 MT86'QBO0_Z6F"=$LO(/V"IW] 5!+ P04 " #X6U)4\<^Z_P<& #W#@ M&0 'AL+W=OS62-%YILVP M2).D7&Q$KV879W[OH[DXTSLW]$I^-,SN-AMAOES)0=^?S_CL<>.Z7ZT=;2PN MSK9B)6^D^WG[T>!M,4GI^HU4MM>*&;D\GUWRTZN:Z#W!+[V\MWMK1I[<:OV9 M7MYUY[.$#)*#;!U)$'C=_AR*ZQ\K8=? M^\ZMSV?UC'5R*7:#N];W/\C1GX+DM7JP_I_=!]H*Q.W..KT9F6'!IE?A*1Y& M'/88ZN0%AG1D2+W=09&W\HUPXN+,Z'MFB!K2:.%=]=PPKE<4E!MG\+4'G[OX M43O)>,E>L7>JU1O)/HD':5GT2=P.TIZ<+1R4$.FB'05>!8'I"P)YRCYHY=:6 MO56=[+X6L(!UDXGIHXE7Z4&);V0[9QF/69JD_("\;'(Y\_*R RY;%AP\("Z? MQ.5>7/Z"N!O42;<;)-/+1PQO):I%[B$:LS=86=>W3*B.(9^0+8K][HU@G^2# M8U>#;C__\1S>!]53T9[:K6CE^0Q5::6YD[.+WZ0P 7\&].3F5AJ/8-0KYM9Z M9V&%/?& TE^"/]X\V?@-R],XSQLLBCHN"HY%E<=USB?3HS1.RX*=L#S.FIR5 M<5:D[)-V8B#N).9UCD69QDU>8%'SF#<9.P!W,<%=' WW:[W9:B65LWO@ V[V M]@%-RTH674DEE[T[.1+J@ZK_3ZA?[XR!W:?L.]E)XT$K '2*9QKSM";LXJ;A M[,8)%&A3%0P(9B6^UG7Z%(4R1PAXG"(R/"[R'#8L)41WD^ HJRK00%J20P=/ M'V5&-2?F*,\X'FG9/$F%JMIO\@1D28/E+V+8"=]'+P+4<)MX^9 MF\[Y]+M9"_05FD(=@\N4Y,'%*)UG%$P>'LF\^"IF8HJ96&%06T>#*^0)Z1;6 M2M10/6^@!=&7"(.YV8:!&%6A/,#E> 7 +?-JU[VZ= MO,.LWVX\+\A[AR3SI%$VIUR$L34>C^GFT>EZ1)-*HJ><3>=I<*,.#W**HCM6 MG25'22!9RH'+1Z/O>G]. M5!%%2&1>^1#Q!M]]P$KV[8$4KJ84KHY.X:E:R;G+$ 6"\'TO;I&^KH>KQV7O M89W'=:8W_\Z)4W;9MF:'/1E:JO4=JN \=*JB8.^EH&T>UUG"LKAH:O:K,$:H MT1<<8=K/3&\I9RS&15IQD&5%B;)U0JUZ\F[,P%<04V).O%-W2 5MR/\T0>^K MTO_,,>J;)?&7G/WDUG!V%(IN!G-YVK ?J<2V/I/5B@W:XF,>)WF)EE7F%5S! MSMTS51/Q#-V8^F#4H W74XX\5T9H>SR!P@2N9E^#.CS%]11?,$7:L4=%B$S= M^"S-TKBL*!N_U[J[[X>!E-:5KX@JK@O2_F_HHC"(*;W'B$0A)"311^59F_J7Z MO\8R&4>Z9=<:T*")W O3'5DE!]4^/]]?Z/978@C]U*%3KWJE**-@+K*KUQV= M@3SX]"3L+SNDJ"\ G P]CEMMQQUPM>$XP+[0E,DQ]K,T_R^>+109SV%9A7&= MXXP 8PT%'SUP0%?MJ!VB=BO=B[C&RD6?DKE\44V2D7[B73[G2KNPR7F2?R<"7\( R@M6R0 M2["BB>-\9L(U*[PXO?57FUOM<%'RRS5NIM(0 ;XO-<[ZXPLIF.ZZ%W\#4$L# M!!0 ( /A;4E0H3(&YB 0 #<- 9 >&PO=V]R:W-H965TA'Q* C47JC0IL \[+M@Y+&R3IAF'H!UJB;2&2 MZ%%TG.[7[TC)BMLX6H;FBW24Q.=>GN/=:;Q5^KY926G@L2KK9N*MC%F?CD9- MMI*5:$[46M;X9J%T)0PN]7+4K+44N=M4E2/F^_&H$D7M3CM7&E$4M MKS4TFZH2^NN9+-5VXE%O]^"F6*Z,?3":CM=B*6^E^;R^UK@:]2AY4GE'?;G!?_%[(;;,G@W5EKM2]77S()YYO+9*ES(R%$'A[D.>R+"T2 MVO%W!^KU.NW&?7F'_I-S'IV9BT:>J_*/(C>KB<<]R.5";$ISH[:_R,ZAR.)E MJFS<%;;=M[X'V:8QJNHVHP554;=W\=@%XC4;6+>!.;M;1<[*"V'$=*S5%K3] M&M&LX%QUN]&XHK:LW!J-;PO<9Z8?E9% .;R'6[G$:!NXD6NE35$OX>A.S$O9 M'(]'!C79[T=9AWK6HK(74"F#*U6;50.7=2[S;P%&:&)O)]O9><8&$2]D=@(! M)IEEJL5T4&,SPV\)?3"7?RTRHJ,&LU*81==X!"CD* 0Q3! 9M23&0V2^9NJE^]++!8YS)I&FD,\-J\D_EQ3"O M>SX(Y\-S2AGRE#A.G<1:R21%B40$(BO&(B,-8Q M5GZOV*)RRU;L)$;BV$EQ0!*L$P-\Q3U?\2!?EX_8H_+";#"$@(T*9CFN7*(8 M!?_%YHU#)(^(7$\&:%:/LZ%I1995O6/^V#'Z!W4.U;TCOHP7,R$3!VU8[A00TM MF0P9BY,G,BD>9#R>+ 1+9;RC$N4(KYS%> TBVM&9?Z]>[ ?05=>0V^0)F*OQ M*/B$8S8,D,=[\O@@>5V7P?FBFSBPE%ZYN'T90$][]/0M^CKUG^8C?]#<&_D@ MZTW7@BX?C=38S.#<3692_TAK&%;\EMG6^7 @KWA(PL@1'=IFX*38QY,;[5(K MQ=*=II!@6J4Q8/GF^&Y7* @+J;WQE-JNG^ @V2:8[J*&J<1Q[,L!GCI)O8&,K6I33O6]D_[OX)9.PL_?=[^4EP)O2RP0I5R M@5O]DP2;L6ZG]'9AU-I-QG-ED$TGKO#/1FK[ ;Y?*,RF;F$5]/]*TW\!4$L# M!!0 ( /A;4E1;]F'X]P0 ,H7 9 >&PO=V]R:W-H965TY@#5) MS-@.M*/]\6LG-&9H<.@N._M2XL3WZ]@^Q[V]%1=?Y1Q H>P1W^]X"65IH]_+WXU%O\+F"F*\N&KCQ^N*>S>;*O/#ZO06=P034XV(L],@KO40L@50RGB(! MTXO&)3X?!BUCD,_XPF E-YZ1*>6)\Z]F= MQ[>UTT89TQAN/K]ZO\F+U\4\40D#'O_&(C6_:)PU4 13FL7JGJ]^A75!;>,O MY+',_Z+5>J[?0&$F%4_6QCJ#A*7%+WU> [%A@#L[#,C:@&P;M'88!&N#8%^# MUMH@A]HK2LEQ&%)%^SW!5TB8V=J;>N\[DJ\B$[\L$$W?%4S26Z3B.(?G3@ MZ>+*"LEKA5?$Z7$(X0D*0^VOM\#>@ M"Z9HS+Y#A 8\660*!)KPJ5I1 4WT"533(&?6ZXK&- VA:@V*&.T\AF&&9;_5 M;?FZO&5%:JTRM98SM5\XCU8LCIOH-EE0)C0[*#3BLG(7%*XZ&QGLB-XNH[>= MT2^C)0C%I*G\^EG3HJRLO/TF+L:=CU9PXI9@;\+Q4Y91\=9 MQSU(H"*<(WU^T!"6FID7.9+KHIKH@>L-4%5;Y^VJMD@+;]7V=E;0T8N_55O% M+-+IDNK:3LO:3IVU764LSK?F'W>0/('XTW$@SDJ?9TZ?8Z$U4*B7)AK'AK , M;-??,I:#UD2/$J99C$9L"NCH=XWL<15R[A!!%[UH2^G(MEMFVW6ZNF,I2[)D M'P"P;RG<_^\AJ(D1U$* -R0'.WW=:! 4?!QIP8_0;:IH.F-/,:!+*6'_?-TQ M2'V^Q.9+WK5HZ"_T>:KU$=!D04-](N]HFDWU#2839G/?T)#%3&FE;.9+,=!K MHR]@.5W3] 5]@3D+8ZVC/ZS37EO"J@1VR\0(-)8ZL\]Z8]!DMX'D25T[&;TPT#D MCE$/$;%B0=Q$7@'12.?<1*_B7/"2OL()O@13A-P',&+9G[B9^2" U<3 ?CUB MEOY)#?W3YWTUFUB")F[V/ P*[AA[W%N(Y6CBYNB#B'9-#%ROVL12/7'3\/:R M_6^J32S;$S?;'T*U:T*1,0,SR9K%$>7NRZ :6;\N&]&7> MAMUZ?X7/AT5;V;HINMQW5,Q8*E$,4^W2/SG5"B.*QG$Q4'R1MU*?N%(\R1_G M0",09H+^/N5&PO=V]R:W-H965T$X)8'@]->;P-D)!'= H_LKQCN\=@WHJ;Y3^K >/ MZ=2PZHIP@1-1IXCEUSN^QT519Y)U_-LE-?I[UH'[QQ_9OS:3EY-YBSF^I\7W M/!79U @,D.)U7!7BF>[^P-V$W#I?0@O>?()=I[4,D%1J#!F83 M+:>?D_JYKP235W,9)V9/5&!@@]_!,W['I,+R*,IYO-DPO(F;)T/7_;6K"(LX M+_BU5+VN(G#UY1I\ 3D!+QFM>$Q2/C&%+*I.;29= 7=M >A( 1"!!24BX^"! MI#C]G,"4L^FGA#ZF=(=&,T8XN0$V_ T@"T%-0?>GAUN:\.CDT9MH-L$UE;Q/G."P J#B?F^3TXCLQT[=#_+ M(HW,#7RDLGTJW^W+=T?+?R3_=&:QH$6:DPVX6C(J?R!R= U^+'#YAMG?(YR\ M_D;>I+ M.,ERTN#^FC,NDDJ<1#OL[Q%>2AM:RLVL DY!"I>Z"+H2N'@O;9T.T#2#[RT0'S M0YF'7&NXR'4R:+OH"''EBW#<&%?-#FLA7V[%29B58T'W8LS*E:!W-F;O\.=O MV>'02S0R& 1V,,2LR08MRSJ"67DA'#?#/T6&F5S;-*T2P4\BK8P*!A>35HX$ MP[-)AQK2+AJ"/E39CN\-.>M4P9&W)%(>B,8]\/7I\>4A JN7^G[ M;_/E_&D,A7(=Y%_,5=D,&M\0C7$-#G:]T$;.\%6GE04A''+5R%P?#LW!W.O\ M2LPV30?-04(K(MJ.J3_;=^GSIC<=G+^3W7O;:ZLT;>N_B-DF)QP4>"U36C>^ MK(FUW70[$'3;])=O5,C->'.8X3C%K!;(ZVLJ>\QN4-^@_T]C]C]02P,$% M @ ^%M25 =^KWXU @ : 0 !D !X;"]W;W)K&UL?51=;]LP#/PKA+&'#N@JVTFWH7 ,).F&]:%=T*S;LV+3L5!]>!+=I/]^ MDNQZ&;#VQ18E\NY(GUPQR(E69ZF'YGB0B=E$?' G:PB=[(QY M#,%-O4C2( @E5A00N'\]X1JE#$!>QN\1,YDH0^'I^@7]:^S=][+C#M=&_A(U MM8OD6<(80X? MX,X;X$971B%LT,+:*.6'MFVY13B[1N)".OB!1^JY?%\P\MP!@54CSVK@R5_A MR7*X-9I:!U]TC?6_ ,R+GI3G+\I7^9N(UUA=P"P[ASS-LW? P 6M[@WDV323 M642>OX*\U"1J(?O@%]ABU5M! KWR8R5[+QX::U284-<3C]XRS<3H^S_3G10>1E5ALOU5&;9+)W/"O9T MVAT[^?H*[3YZW$$5V 8C3+O3-5H.[OF;/MS!6V[W0CN0V/C2].*3)[>#KX> M3!>]M#/DG1F7K?\5H T)_KPQWD]C$ BFGTOY!U!+ P04 " #X6U)4TA)< M3$H# #"@ &0 'AL+W=O\IA7,++DHB8*N6-FR%I1D M1E06MNW7G)6$DKR7B%!%U.K1OW.HFUO3'XR>A&[K21)GGE_$UW M[K*IY>B :$%3I3T0^'NG"UH4VA&$\;OU:76?U,+=]M;[-\,.+*]$T@4O?K%, MY5,KME!&EV1=J">^^4Y;GD#[2WDAS2_:M+:.A=*U5+QLQ1!!R:KFGWRT>=@1 MN.$!@=<*O+[ /R# K0"?*O!;@6\RTZ"8/"1$D=E$\ T2VAJ\Z89)IE$#/JMT MV9^5@%D&.C5[X(HB'UVA!UAB=U7*2XH>J4 +7I90EN><" JST*W7BIA2\26: M$\E21*H,):Q8*YKUY8WN/*&*L$)>@(>7YP2=GUV@,V0CJ6V C(=GYVV%/.&PCM X7KHGEGRXFWS,O>. M>DQH.D+8O42>X[D# 2U.ESL#\N1DN3L^0H.[*F/CSS]49:@.,]49RFVC#8Q6 M'Q/O,XQQY$WL]UW@?:O B%;A1Z/9+%@&$8X!1Q>WK\G]*&0Z4-L#,>]Y@'#,-X'.*@ MOYJ'/#K^V/?P,'?4<4(.)CZIB*?CQ*?@#!G%?9Y](^#I[SM[YWHLJ5B99X9$*5]7JKD1 MNM'N)7-C+O#>^!Q>.,V#Y*^;YGET3\2*P>8LZ!)<.J,(]HMHGAQ-1_':7,*O M7,&5;IHYO-*HT 8PO^1P$;<=_8'NW3?[ U!+ P04 " #X6U)4A^,R'(0$ M -$P &0 'AL+W=ODKAC.Q2D_?%[G:1)2SZF H87 M:L?W7-]S[XV/R6 CY+U:,:;18Q3&ZKRSTGK]T;)4L&(156=BS6)860@940U3 MN;346C(Z3T%1:!';]JV(\K@S'*3/IG(X$(D.>6,/!FB[9+=/?UU,),ZOP,N<1BQ47,9)L<=ZYP!\O20I(+7YPME$[ M8V2HS(2X-Y.K^7G'-A&QD 7:N*#P\\#&+ R-)XCC9^ZT4^QI@+OCK??+E#R0 MF5'%QB+\B\_UZKS3ZZ Y6] DU#=B\X7EA#SC+Q"A2O^B36YK=U"0*"VB' P1 M1#S.?NECGH@= '8; "0'D$,!3@YP#@6X.< ]%.#E .]0@)\#_#3W6;+23$^H MIL.!%!LDC35X,X.T7"D:$LQCTUFW6L(J!YP>?A.:(0^=HE&B8$DI-!;1C,?4 MU%VAHPG3E(<*W;%'G=#P&"R_WT[0T8=C] 'Q&-VM1*)H/%<#2T,XQJD5Y%N/ MLJU)P]9?:7R&"#E!Q":X!CYNAT]8<(8NN%=("700_$RY945&F3M W.*/$ HVI6FW7YR?H3F@: MUJ4NV\Q+-S-GT\,0DZZ+G8'UL)NBJIF];W'99K%'U"F(.JU$Z]KT!":QYO$2 M,F"&BL^9S%?^X'3&0ZZ?FMF.G5_1F&06_J]IN 4-MY7&M@;(F: OR4RAOZ]9 M-&/RGY9>\ K?WLM25.8%W4D:JP63K6TP\BJ)(7T7V\^SXU6R8\P(J4^17]#P MW[&E1WYM2U>X^!4NSSI_CTNWX-(]K"1IH(IG)?D$8_V$KF+-)%,:72F50$L( MF8[H+&3 ,C%M88C>KBA8H2,X=%4Z/*ZCV:W$W_.=?M^KC[]7Q-][VY9Z1DUM MN8%2%.3JPN]5J^3[W4J5>M4J&;-^/,G2)CU!-V9LZO1G MH@,1F0[]0<,$2O@%+C=U7/L5$A[IV0T'"[9+0;=?]=Y\ED+5J?4D][N75ISA^8_9*'<7M0EH?ZU2*!VXNTS2$GL[N\^G"50SO M,CR\" *1I'S@$91_'3(-I;^8_PM7.%,.8ZJA13@T?GWV227[ITZ_D5"IE[A= M,#\+,=_P, 02B0Q6< G?#;8,L#ZHJO!Y7F-,I?CA=O7[?4EN:JI:PM!_63P'W,IPJ:&X741?>C"/<545";R%3?1+NM=* M7T01:-RM%L'][O-K^LBC)#HD,Z24+-(N6>]W/2(U&N4N-> M?7<@5?DCW>KEP=KY,& ^%%U3N>3P;WW(%H"SS[K@0&;?7K*)%NOT6\%,:"VB M=+AB%,(V!K"^$$)O)^;S0_$%;/@_4$L#!!0 ( /A;4E1[K!8;= 0 "<1 M 9 >&PO=V]R:W-H965TFU8G1> M@#+A$=^/O8SRO#<:%L^F:C24&R-XSJ8*Z4V64?5RPX3<7O5P;__@GB]7QC[P M1L,U7;('9KZMIPIV7J5ESC.6:RYSI-CBJG>-+V])9 &%Q-^<;?7!&ME09E+^ ML)N[^57/MQXQP5)C55#X]\3&3 BK"?SX62KM538M\'"]U_Y'$3P$,Z.:C:7X MSN=F==7K]]"<+>A&F'NY_<3*@ H'4RET\1=M2UF_A]*--C(KP>!!QO/=?_I< M)N( @,,. "D!Y%1 4 *"4P%A"0A/!40EH C=V\5>)&Y"#1T-E=PB9:5!FUT4 MV2_0D"^>VT)Y, K>3YBA7.@/H.7;PP2]?_[-PE'>[^2?,+1,@9(C[!+?"Q&SYAZ04* M<"=\,"J3EGZ=1"&R$(1%/ARELBF'23R)R+';[IMB1_V'E M?^A,R6=.9UQ (3+(BP;VA1LWQ^0J,/H ?UCI]&_@+X5$C)?GANF,D?4I:*C MTL;!H,.!FL,P<3KP* T5I=FJ@%KMDV;:<10$N,.#FO)P\#LY ]=U=$76LK=:;]!7%<=QAO68>[*:>SU5Y M_5(JXH8S<>1W-#BNJ0HG)SH#\R13EA$-?7XS,TFS^N-^O\.9FN2PF^5>M]]; M7K1P7M3% 37G83?I[5I0--N@U84F^Q%,_ X>(#7[$3?[V4_L"2Q 6HAP$&+2 M,3>0F@B)FPBG] 7N/V#=2%1^*JN9F.DS]%%)W7HFI(47@Z ?=A0J.9CNW,PX MM@.',Q=-1CR/PR#L,%P3(G$/@2=/.S>D;8I+8"P\'F;&I9QC+#IVM:98XJ;8 MMEO+&6P._$:/BN9ZU^EGZ!;2:5X0?.>98AJ.^PY*'2@ KB/%DL*GOS72)B_C M.$Z:D7;(=?5'S>#$S>"[)EWO[U]O'TUS@+2-TG2X7:[14-[!'=/^A/"%JB6' M&Z)@"P#Z%PEH4+M;^6YCY+JX=LZD@4MLL5PQ"BY; 7B_D'#U+#?V)EO]-C+Z M#U!+ P04 " #X6U)4V?%1W90# ",# &0 'AL+W=O.?Q091PF,2IV)H;*3< MOC9-$6XP(:++MIBJ.RO&$R+5D*]-L>5(HAR4Q*9C68&9$)H:HT$^=\M' Y;) MF*9XRT%D24+XUTN,V6YHV,;3Q!U=;Z2>,$>#+5GC'.7]]I:KD5FQ1#3!5%"6 M L?5T!C;KZ]L3P/RB(\4=V+O&G0J2\8^Z\%U-#0LK0AC#*6F(.KO 2<8QYI) MZ?A2DAK5,S5P__J)_2I/7B6S) (G+/Y$([D9&CT#(ER1+)9W;/<.RX1\S1>R M6.2_L"MC+0/"3$B6E&"E(*%I\4\>2R/V (Y] N"4 *>&WAO].R-8E/%(P:F5$+UX\RP%'59B').B/J=I%UPG XX MEF/?SZ=P]NK\",OD!UAF]W=P5HH[QC5MYIIBV 77_IZB67L6ZS3+56L6NW^4 MQ51%4%6"4U6"D]-Z)VB?"J #X_!+1CE&,,TX3==PBYRRZ)AI!:.?,^H>]C!R M>E;?\0?FP[XK]3"KBOB/5K?2ZC9J'2>,2_H/R9L36]4KM0,+)DE\3'/!'.R) M"50;/E!<#W*MPZ KMY:6ZULG,O.JS+S&S(J5-V&)VB%/V\P62+_JZ'>@XHQ>/%Z#VJ) MVTX_\/H'_M3#3F1_46F]:-1Z_^%Z,9O"?#%>S.8-N?BI#QL>Z>6OKVW%]L_ERI\ M@_8+P'[N^/;_:_GJL>66>73W+Z%8N#%T;<82+;-CVI+ M)M7!+[_&PO=V]R:W-H965TA*\ MD-B9&7_?Q.,OPV#-Q4\9 2CT.TV8'%J14JN/MBV#"%(JK_@*F'ZRX"*E2@_% MTI8K 33,G=+$)H[CV2F-F34:Y',/8C3@F4IB!@\"R2Q-J7BYAH2OAQ:V7B>^ MQ,M(F0E[-%C1)A![9590P3H')F#,D8#&TQOCCA.0.N<77&-9RXQX9 M*G/.?YK!;3BT'(,($@B4"4'UY1DFD"0FDL;QJPQJ56L:Q\W[U^B?'KOZ$DY)IX 4]D_HO6I:UCH2"3BJ>ELT:0QJRX MTM]E(C8A>\"A4SIT(YY) MO80(. 3O 30YW=UI@=.IWD4GC]<]$.\U>^_UQDPH"P!1:;*J7P::PS)FS&2[ MG%B!B'FX+XO%(FZ^B*GB9YTYO^>2@?V\R>VHV1:';L6A>Q('79^_LEA B,), M&-CMF(N@W@88XCM]XNY@;IHY^^&Z%5SWQ)3K$U&7/-,U)P2PX 4I09E,:''8 MA#]T*>K32^T#[S90?>@[7F\_,J]"YOWOS0"Z1(]N Z^!JJN/=NSLI+1IUK8- M>A7Z7BOZI_O;QYLIFCV.'V]F+:7A5_'\2Y2&OX=LQ_<[.SDY:K;%H5]QZ)^C M-/I-,"XF/6\'<]/L0&E@IY8&Y_S%4:YQ"K -S<+GK8TR_M9YTW.QV]])ZAZ[ MMIV 2N3F\ M'VH9P>TZ\GG\,+YOJXY:0/!%% 0WM<'K[&KJ$:-M!K5\X+/H!VY3AA+OR>)! M:O$@%Q /&ULM9I;;]LV%,>_"F'TH0&: M6KQ)=N$82).M*[!D0=.L&(8]*#9M"Y5$CZ+C=-B''W6Q:(LB)2?>2V+)YQS] M>='O'!UKLN7B>[9B3(+G)$ZSB\%*RO6'X3";K5@29N_YFJ7JFP4722C5H5@. ML[5@X;QP2N(A\CQ_F(11.IA.BG-W8CKA&QE'*;L3(-LD22A^?&0QWUX,X&!W MXDNT7,G\Q' Z68=+=L_DP_I.J*-A'64>)2S-(IX"P187@TOXX8J.( M;;.]SR ?RB/GW_.#S_.+@9/O*NB@OF;NN/]Y M%_WG8O!J,(]AQJYX_"V:R]7%8#0 <[8(-['\PK>_L&I -(\WXW%6_ 7;RM8; M@-DFDSRIG)6")$K+_^%S-1%[#LBW.*#* 34<(+$XX,H!%P,ME17#N@YE.)T( MO@4BMU;1\@_%W!3>:C11FB_CO13JVTCYR>DMEPSXX!Q\XGR^C>(8A.D<_"97 M3(#/J0S39?08,W"994QFRLP\5]I^786ICO'VFLDPBK,SY?%P?PW>OCD#;T"4 M*C.^R=05LLE0*O6YAN&L4OJQ5(HL2B$"-SR5JPS\E,[9_## 4 V['CO:C?TC M3@>BEP$8]8XGT2/&N=E]*-%F[Y;?DTI03C M8#)\VA=K6B%"QN/:ZD 3J341IZ;+V6R3;.)0LCFX3+B0T3]A?ONUR2PC^7L" MSJ&/\;BAL\W,@\0BE-9"J5/H+9-MFJAQ,1R,QZ.&)-,*$DR]=D5^K<@_V=3Y MQMJUS9QORK1/7%#+#)PR;Z(T2C8)^/.&)8],_.78R*,ZY,@9\B%CBTT,?HT6 M#+S]@X7BK&W,[A@(_%".F4/-N%8S=@\P?.X[0.AI:GHG&&)'$-@]2+C'<=@Q M3/&=R2A=GG]AY:8S4=UG"I"^('H9KBJ__=T\QEYC+U=&OL7H4),F*'0C])A[ MK@IU *( XJ;.%BL?V81JK$(W5RVXJKP.( Z;H(2F_JMORH[XNYM2D:2Z*Q'INBN1S@_H M=/D!F05UR[*;Z<&^ZCH[H([LX+PKP;_@B*(-Z0R 3I$!.H)TES1()P#D!G3W M-/0O[9 F-W*3N^LV )C9Z M(;$KOX/G%(R0 1Z3V8=FAX_'FMKX=-3&+3RFZFFI^=#<"G="+5(UM_&+N(U- M;H\0I$U1)KC'=$0LFC2ZL1NM_39V1Y >%1[>:WBX(<+<*?$Y@W?/I3 FL[836=[N\KL4R _ M0,8N-\TL=1W6[,:GJ[JQ65 CY#?KSQ8KFTH-=-Q1=%O@,&KKX!DE1V761Y$F M/G83OR<:W$%ZM#.(9CUQL_[5:.B(#^&NT"S9H!C14642#7_BAO]135,S(YRW M;$-BI@3+HA.=#X@;Y5]%.&?@-DQ8KR<^HK%.7MC()F:UC*G1'S:-;$/=ZV*? ML(UMTA@:R&XQLHG4O"8O:F%77H=8:,*4F"ULFQX->.(&?#\H= 3!W4S0="=N MNK^>">[XZ&@D:.03-_*/VH!F'CAOV8&]TP#1:8"X"7Y5_-ZHGC2*%K*2EZVB M=2\X4 UVZ@:O%0[4+,4A0K1)PC8SS[.UA*B&-CT=M*E)X_-@%#0S=9L9]8EO MD:K!3=W@MOW69?;="3:Z0M1LO!."+ \75#.?_L^E?$?\,EV#+=79@9XN M.U"SHF];^9:ZW[[P>[]QNC-$Q_UY7&.(ZD1 3Y$(.H)T)P*J$P%U@[K'//3O M#%$-<7J*WS4[@HSM\S#<>XU#C6Y9O-V2@1G?I+)\HZ,^6[]!A6$9I!F*V4*[>^T!M+%&^T5(>2+XN7@IYY%)-9?%QQ50]*'(#]?V"<[D[ MR"]0OU&ULC97;/I13L#]?F03N*9-BG0"Z#3 M UPK\<;65+:"I-2%IVN:RI]7P$4[".E94V VX^W= 2[D$_;FXE]MS!2\%J:!03#9&P MGCF7_L4\,_;6X!N#5NVTB*/Z>80Z<&T<8QH_> MIS,@C7"W_>K]@\T=RUQEJ%.YU^$!I*0]^2C$$7+.">T*P.B>A_XX$7N"/R.=O MEWM_RUU>=I^A =E=K MU]%B8V^GI=!XU]EFA:\12&. \VN!-U3?,1?>\+[EOP%02P,$% @ ^%M2 M5,9UX63R 0 J@, !D !X;"]W;W)K&UL=5/! M;MLP#/T5PNBA!;+(\=9T*!P#2X)B ]8A:-+NK-A,+%26/(E.VK\?);M!!BP7 MFZ3X'OE(*3]:]^IK1(*W1AL_2VJB]EX(7];82#^V+1H^V5G72&+7[85O'UPC/;.5->!P-TN^3>[G6*<53\LH1P!Y_@02H'+U)W M"(\H?>>01T\>KI=(4FD/&WRC3NH;N )E8%/;SDM3^5P0MQ'(1#F4G/!LKANM]*-)<',Z;%&>C#[?X M4;J],AXT[AB3CN\8[/J;T3MDV[B-K27>;31K?DSH0@*?[RQO9'#"@D_/L_@+ M4$L#!!0 ( /A;4E2V*WQT? , #@/ 9 >&PO=V]R:W-H965TP#30.@BVP601)VST4/=#R MV"9"B2Y)V2VP'[^DI$IV)*M>Q+G8I/1F].8-R0>.=U(]Z36B@1^IR/3$6QNS M>>_[.EECRO2EW&!FWRRE2IFQ4[7R]48A6Q1!J?!I$ S]E/',FXZ+9_=J.I:Y M$3S#>P4Z3U.F?EZCD+N)1[Q?#Q[X:FW< W\ZWK 5/J+YO+E7=N;7618\Q4QS MF8'"Y<3[0-[/:. ""L07CCN]-P97RES*)S?YN)AX@6.$ A/C4C#[M\49"N$R M61[?JZ1>_4T7N#_^E?VV*-X6,V<:9U+\PQ=F/?%&'BQPR7)A'N3N3ZP*BER^ M1 I=_,*NP@8>)+DV,JV"+8.49^4_^U$)L1= !D<":!5 3PT(JX"P*+1D5I1U MPPR;CI7<@7)HF\T-"FV*:%L-SUP;'XVR;[F-,]._I4&(X0^X95S!%R9RA#MD M.E=HFV7TX1NYA%N>L2SA3, 'K=$"*O0"7%/@ 9-<*9ZMX)IIKN'M#1K&A7YG M$WU^O(&W;][!&^ 9?%K+7+-LH<>^L74X-GY2<;XN.=,CG&\PN8207 -*.D( MGYT>'AR&^U:]6D):2TB+?(,C^>Z8>K)%S@6"=M5SP[&SJC)-5*1QVVL[I=&5 MH[#M^'I8?SWL_7K3G8L]\;_>83I']0W^A7W QVR3&WT!?^$6!9 :UJ/"H.8Q MZ.4Q8WH-MI^0N %^S_F6";>"NI0H4PWWE!A&PS"NE2C;.&CI%5-*HVZ]HIIG M=)YN12V.\3"@SRBV04?:.:SI#7OI?9*&B2XZPS:=, K),SYM%*&6=MA-*JY) MQ:^_QBSL3F;X$\H.P&UN-_\I*W!4LQR=;P6.6D+1J^?-;6.B*(Q'W5I>U2RO M7DM+>HI:)&A._N!\>E6YNE=Z=>KV00XY[KD3.<]NK?(38& ;I M=XP7:!F>I%;C#:3?'/Z?6FTO:*G5!SGDV%@%Z?>*TW=L_'M^?9!#?HU)D'Z7 M.+Y;V\=]BT\?Y)!/8P?DU?P@?/E.I8U;T#.Z194KZM&R%U)R]/>N->Y.:8M; M\4R#P*6-"2YC&ZS*:UHY,7)3W'3FTMA[4S%P[Y?2WG:JB;L\U9?E MZ7]02P,$% @ ^%M25'IISG[4 P IQ !D !X;"]W;W)K&ULK9C?CYLX$,?_%0OUH96Z"W;(KRJ)M)M<>Y7:4]1T>P]5 M'QR8!&L-IK9)VOOKSR849P6D4=F7Q ;/?&?,\(DGLZ.0CRH!T.A'RC,U]Q*M M\S>^KZ($4JIN10Z9N;,3,J7:3.7>5[D$&I=&*?=)$(S\E++,6\S*:VNYF(E" M8","#I&V+JCY.L 2.+>> M3!S?*Z=>K6D-S\>_O+\MDS?);*F"I>#_LE@GOT O$,O0Y$84R M]FKF:Q.UU?:C*L+[4X2D(\(51+=H@%\C$A#\L%FAER]>/?7BFYSKQ$F=."G= MAAUN[U*3%_L/8K042K>%=;(?EO:VN \+,@H&TYE_:)$=U+*#B[(/F7EW>*G[ MSKPSK?MQ\C Z$QZWBX:U:'BMZ >A%+2JA@W5&TQ&[<+#6GAX4?@M91)]H;R M-L5A0Y$,IR1HEQS5DJ.+DOT2?#3C0"G*AF%;HZT=(MR"_7:B:<>U]W+-J MQHVD\&C2\?PFM>JD=]%,KBV::2TZ[5\TTX9JQ^/#@0-2T*-F*N.G^SL-.T3/ M*(@O)[M![\0!9&9^<#2ZVT,668JM8*O/J79%)6$'(-R70)6#IV](T+7##D&X M/X-P$T)=NHY"^!DPA%LYU"'M.(3[@ BWD"B<3#I$'8GP910MA!$FG": MFI^T#E$')_);.&VT*2-5GL#6@ILBBBA'FV(;LP.S!^0_0A4Y.ROU/BPU487) M,.S*W;&*]&<5N9I5Q+&*/ .K2 NKQEW2CE6D#ZM(DU68A..NC7:P(K^#59J" MC)BIJS7-0;Y&IC5 [[.(%['9A"/3"5I2E90U6 [^^EZP@SGV9]<=L8@#&ND+ M--($6M>V.YJ1_C0C5].,.)J19Z 9N?J@-7 L&_1A664\O*#HG[6=MH4W+>3> M;!SBL#,VP>W8&,M35WR::)&7G>A6:-/7EL,$: S2+C#W=\)TH]7$-K?U?Q.+ M_P%02P,$% @ ^%M25- L#V;C P LQ !D !X;"]W;W)K&ULK9C?CYLX$,?_%0OUH96:!1N2A2J)M+NY_I"ZIZCI]AY. M]^# )%AK<&J;I.U??X90H *GJ[(OB0V>^-[,S2C+G>6\NK:6R[DH M-&B8T"PQ8#4!J2*^RQ41;FBFB[G M4IR0+%<;;^6@2K6R-L&QO/Q5-EJ:N\S8Z>7?0@,*T03=4_D(FFXYH W$A62: M@3+7-ZF0>J)!9HCF"?HH\OUY]AYX,M%B=4 M%,I8J[FK3XR.6^%807R$?OT;$(][#9H5>OGCUJQ?79-RD39JT M2>4VL+B]R4Q6[ M?5Q&?A!,Y^YQ0-9O9/V+L@^Y>7)X MI?O./#&#]3A[F'6$_<@?E@T:V>"ILA^%4C"H&_1T)\2B.VUTIQ=UWU(FT1?* M"Q@2G/8$(S_$E@K/&LG91-]^N1 M;7/=2VKJ1Y:"R1O1-/4QK\4. A# MBVB'@OARLAOT3AQ!YN:%H]'-'O*XY-@*MKK+M2>T$FX1A,#R&<)]#,XMNBR'\#!S" R#"MI1;$N$Q*,)]%N$PB&P)MS#"EVET)^1! M2*KACSJII1(>BR7M/4!Q8QO+*\B4@++#(>6*0/K- FW!*+/ .QR-#6R:+< HN, 1;I \L4.@PL MJBVPR.^ E64@8V;Z:DT/(%\C&ULA91-;]LP#(;_"F'TT )K_1&G MZPK'P))@Z X;BJ;=SK)-QT)E*9/DI/GWI637S;9DN]BB1+YZ2%'*=DH_FP;1 MPDLKI)D%C;6;VS T98,M,U=J@Y)6:J5;9LG4Z]!L-++*![4B3*+H.FP9ET&> M^;E[G6>JLX)+O-=@NK9E>C]'H7:S( [>)A[XNK%N(LRS#5OC"NW3YEZ3%8XJ M%6]1&JXD:*QGP>?X=IXZ?^_P@^/.'(S!95(H]>R,K]4LB!P0"BRM4V#TV^(" MA7!"A/%KT S&+5W@X?A-_8O/G7(IF,&%$C]Y99M9?N-_*42V99GFFU M ^V\2RLII6.<79_+NR"#=P"=^8?D;+"H&PPK+3W'(T-#]G M@LD20=5PAZ*ZM.J2:N'6][#$PAYZ%WM8*&DUE;IC@B0'O_,E*7-A+N ,N(3' M1G6&RSU(4TZ24_0I"--^D^:1V7I]-KWAC#C$1]C2/^J M2#+]E/S)$![TJ+ONU&]K+@W5N::XZ.HC">C^"O6&51O?MH6R= G\L*%7![5S MH/5:4>L.AKL)XSN6OP)02P,$% @ ^%M25&.?=X(^ @ 4P4 !D !X M;"]W;W)K&ULC53;3N,P$/V54<0#2&QS*["@-!(E MK'8?NJJX[#Z;9-I8.':P)Q3^?FTG9 MJ$2^)+^><\9GQ.-LH_6AJ1(*71D@S M"VJB]B(,35ECP\Q$M2CMSDKIAI&=ZG5H6HVL\J1&A$D4G88-XS+(,[^VU'FF M.A)G237]4LB-R!4&!)3H'9WS->H1!.R![C M:= ,QI".N#U^4__AO5LO#\S@E1)_>47U+/@>0(4KU@FZ49N?./@Y<7JE$L9_ M8=-CSZ8!E)TAU0QD>X*&R_[/7H8\;!'BTSV$9" D'PG[(J0#(?TJ83H0ICXS MO16?AX(1RS.M-J =VJJY@4^F9UO[7+JRWY*VN]SR*/^M".$.M+2[!88'$N#!PAR_4,7%DH?>W!1P>',$!< D++H0MH,E"LL=QHF$Y MA)[WH9,]H>,$%DI2;>!:5EB]%PBMC]%,\F9FGGRJ6& Y@30^AB1*XAT'NOHZ M/=I!+[Y,C\\_<9..I4F]WG2OGFWDDC/7'\=PIXB)74GN1>+(J[@N?\[3Z23- MPN=MYSM0R?GD]#VJV(4ZFTQ'5.\CW+IN#>JU;UL#I>HD]<4:5\>7X=(WQ(?U MN7TQ^@;_+],_-PNFUUP:$+BRDM'D["0 W;=P/R'5^DO]H,BVB!_6]M5#[0!V M?Z7LQ1XF+L#XCN;_ %!+ P04 " #X6U)4:N/N>3<# -"@ &0 'AL M+W=OJC* M6J^\PICFG>_KK. 5T^>RX36\V4I5,0--M?-UHSC+.U-5^A3CV*^8J+WULNN[ M5NNE;$TI:GZMD&ZKBJG'"U[*_>_)NPW!UM I?@J^UP?/R$[E5LK?MO$Y7WG8$O&29\:&8/!W MSR]Y6=I(P'$W!/7&,:WQ\/DI^L=N\C"96Z;YI2Q_B=P4*R_U4,ZWK"W--[G_ MQ(<)139>)DO=_:+]H,4>REIM9#68@: 2=?_/'H9$'!A(>,1 !P-]J2$8#,%+ M#>%@"+O,]%/I\K!AAJV72NZ1LFJ(9A^Z9'9NF+ZH[;K?& 5O!?C,^JLT'"W0 M&;I6L)>4>42LSM&'NU8TL+H&7ES*JI$U/&LDM\=DKS?<,%'J-V#X<;-!KU^] M0:^0J-'W0K8:M'KI&\"U@_K9@';1H]$C:!N>G:. O$444^*P7[[B?<%DN#*0>^*.I<]I/=K$F$,(]X?3M6A"C%-1]4S MI&!$"DXB7;2BS$6]T]UBBJI1\I[;Y70N5A\K/D3 "0W)A'0N2Q*:1F[2<"0- M3Y)>L:R +M5O._ZT[5R8X6Q\&H0+C">8#ADE 29NSFCDC$YRVK/2&JY0P52^ M9XIWO%INC6VX<*,91TK2=+K\GAF'+ A"2MU4BY%J<9+J?9:U55LRPW.HA' KR 3K M:RWL259)9<2?KL-%OI@AG9&41%$T07?I(IQ$L9N=X']U"9^D?U9HQA/_%M7< M>>R':(=?2)KB((PGO$X=C>.);N/2Q4%"IFOB'Y1>>U&Z8FHG:HU*O@4C/D\@ M@NKO'GW#R*:KQK?20&WO'@NXKW%E!?!^*Z$B#PU;X,<;X/HO4$L#!!0 ( M /A;4E0[=$*@,0( %X% 9 >&PO=V]R:W-H965T%K#S,0PA&AC'\M9] =Z8#]]9']A_>.7E;,P$R)OWQM MRVEP%Y U;-A.V&=U^ FMGUO'5RAA_), M@*:? .(6$'\7D+2 Q!MME'E;=+/^%[498) MM-1:'O+3$-QZ C<7^YPFZ23-PGU?]D 5I7'<59VH2SIUR9?J'@0.&I,%$!Q9 MHE9&"3 %8&)(:,,U[DFX26ARIG.@*!Y'PS+33F;ZIM2'L*'Q( M9SK04#JF9T('JJ*[\7E#P][?[VZ>7TQON31$P 9QT6B"!+J9YB:PJO8#L5(6 MQ\LO2[P 0;L"W-\H'(HV<#/67:GY?U!+ P04 " #X6U)4*6M0FO8! = M! &0 'AL+W=O0A):>] MTB^F1B0X-D*:95 3M7=A:/(:&V9FJD5I/:72#2-KZBHTK496>% CPB2*/H0- MXS+(4G^VT5FJ.A)")5S6Y@S!+6U;A%NFYW6AK MA2>6@C;D&)A= M#KA"(1R1+>/WR!F<4CK@=/_*_N"U6RU[9G"EQ"]>4+T,/@508,DZ04^J_X*C MGH7CRY4P_@O]$/MQ$4#>&5+-"+85-%P.*SN.?9@ XMLS@&0$).\%S$? W L= M*O.RUHQ8EFK5@W;1ELUM?&\\VJKATDUQ2]IZN<51]ET10AS##3QPR63.904_ M]H)7S'79P.4:B7%A8(='ZIBXLI'/VS5<7ES!!7 )NUIUALG"I"'9>AQKF(^Y M[X? MK0=4"2N-!:=KV"EBXBU] ^'"$[KWIA/]%#%6&D^&YA_.-Z8K;S@LL M+2::N:NFA\LX&*1:/\^](GL[_+:V[Q>U"[#^4MF9CH:[(J<_0O874$L#!!0 M ( /A;4E1,#M&:4P, +H) 9 >&PO=V]R:W-H965TJ#F;F %8]-;0^D M_WZO/9,II),1VI>^@.VY]_BZ+T./++-UM@!?S38T0TLP#SMY@I[?HV2L1R$9E(0!>NA-PX_)7T; M[P+^97#01VUBE:RD?+:=^VSH!980<$B-1:#XMX<[X-P"(8T?%:973VD3C]NO MZ)^==M2RHAKN)/_*,K,=>K<>R6!-"VX>Y>$+5'IZ%B^57+M?LJ4TIQ=4BHH:.!D@>B M;#2BV88KILM&^4S895\8A5\9YIG1@S1 PHC\1:;YCLN? &0" M;,D#FG0I.+ M! QE7),EO)B"\DL,[0;AQ?,E>03#%* 'RECR;0;Y"M1W\H$P06:,!\E.1LE[#>BG$B,ZX6,'6SW'=BGA_OE-"&+Y7@Y7;3@ M=6N\;BO>C F6%SEY*.R:DG_6OPSR%7;:L;%GU7X4!0-_WZ"@5ROHG:5@ 6K/ M4B!S4$QFQTJT)3G>H[UKTS^AXQ1)L"U0TAW:4+%5X8ZHXWU!+IQ#FY9_TLXJ M)KGS=LL27=<"KUNA&EE:=E=D1E^<]K$0N&=/(K0M1%V"*]M+<0LW*6F?OA=T M@N!CBXZ;6L?-_]51T<0583I58+_@Y70:.UK)O6V7CO86WDC@].UO*V:]Q^W^FG/W?BQ!TNF_*V1C4>U/. MQJ#X33G]HULM![5QKP--4DNO//KKT?H!,G;W[IOQ"3Y,RG?$+YCR53.C:L-P M1W!8(V30N<&]J\J70MDQ!.[YA8?5Z!L 'Y?2[P_JXZ=H'ZNC?X# M4$L#!!0 ( /A;4E02O2"*. 8 (8@ 9 >&PO=V]R:W-H965TY8DRAIS"(Y%EC MI=3Z0[LMO14+J6SQ-8O@S8*+D"JX%TD-0 M^-FR"Q8$>B2PXY]TT$;V3:V8O]Z/_C$&#V >J&07//CFS]7JK#%HH#E;T$V@ M;OGN#Y8"ZNKQ/![(^"_:I;). WD;J7B8*H,%H1\EO_0I=41.@71+%$BJ0%XH MX$Z)@ILJN'45.JE")_9, B7VPY0J.AX)OD-"2\-H^B)V9JP-\/U(Q_U."7CK M@YX:?^:*(>RB4W2GN/=XJGTX1Q<\A(DE:1R:DRE3U \DNF=/:D.#]R#\Y6Z* M3MZ]1^^0'Z%K/PA 4([:"BS2X[:]].OGR==)R= T*%N0"Y(0( MTFG=MAE- MC-'DV.$Q0'5($%_H@<#$Q ]-#=@#\4*D=N,&E<$Q+0VNT=-(="7EAH'-R6VS M&)9!WD1TH9A T.POF*\V F;X+M%&^?BJ_(YW4$4W?M7\PK\2;V8)P'C%O#WDO !7(0Y4%GF/M7 M@MXT(?CH71_Z\N+)-0,U5:)0IQ%=!VI^663 G#V]A.W#\1 M0AH:/<_3Q\F"O#Q4=M-(NM[H[]<;O:KE!C'=!:G?7=3)!/0?NH8V.]R$=9*# M&.XG=D[^"N<*DIW?P*IX3RB*$\\H.4 M=\3Z5F':OKYU]O6-="H+G&%=8N>YTFEQ8"4S7$B.OC8^-,GL!KG52698DMBI MR.K-^B7+-?SD'GWU>Z W*PRJ+EFN(3W7SC%@2WP$%,&:(6V3ZSC/\(Y[]+7I MHRJ6 "9=,%[0=;Q(A!?G3$^Y2RHBP$^C;!8VT2>^ M ]%/?N@7;HI4?-ZIV!-Q#:>Z=N+Z82!?UFLK$/OG<;<2BJ%)UTZ3GWBT/(UW MRZ\BCO@"FMLZ^!V[H V9!!=?= M4;R7FIQM M9D^SP_1)?(3\XODY_C!-CL3-,,D)_35,&C^2*& +&-)I]6'NBN30.[E1?!T? M S]PI7@87ZX8G3.A!>#]@G.UO]$?R/[KP?A_4$L#!!0 ( /A;4E2T5/4) ME0, "L- 9 >&PO=V]R:W-H965TDDZSO[[)2E%EF59< Z^ MV/QX,YSW2&J&XQWC+R(%D.BMR$LQL5(I-S>V+>(4"BJNV09*-;-BO*!2=?G: M%AL.-#%&16X3QPGL@F:E-1V;L06?CME6YED)"X[$MB@H_^\.=,.( M::P5_:S4^[Z47,UFRDY._V02$';15[24+'[YJC5,T(P5ZF ):K9F8.K^3;YQ!?(Q=?(>(0W!/0['QSI\=\?K8YC@;8 MN,W.N<:?=\+?;9ZSF$JU)2*E'.KMB=O; ]7V]&E?^?:-;_UM>)WBR(G\L?W: M%J0'Y06A>XB:]Z"<<(0;U $]KZ'G#=*;,2$16Z$ES4&@OQ^@> ;^SX!N?N/8 MOZ!NE>^@Q97X1[+U@#P?=U3K 3E^T"]:T' +!KDMU?$25?$8Q )7-(OXJCA-AKD]@0"*(]3H^(< M7E5NW*A,)S^B8]2L%5U0Q^B8_]W#VH?S'5)V)7V&!;YT:FSND\W>#C?W"\7B[-$V^<9?,E$4SL_R*I^ZP35 MFO6@7"_H2M:#4NF^(YG=JB(+X&M3C0L5\+:459'5C#85_ZVI5>=61;&-JU65KFJEZS0#7 #6_8JI> MK3MZ@>9]-/T?4$L#!!0 ( /A;4E0Y"SH)D , *4, 9 >&PO=V]R M:W-H965T0Y[#RZNKV5[(1U4 :/)4 M\DK-G4+K^I/GJ:R DBI7U%#AD[60)=78E1M/U1)H;D$E]T+?O_1*RBIG,;-C M*[F8B:WFK(*5)&I;EE0>EL#%?NX$SO/ '=L4V@QXBUE--W /^DN]DMCS.I:< ME5 I)BHB83UWKH-/:6 !=L8?#/;JJ$V,E ,'DVNI:35!DS[XS/#7[=0/H#\&R$_ M$8\H U,S3Z-Y\\P MD>_Z_KL^4_X?+/W/L!/YDT[^9)#GJ\V7*)_N0&+^)QN\IIKD%+/%FC))=I1O M,6@P$>2"2+SO)EX.2;UG%RFW999\!%Z<=Y720\HZIQXNU!,"$J0&3F"82'>SS M9YC(=Y/^(!J#3?J#:!@6NM%D*(B23GYRWAW:"8ZO$L[TH4_Z, F>?YCT:A_! MA6[<+WX4-PF'U%]UZJ^&XXD^G1M/@?_RMO9_5$2-, 5N\%IF8^LH+I[VVCJ" M0UM?'^.I!T<52_ CPFJ$!>-J$O4;, *,W*07F(X!0W<:]UK@'=5O):IH"_I7+#L'SCL$9*WYUB#I5-3=QT MM*AME?@@--:( &]56?.EM1.B^>PX/-N1"G.;-J263S:455C( M(=LZO&$$YSJH*AWDNJ%3X:*V5@M][Y&M%G0ORJ(FCPSP?55A]O.!E/2PM*#U M?N-;L=T)=<-9+1J\)4]$?&\>F1PY/4M>5*3F!:T!(YNE=0\_I]!7 1KQHR ' M/K@&2LHSI2]J\$>^M%R5$2E))A0%EC^O9$W*4C')//[I2*U^3A4XO'YG_U6+ MEV*>,2=K6OY=Y&*WM&(+Y&2#]Z7X1@^_DTY0H/@R6G+]'QPZK&N!;,\%K;I@ MF4%5U.TO?NN,& 3 \$0 Z@+0-, _$>!U =ZU 7X7H*UV6BG:AQ0+O%HP>@!, MH26;NM!FZF@IOZA5W9\$DT\+&2=6?U)! /3 '7@2-'NY4Q[F8$TK^6)QK$O3 M/0)_-7IXKRI5B)_@0TH$+DK^42)^ 0[@.\P(7SA"IJ7(G:Q+X:%- 9U( 2+P ME=9BQ\&7.B?YF,"1>GI1Z%W4 SK+F)+,!A[\!)"+H"&A]?7AKB$\O3H<)F?4 M>'V)/,WGG^!K?>= KEHN<)T7]19\*.K.[X\FPUO"4!.JE?^Z0B@)/.G%Z] & M RP*41B.8:D!%J 0'F$C67XOR_^OLCZ!@UZG)+_#KX3)[PX@;X1E!2>@845& MM.Z@ M]R4XZ\MO#-?2@4LE#F9%":+$G59XC@KEAA!,-!FXO,B-S3K"7D=XC8Y;UC2< M>0]1;$-_(MH C$NQCW8N+KQ-RRBO',]R"VHXF@=8L*1N_W1/.RCB18##'K)J?I!][B]N]?)N64%NSG' M2R>Q9_N+ 1=&=C+5;H#%B1V$:"UQV2.LGXN207BST_ MUT 81*Y[(I?CP09>=[(9Y'+3XAB.-M#V)ED[@YZ@(FRK>RL.,KJO17N2[N_V M_=N][EHF]Q]47Z=[C2--VQ1^Q6Q;2)TEV4A*UX[DUYJU?58[$+31G<.JW:O6BUV@<2G 05,&N6BYG&/. M^<[A^VP\WE#VF*T(X> YCI+L8K3B//VBZ]E\16(_TVA*$G%G05GL?7[MAD3-<\"A-RQT"VCF.?O5R2B&XN1G"TO7 ? M+E=<7M GX]1?D@?"?T_OF#C3JU&","9)%M($,+*X&'V%7Z;8E@ZYQ1\AV62U M8R!3F5'Z*$^^!Q9',S,_(%8W^# .^NABY(Q"0A;^.^#W=_$K*A"PYWIQ&6?X7;$I;8P3FZXS3 MN'06$<1A4OSWGTL@:@[(ZG! I0/:Y)X# M=^US?S)F= .8M!:CR8,<_=Q;X!4FLE$>.!-W0^'')S\H)P!B< X>.)T_GDO0 M W!%8]&)F9_7\AQ\3XJ.S"L[$^U6&(/;5%[*P.V:9]Q/@C!9@D_7A/MAE'T6 M?K\ '60KGY%LK',1K'RD/B\#NRP"0QV!001N:,)7&9@F 0EV!]!%EE6J:)OJ M)>H=\9K,-8#A&4 &@BT!70UW-UK[0Z_%?3KT! U=UQ_EX9L=XV])1 M5;HS\$0R+JHO3@%Y3L6K+$XXS2^?@60=SPBK.X!/85+6]W-;@8L([#P"25A/ M$X0Q=LVQ_E2'O<4,>1:&NV;7+6:.C6Q[UVS:8F8A&RJS';C,"B[SQ'!MHSGN'HI-*]?6 M3,NK_?8 ;7HX2,-[XTZ;5K:I.4;KN#O06A6T5B^TTRTN=SDN]WXBP+I-"/C[ MALB.^Z>GV^WJ&7;O,XI!Z6*O"-D9$$(IP(_"..2O*(G=A$YS.EK,J6)T/OR- M=!HOAVDCLSUNMXK;/1+;=9H>@:W;P!9#S<3M07I5D-Y[O[^,R'F7!'DN=(F) M&<[:CT1V"_$N_T5\UII,?U0FB N)LT'@OV0]C0X-I>?&3\M496@[M3,TRVVO M':S-4>"@G,K _%E$JNZO73O4_>53AK4_1"HZ]/KH3@@J>A6H:@( ^V< K;S[ MVX8.X5VH=!/V"^>IF1?Y8!K0[]A$K"$2%'O+QL@[2,=*'&&_.GXH'3>E MU'(TV"&E4&DI'":F;Z5CKTG'EN=V3*.04D T3 '?B8]14^0$J@;J"%N)'.H7 MN78^7C$R:":,E%RA?KDZ-2.CICY)MNC0)Z3T"7W\"A4U5XLFM#I;4*D>.E;U MCF-DU+(&M+6NEE.BATXM>JQ4A6X<(&2FQ1/UB^9&$C)K"ZGJ: M9W7440DK&B:L;R1DU%P>>I9C=$2G)! -D\#WXN.FRCE0LUU#_6!'"DKQ4+_B MM7+S-[IF0Z@9*^7"_]4-B<^$&L2.FSAW! M*RW$QVKA<3R-FUH($=8Z^@_7/M:>6@M/0]0'PMH2M;LE:BAYNN]54 J*?]X/ MKKBIMA Z&NXJH]);/$QOW\C3N&4=:5FH@ZBQDD8\3!K?B:AQ4_V@X6AH?Z:H MUW:S8L*6^39B)MIVG?!B8ZNZ6FU5?LTWZ'1E7NQSWOAL&8J,(K(0KH;F".18 ML758G'":YGMC,\HYC?/#%?$#PJ2!N+^@E&]/Y .J#=S)?U!+ P04 " #X M6U)46:LGX[X# *#@ &0 'AL+W=O$ZF:?.>)EE-2&*.Z\C"$D5>3LG'62]-WQ]=+=I!5V= [#L2AK@G_YX96 M[+1RD//<<5_N]E)W>.ME2W;T@TI,8O0--Y9&Q)]WXM5@Y4$=$*YI+[8*HOR/=T*K2GE0&;VG#\ M_NS])T->D7DD@FY8]4=9R/W*21Q0T"TY5/*>G7ZA/:%0^\M9)V,505TVW3_YV@LQ,D#1!0/<&^"I07#!P.\-_&L-@MX@,,IT5(P.&9%D MO>3L!+A&*V_ZQ8AIK!7]LM%Y?Y!) L?UIH#0NP8;6: M6(*8U"S /162E[E4(P8%/K=Z1(!W&96DK,1[&^C/6UH_4OZ7&OL!>$#L":=B MZ4D5M?ZVE_<1WG01X@L1(@QN62/W OS8%+0X=^ IN@-G_,SY!K_J,:.Y"WST M 6"(D26@S?7FT&*>76V.TE?8^$,&?>,ON.!OI+LPNK\KFU[L]S:U.V^1\:9W MA>/:AS%*52C'L086& K2V#^'9188]E,MZ]'"*1@X!=_%Z0,XF05,BP4Y4JXV M)+#CI)&@(&KZ;DG)P9%4!VJX%ZRJ"!>@I;S3P2I#%T R"CQ-W"2>J#!'):D; MAA,1YJ@X=9,@'3UV/<)!C_!5/7[69)48WTAM.$L&AF&:1A-2W$DH%8\KW$WB#%R7S1 M(A='\.699GMND03N9)5G>-;:/MY+"8 M)+$;)A?D&)5-Z#\]=7MW9P=EX,<)GE*TX"S'4[\QE0X"<'1K9U8Y#[W"A^63*^$G_C;[H MF.+[Q4UW2[HE?%?J_8]NE4OHQNH(Y=W%HVM(UII2_)%)5=B;U[VZK%&N 6I\ MRU0YWC?T!X;KW_I?4$L#!!0 ( /A;4E0/K03".P0 ",3 9 >&PO M=V]R:W-H965T=<='71\DSH"SM@ MS,'WJJS9RCIP?OSB."P[X HQFQQQ+>[L"*T0%Z=T[[ CQ2A7057I>*X;.14J M:FN]5-<>Z'I)3KPL:OQ 3M5%:+_WN&2G%<6M-XN/!;[ Y<7G/7RB/;X"?/? MCP]4G#D=2UY4N&8%J0'%NY7U%7[9PD0&*,0?!3ZSBV,@I3P3\B)/ON4KRY4C MPB7.N*1 XN<5;W!92B8QCG]:4JM[I@R\/'YC_UF)%V*>$<,;4OY9Y/RPLA(+ MY'B'3B5_).=?<2LHE'P9*9GZ#\XMUK5 =F*<5&VP&$%5U,TO^MX:<1$ HRL! M7AO@C0."*P%^&^#/#0C:@$ YTTA1/FP11^LE)6= )5JPR0-EIHH6\HM:YOV) M4W&W$'%\_1OA&$ ?+, 3)]G+0GJ8@PVIQ(O%D$K- CQ@JMZP.L,-#/RXQ1P5 M)?LTOGM %#/PUSVNGC']6]S] 3B J:M+AXL!R\:'NX;P[>QPF$ZH\;OD M^8HON,)WZ3QK\E+4K=N?3'8W=)&BDQ7A=0W3-(R6SNNE!SHJ]1-_"-KJH-"# M@=NA!H*"3E P*>@1,TZ+C(M74.GY#,YJXN)\@5XQ%84(["FJ.&UWJ*#@ M%94GK'3GI"P19>"(:>.!T8)F ,FE!3"QH[$'.BQ,;#\0WUO(9NG(PT&5!Z]K MIE,\ RU)IR7YJ)8;9+490S@A/YDU0:=X!O+33GXZN^1F!U3O\7N93/4\0=?7 M"HX.&RG>&H@BF,#(+ BZ?0?@?E#2#1+:CF$PLU+/3D<)V[2XB893+_'2L10#S/-B38X)YL?A%3E>+\>;)^<6V?0, MY=2W4SBV0,>99JF)S@UM/[[B0=\?P>D&:>;R"0U]D6']-,$,"Z@!-K&"PKXW M@O.:HP^L(BWCU#)B@)C6D4FFH:"^MX'3S!T M7QMR2UJF=JX/[XC?VK$:_$S+" $:,_22+3OM6Q M4 )SO*;RD6V^02DHTGPQH\+\HDVYU[50O!:2925899"1O/C'V]*(/8#7.@'P M2X!_# A/ ((2$%P*"$M :)PII!@?QECB08^S#>)ZMV+3 V.F02OY)-?G_B2Y M6B4*)P<_F 3D!>@./4D6+^^TAPD:L4P5EL#F:.[0@U!EL=*!0,]ZG>1(IH!> M,%T7>]@<38&;,LQC*+C0S1@D)E3<*HJ#U11S$.CW!+(9\#\]1RHA.ATG+I,> M%DG[)Y+V?#1AN4P%^I(GD!P2.,J!R@;_S8:AW\@XAMA&@?<9^:[OU20TNASN MUL#'%\.];H.:H#K4P/"%)_B^;%?J6JESHF0.Z.878'Y;YW(S2POM%%#4N7$M M<'P%\,"!L'(@O,R!A+R2!/($[0C0I,Z$9B+7=MU/=197;4;7*T7OI=;!Q,\RW@^.3.)#ON>\?7OBL85P-OI?7ZVO?5; 4%45=B#=Q<60A9$&VVB?X0V&K=M;(9C(5XL5N[N8# M+[! P&"F;01B#J\P L9L((/QKXKIU;>TQMWU1_1;E[O)94H4C 3[2^=Z-? R M#\UA039,/XKM#ZCRP3;>3##E?M&VT@8>FFV4%D5E-@0%Y>61O%5UV#&$R1Y# M5!FB8PUQ98A=HB692VM,-!GVI=@B:=4FFEVXVCBWR89R^R].M#17J?'IX2^A M 84)ND3W8*JAS.*&,,)G@":NB^YXV2JVYN=CT(0R=6%4SY,Q.C^[0&>(F5<;!+HY]5EZ'&*=9WW_=A6^+\@SC6O0) M,:X1XX.(HXV4P#42#51&R90RJBET\I9!>SLH<90W>;M$:=3-F]2\R4'>>\&7 MEQID<2IQTH*)H@0WB-NB%&>];F)<$^.#Q$]"$W8J+6Z!8)S$#=JV* PRG'7C M]FKU;&+3Z!?U#/MJ&?0@.W2 M[.G6K&;-CNS6DVBS=FUC'#9P.T1YF'?SYC5O?D2OGL2:MUY*81XT6=NB*$G# M!JN_,WCLT/])Y))R93 6QA9&ULK99M;]LV$,>_"B'T10LLD4A)ME78!I*X MQ0JT6]"TW6M:.EE$)=(CZ3C;IQ])*8HLR8I1[(U-4G?'WY_'AUL>A?RI"@"- MGJJ2JY57:+U_[_LJ+:"BZEKL@9LON9 5U:8K=[[:2Z"9JHO*?6RC%<>5A[WG@*]L5V@[XZ^6>[N !]/?]O30] MOXV2L0JX8H(C"?G*N\'O-YA8!V?Q@\%1==K(2MD*\=-V/F4K+[!$4$*J;0AJ M_A[A#LK21C(J=^?+]88/>OGF'WB#&T;="'!3E MF5KZVH#8<'[:3'I;3TK.3(H)^B*X+A3ZP#/(3@/X1D$K@SS+N"63$3>07J,0 M_X9(0/ (T-WE[L&(^^9B=YQ,J G;I(0N7G0FWI][D%0SOD.ERT4JE!Y;Y3I* M[*+8 _ZX#L/$R'_L*A\:1;AC= (8M8#1).!-):1F_U)W=$6.I#U=5R*_.AA: MJA3HT5U1!YUU49)%#W=H@Z-PG#9N:>-)VD]<@P2ED8&M%U1L2[9S]*.<\8 A MZ5$.+<@XXZQEG$TR_J"2T6T)KV1\-IAWCOML0YMDD8S3S5NZ^23=-Z%I^0K: M?)C<&9[WV(9&<4CB<;A%"[>X\+2D5!4H-T^90KD4%1*GYV@TUXOA?@NB>9][ M:!5%9#;.G;3 F] GF8]) MCWG$",?1J=&F,>I>:,$999U'$$\JJY^\^N(REX-Y\#AD]I&#I[2@? ?(5%B( MFRJFMZ50:4XM*YEF9V3CH6R2A'W=0RLV%R8OJLC_I"IO,WN9*C*1@D;2 MT(3$I'^1^YW"I0*YOZ\6]'VR+SQI56O?%;6WRZ@N@E3%VY?J%R MQ[@RPG(3,KB>&R19%X-U1XN]*X^V0IMBRS4+4T"#M ;F>RY,B=1T[ 1M2;[^ M#U!+ P04 " #X6U)48^\AGTP# E#0 &0 'AL+W=OQ*G1%PD1,%4[&QY$)1L\Z DMEW'">V$L-2:3_-[*S&?\DS%+*4K@626 M)$1\W-&8'V<6MCYO/++=7ND;]GQZ(#OZ1-7+825@9E=9MBRAJ60\18)&,^L6 MWRSP1 ?D*WXS>I2-,=)2UIR_ZLF/[?V;_EXD',FDBZX/$?ME7[F36VT)9&)(O5(S]^IZ6@0.?;\%CFO^A8 MKG4LM,FDXDD9# P2EA97\EX6HA& _9X MPQP30.\,L#+A1;,0-3+TQ*=GUV@,\12]+SGF23I5DYM!20U ME+TI"=T5A-P>0DNZN48>OD2NX^*.\(5YN/-_N VEJ>KC5O5Q\WQ^3SY(XUXB M7A4AUD7H4E6D"?(T^K_S-G># !B\=8![%;AG !ZQE*0;V@]=) D;T$&(NY'] M"MD?0O:,9/LM;.PYXV[PH (/#, '90<=T(';#1U6T.$0M&^D.VR!CX*>FH\J M[)$!]J#L40NYYRT;5[CC(=S 2/.XK1GW:)Y4V!,#[$'-$U/-V*E]SQE"#HU4 MEWF:X)[O]\ W;!<;P \*+[.8**\=#9^VM-M(4:']<62FWS6F4/L:/FUL30K# M-6C[6Q^!VM[P:7][YHK$*,K@I*/Z6&5)EA0,T(%\0)NBI%EQVOX7A&'?VU$; M(#[M@$;TA@O7X9 3[/60JRT2G_;(>RHE'/*P@U0JLRJUW?(*NSW6@6N_Q*<- M\PN1X7JTK1-H]+"HW1.?ML\5H,.&H#<29U1W3,4^Q76?9%:CMKL&@5]O5MG\ MC%MM!G;&0<^!BVL;QJ=]>%A$)^=)F\W$P5\YMU>Y_NCK[MN-'E9_0#P0L6.I M!"(1A#G7(X@714]>3!0_Y&WMFBMHDO/A'KYCJ- +X'G$H;4M)[I3KKZ,YO\ M4$L#!!0 ( /A;4E2=N;7)7 ( "0' 9 >&PO=V]R:W-H965T1D#H)FF<+FMI(6RL$$J"J R8^>LE-8RVQ MB^VNZ[_?M9-%+:1A"+[4SW-\SG%Z/=M+=:]+1 ./=27TW"N-V5[ZOLY*K)D> MRRT*6BFDJIFAH=KX>JN0Y0Y45WX4!%._9EQXZL\3:[XIC9WPT]F6;? &S;?M2M'([UAR7J/07 I06,R]J_!R,;'[ MW8;O'/?ZJ _6R9V4]W;P,9][@16$%6;&,C!J'G"!566)2,;/EM/KCK3 X_XS M^WOGG;S<,8T+6=WRW)1S[YT'.19L5YFUW'_ UH\3F,E*NU_8MWL##[*=-K)N MP:2@YJ)IV6.;PQ$@BL\ HA80_0J8G '$+2!V1AMESM:2&9;.E-R#LKN)S79< M-@Y-;KBPMWAC%*URPIGTBS0(80)OX!-2&IHZM\XZYG#U@(IN$M9H/PO(0JB ML >^>#D\.(7[E$472-0%$CF^Y S?@'N7D,N 4J+_D6+&3E=-<*,#,J4O8/2# MVMX3OC)Q\SCVWVR=Z^(AP/ U>]=W>,"SZ'7;B<-(Y MG/R;P],[ZO,W?$ P3OK]_0DVZ??G']4P^WY\9FK#A29]!1$%X[?$JYJ:W R, MW+JR=B<-%4G7+>D90V4WT'HAJ;2U ULINX&ULO5??CYLX M$/Y7+-2'K;19?B8D51(I";V[E6[;5;?M/53WX, DN 4[9YND_>_/!I8-X*6Y M:G4O 9OO&^8;3V:&^8GQ;R(%D.A[GE&QL%(I#V]L6\0IY%C(ZE M6O*]+0X<<%*2\LSV'&=BYYA0:SDO]^[Y'[_:/VW4KP2 ML\4"-BS[BR0R75A3"R6PPT4F/[#3'U +&FM[,$L63RW=, G+':(16<5SD188E).B]3(&C#O: 3NNW5Q7;GK/N.EZZ(Y1F0KTEB:0M W82G,CW'L4OO8&+480WR#?O4:> MX[D&AS:7TQT#/;J8[LX&U/C-,?JEO> 9>VN<81H#PA)M84\H)72/V X=@!.6 MF.)=V1N7]G1Q."XG0>"/)W/[>!Z%/FP\'8BI+DS,/IMXTF/D=/7V827;4AW5DM_2,&SWC03VK]YM;M)*2DVTA\38# M)!FZQQRH1%_N(-\"_WL@&2;-:R8OG R3GMR1'WB=0]X84*'C3CNA,Z#4.7CF MR(6-I/#%,B'L.^!.IF[846. ]35'!E1+K]%M1P :K%QQD6@NQ( MC'7#-M;PF2'ROA=V,F33A_GC63>-^B W" -SW%WGJ=LY@WK?J4DJ+B,M1U4& M(?:S$!B[E7.95 /.H-6 &A![UMK=GY:;ZU9?_UT-@G4'OT81;"5Z !4.(@D( MA3RJMJUS;:2.?"1P!M?_(>5<[\DO[W],NOIE[:/03;5]$'U4]Z\^"&E+?6K+ M[G!??K%\ZS=8D\@^JB=R"%*)M,^FR1SXOIS*A?*XH+*:KYK=9O)?E?-N9W^M MOPC**?7)3/4Y<8>YZDL"9;!3)IV;4/G#JPF]6DAV*&?6+9-J BYO4_55 UP# MU/,=4W-KO= O:+Z3EO\"4$L#!!0 ( /A;4E04$=P90 0 %H. 9 M>&PO=V]R:W-H965T-C=;;+XZCH@VD5+7$%CB^60F94HVWP /VT M?9!XYU198I8"5TQP(F%UTQAY7Z9>8 !YQ'<&.W5P38R4I1 _SLV2)0I+=(2C Q2QHM_^E(:<0! H?4 OP3X MIX#.!4"[!+0_"NB4@$[N3"$E]V%*-1T.I-@1::(QF[G(S0S^0;CT0*Y)&^@")74]"4)8H\PHO.:'*- 4^+*;GZ=$T^$<;) MXT9DBO)8#1R--$PR)RJ''!=#^A>&]'QR)[C>*#+C,<3'"1SD7XGPWT2,?6O& M*40MTO::Q'=]KX;0Y.-PMP8^_3#<"RUJVM4G:>?Y.A?R[3\$F;W@_%9 KL; M8<7T=9,\"DV3.M.+I-T\J9GMS\.@[_D#Y_G0B/,@SW=[_>.H:4U4K]O>1QW) MZE2R.E99L]4*\DE^4&ED3K'\YA )'K&$4;,4-,D#R BXMFBUC^3U6J[[6UT= MO(,+6WXM;FK'^5XK.,4=6=2M+.K^1XLF.&$8SQA?DS^W('.CE(G"M=[4!]9@ M?G5-IIDT47H#QDM9Z4UA!5)"G+M\R^@2*U"_$EP1\XI<<_8/ MQ$TR2D7&-1$K\L1E]9S4HYL8%#.E)5MF&E_.J.3X.92!8Y_"+L3)(ELJ%C,J M&=2NG@7KX$#L!:']2FC?*O37*?7/*/F]2_:'%:O0RJJL8ZS56Z$4F5 I7W$? MLZ,R5I:I'YZO31WW$A?/W;=!]Q?8X#K,BDE73BIR]0.HO*YM?O:!/)>\(E19 MYI=WT+R]CY?P2"G02/8[3;*"ZRC!;1WE$5C\+$+G&-/$**BE[I]QZK2#SBGSFJA^VSUI>751W?"2 MOGTK]^R]_(_9_&YT_\/VL??]T[.W&7N)EDT3]^IF8J.59EDMU]I:\^R#!>YY M#SWFO6]JGKV=W,\>O\[FMZ/[Z<*6;]]5/'M;^9]]L _6O>B#<[#I3D&N\\.+ M(I'I%L76M7I:'9!&^;'@Y/G8')SRS?P^37'JNJ-RS;#/)[#"E&ZKAT;+XB!3 MW&BQS;?V2Z'QH)!?;O#P!]($X/N5P.U]>6,&J(Z3PW\!4$L#!!0 ( /A; M4E17@GK!F ( /,& 9 >&PO=V]R:W-H965T[RJ>,905!"IDP&HE]O,(>R-(FTC']M3J?;TA!WQ]OL/ZQW[65!),QY^9?F MJI@Z(P?EL"3K4CWRS4]H_5B!&2^E?:)-B_46_/88?@ MQT<(N"7@/B$\0@A:0O!50M@20GLRC15[#BE1))D(OD'"H'4V,["':=G:/F7F MLS\IH5>IYJGD-U> _!A=HCN6\0K0,WD'J<,YKVK.@"F)^'*[>/Z+2WF!9J#_ M-]AGG*>@""WUZB5Z>4K1^=D%.D.4H>>"KR5AN9RX2@LVV[I9*V[6B,-'Q/D8 MW7.F"HF^LQSR_02N=MK9Q5N[,WPR8PK9%0K\;PA[V#\@:/YUNG> GGZ9[H]/ MN FZCQ?8?.&Q?/KXI:+9H9-MF)%EFMI_2T(51YWR MZ*3R]K]?-%5 FTB9*CAD)AI^",\?]73.AZ@8C\.>Y72(&OG^..C9<7?:005B M9=NJ1!E?,]642C?;=>Y;V[!Z\S/=T9L&_)FFN0[NB5A1)E$)2YW2N[K6FD33 M8IM \=HVG057NH798:%O)1 &H->77#>>-C ;=/=<\A]02P,$% @ ^%M2 M5"EOV5U- P ) L !D !X;"]W;W)K&ULG59= M;YLP%/TK%MK#*FT%F^\JB=2&3=M#IVKIMF<7;A)4L#/;:;I_/]M0F@!!55\2 MVYQS?.Z]QMS9@8M'N050Z+FNF)P[6Z5V5ZXK\RW45%[R'3#]9,U%396>BHTK M=P)H84EUY1+/B]R:ELQ9S.S:G5C,^%Y5)8,[@>2^KJGX=P,5/\P=[+PL_"PW M6V46W,5L1S>P O5K=R?TS.U4BK(&)DO.D(#UW+G&5QDFAF 1OTLXR*,Q,J$\ M,91U!!KHP$U7]/L(2J,DK:Q]]6U.GV-,3C\8OZ5QN\#N:!2ECR MZD]9J.W<21Q4P)KN*_63'[Y!&U!H]')>2?N+#BW6<09, M2<37Z$[PI]+671^[4]K'#!0M*WFA!7ZM,O3QPP7Z@$J&[K=\+RDKY,Q5VK79 MV\U;AS>-0W+&(2;HEC.UE>@+*Z X%7!UN%W,Y"7F&S*IF$%^B7S\"1&/X!%# MR[?3O1%Z]F8Z3B>B\;L*^E;//Z.WW NA2W,U(15T4H&5"LY(?84"!*W&:M00 M0TLT=\G3(@Q#,G.?CO,V!!%,DE-0-@1%:8H[T(GQL#,>3AI?*:I@S'9#BXXV M2^.PYWJ(P=B/>JZ'()(D9-QUU+F.IM/-A;Z6V)CO:+#=YRCH^1YB, EPS_<( M* R"<=]QYSN>/'$9K$&?N:E7,>FDDO>>N&28 C^.>SD8@J+4ZR4J&X)"3,Z< MN+0SGK[OQ*5#VPGNEVX$%/C]T@U!)$K'76/O];KWWGOF6N:)*XR3GJWE"(Q@ MK^=]3"OQSKD_^ECA2?>_:;6GME^XKG3'0ED^6H-6Y<1B3 :!#%%).@AD"-(O MD'W+]JQV!QZ"<]]^Y1^U"#V-@V M3**<[YEJOJK=:M?J7=L&I[=^8UI VY:\RC3]XRT5FY))5,%:2WJ7L?8DFI:L MF2B^LTW* U>ZY;'#K6YC01B ?K[FNE%I)V:#KC%>_ =02P,$% @ ^%M2 M5"2ETV[J P ^ \ !D !X;"]W;W)K&ULG9=O M;YLZ%,:_BH4T*9/N!4S2_)G22&NRZ>Y%KZIT=WOMPB%! SO7-DWW[7=L*$E6 M8]J]:8'P>_!Y?&R?LSP*^4/M 31YJDJNKH.]UH( ''_)A:R8 MQENYB]1! LLL5)51$L?3J&(%#U9+^^Q.KI:BUF7!X4X255<5DS]OH!3'ZX & MSP^VQ6ZOS8-HM3RP'=R#_N]P)_$NZE2RH@*N"L&)A/PZ^$@_;.C8 /:-;P4< MU=DU,:$\"/'#W'S)KH/8C A*2+618/CO$=90ED8)Q_%_*QITWS3@^?6S^F<; M/ ;SP!2L1?F]R/3^.I@')(.BN,_T 9T9?1242K[EQS;=^. I+72HFIA M'$%5\.8_>VJ-. /HM =(6B#Y'9CT .,6&+\6F+3 Q#K3A&)]V##-5DLICD2: MMU'-7%@S+8WA%]S,^[V6^&N!G%[]*S00.B5_DR\\%160K^P)%-YN(14\+>078I$&&H7;S)<[PWB5=Q VE(QO0ODL0)=0QH M_7H\=N";5^-TX8EFW,W>V.I->O2>IT2CUZJ;%HFNN[SV:R4TC.-W+DO^D-N\ MG;LP8=*9,/$*F7P$:\&(XT:)F9JWMCP A[S0SL3S:R8A=7OQ9]CFS=B%$U>= M$U=^)_9,@MT&,X(K$\\&95>O*WZ_TB@)Q_$[EW'K 9#V@9L!, ZO7H 7+DP[ M%Z9>I6^LK)M-BY5XK#&> F$[/ *5-B<"2(GVF'1A2H%6+G/\'YB'"W=R^+&D M;YWX,1I.O,DQZVR9>776N)$6? =<8V[@N6V6B&Y.[ZQ.^]+$KSF:F9B<:>(' MXSXOWHQ=>#'OO)A[=;:@@,ET3QC/,"<>L?PY5-89-*/0+B/\@J-)KQ$#X#B< M]:R7 3 )Y_[ULNC,6/@/$2&Q.N+VV"!9@0>X1"L*5KIL\$OAH)(>&P; V!%- M8\,@^'*_N;"!QJ=2*/9JF8I%8F;(1W#N"@/XB/;FP #I6.)-[(.<_]R@9U4@ M]2K=2?%8V%H>:S@)NI:\2X7464P,".*\].3U>HBT;CA388 OS:#(!80T[=4QZ=M405R)UM+16>?#773;?0/>W:UX^V:?OM^8UI:VVK M=9)I>N);)G=85) 2&PO=V]R M:W-H965T9A+[8HW1T_/)+W)6=G(5_4'D"CUY)Q M-9_LM3[<>IXJ]E 2=2,.P,V7K9 ET:8I=YXZ2"";RJED7N#[B5<2RB>+6?7N M02YFXJ@9Y? @D3J6)9$_/@,3Y_D$3WZ^>*2[O;8OO,7L0';P!/K;X4&:EM=$ MV= 2N**"(PG;^>0.WRYQ;ATJBW\HG-75,[)#60OQ8AOWF_G$MT3 H- V!#%_ M)U@"8S:2X?BW#CII^K2.U\\_H_]>#=X,9DT4+ 7[3C=Z/Y]D$[2!+3DR_2C. M?T(]H-C&*P13U2\ZU[;^!!5'I459.QN"DO++/WFM$W'E@*,!AZ!V"-[K$-8. M8370"UDUK!719#&3XHRDM3;1[$.5F\K;C(9R.XU/6IJOU/CIQ5>A >$$3=$] M+T0)Z)F\@C+-)[KC=$L+PC5:BO(@.'"MD-BB%6Q!2MA84W2G%)C7A&_0%TK6 ME%%-C?_'%6A"F?ID(GU[6J&/'SZA#XAR]+P71V6LU$6-^OF"&@R@ MKJ"X02'^#05^@!WNR_>[^V_=/9.T)G-!D[F@BA<.QJO3H$T:2)6&VY&P81,V MK,)& V'OBD(>351X-3M5@3-/EPAQ%<'NT],BB+%)R>DZ&PXC',>-T1NXJ(&+ M1N&^ !E NO@E5[WA+/0[2'VC,,XS-U+<(,6C2-^)E(372]!LE^(%B8.M$$[, MN$<0!6DW@),4]Q"F.,SSO(OJL,MQ.%!K<%OS<3#*^BPT8?:8T"W]3MC ,:78 M[TZ\R\P/TH%=C5LAP>'[!8JUXCRF4KA5 CPN!2LPQ\:"5G/F''R_V$]#G.5I M=_0NNR!)![8D;G4!CPO#'T)LSI0Q)UR_Q$_S[*IDU6P.LS2+AU91JP7X?Q # MW*_UTRC,HR[CF&B\Y6L% 8\KPK#,XWZEGSJ$WF4V+/6XU00\+@J.[7>UL)W M_7H_C=+\2C-K8I==A(.AZM9* Q[7!EN!G< _G+AY[]1F$I?EO97IL@NS..K@ M>E4*,=@:1_\F-1'DY:9S:6AQJ"X+:Z'-U:-ZW)O;(4AK8+YO MA;DPU U[_VCNFXO_ %!+ P04 " #X6U)42MC75>$" "R!P &0 'AL M+W=O++A:I-;>&7QGL-%;8V(C>9+RV4ZN\XDWL$# (3-6@>+K!1; MN15"C)^MIM=]TCINC]_5O[C8,98GJF$A^0^6FV+BC3R2PXK6W-S)S5=HXQE: MO4QR[9YDT]H./)+5VLBR=4:"DHGF35_;<]AR")(##F'K$.XZQ <DW:8 $"3DGUR*3)9 ' M^@H:IW>029$QSJ@[;KDB+\GIR1DY(4R0AT+6&L7TV#<8BR7RLY9[WG"'![B# MD-Q(80IM02#_*.#C(70G$;Z?Q#P\JKB$[()$P2<2#L*@!VCQ]^Z#(SA1]V,B MIQXR&EZ/.Z -3W#'%1YEF>5U.T*9D!6*P68#&] 51]W(YYL(UT&.]C[-E$8]U,/.^KA_U!7 MBN&R9>Y-P^$>4#K:A=ZWB=-A/W3202='H3&=L"AKP$K)J<$;922!UXJI[CIJ M0TUMP,7 6)T/T&C)-YAZC': M3O6&R=\J?R6HM>L*FF2V,C7WOUOM&L_,U=N=]3DVI*9__)%INMD-55C\-.&P M0LG!18I(JND0S<3(RA79)VFP9+MA@4T5E#7 _97$0MM.[ >Z-CW]#5!+ P04 M " #X6U)4.#;FJ@P# Y"@ &0 'AL+W=OX]C[NVO*7O@2P"!'O.,\(&Q%**X,$T^6T*.^3DM M@,@W<\IR+.24+4Q>,,"))N69Z5A6S\QQ2HQA7Z_=L6&?EB)+"=PQQ,L\Q^QI M!!E=#PS;>%X8IXNE4 OFL%_@!4Q W!=W3,[,1B5)9G,%'.XHMG/-!'+@1$:*($Y+C,QINM/4"?D*[T9S;C^1>L::QEH5G)! M\YHL(\A34CWQ8VW$!L'N[2 X-<%I$[P=!+J5+0/,19XV&=T MC9A"2S4UT&9JMDP_)>K<)X+)MZGDB>%7*@#9(?J()K"0YRG0& K*1$H6)I!PSR-0> TXV>2>3^)T>G)&3I!*4'?E[3D MF"2\;PH9L]K9G-7QC:KXG!WQV0ZZI40L.;HF"22O!4R9;).Q\YSQR-FK&,/L M'+GV!^18CMT1T-7A=*N#'A],MZ,]V;C-^;E:S]NA5Y]0E[$5T==$=?U70R\, MK2CLFZO-=#M@KN=&_FM8W 'SP\!Y47L5OM>$[^T-O_ZFY,=6?T0<_;J%? KL M]QYS_$;=/]:.-0?]1?','#W O M:+8/CG4OV,K7#3V9O)R^=WNA4WXX3OQ..9K0DHBHVS6K3 M_USJJM]:'ZF^2-?J%YFJJ;K%;)'*:IK!7$I:YX&,B55]2C41M-"5>TJ%[ /T M<"E[.V *(-_/J:S>]41MT'2+PW]02P,$% @ ^%M25/,D]%P# P 3@D M !D !X;"]W;W)K&ULK59=3]LP%/TK5K0'D ;Y M_D)M)-J QB0V1,?V,.W!36Z;B,3.;)>@Z3S(H,3^G%1#Y9$%9B86DESHD6C>JU.Q:-Z$H4.8$[AOBJ+#'[,X&"KL>:J6T6[O-E)M2"'HTJO(09 MB(?JCLF9WD5)\Q((SRE!#!9C[=*\B$.%KP'?80E&H0#*-WVU,K=M2$;?'F^C7M7:I98XY3&GQ(T]%-M8"#:6P MP*M"W-/U)VCUN"I>0@M>_Z)UBS4TE*RXH&5+EAF4.6G^\7/KPQ;!]/80K)9@ M]0G.'H+=$NQC"4Y+<&IG&BFU#S$6.!HQND9,H64T-:C-K-E2?DY4V6>"R:>Y MY(GH"Q6 S "=H1DL93D%NH>*,I&3I5R[(0DM 5TS6J*O%3"L:L7120P"YP4_ ME9"'68Q./IRB#R@GZ%M&5QR3E(]T(9-36^A)F\BD2<3:DXAIH5M*1,;1%4DA M?1U EZHZ:=9&VL0Z&#&&Y!S9YD=D&98YD-#T>+HQ0(^/IIOA 35V5RB[CN?L MB=>68J%*0;M2#/GG]^TY. M-G&\+?5A8!AFS\DAE._U_(YW4:81N*$S;*77:?'>8.75BDF!_^.AW^WKOY.' M_HYNWS9Z#NYB3-,W_)Z# RC7\/UA X-.2/ & Z>4R8^A/(CR5.*BH E61U-^ MX-!G7&&RX1QA;-CE$[Z3L>'.JWGF!G80]KP=@AF>;??,'8 Y=F"Z/7?UK4Y3 M EO6'9NCA*Z(:+[,W6IW*;BL>V%O?2(O"TUO?PG3W#1N,5OFLLD4L) AC7-? M)L6:[MU,!*WJ?C:G0G;'>IC)"P\P!9#/%U3VM':B-NBN4-$_4$L#!!0 ( M /A;4E0Y1>L1MP( (T( 9 >&PO=V]R:W-H965TYCVX+:WB45B9[9+0=J/G^V& MJ*0!%?4E\<Z8G+DE$HU9ZXK9R741)[P!IB>67!1 M$Z6[HG!E(X#,+:FN7.QYL5L3RIQQ9L>NQ3CC2U51!M<"R65=$_%X 15?C1S? M>1JXH46IS( [SAI2P 34;7,M=,_MHLQI#4Q2SI" Q<@Y]\_RU. MX">%E=QH M(Z-DROF=Z7R>CQS/) 05S)2)0/3K'BZAJDP@G<;?-J;3+6F(F^VGZ!^L=JUE M2B1<\NH7G:MRY*0.FL."+"MUPU>?H-43F7@S7DG[1*L6ZSEHMI2*URU99U!3 MMGZ3A]:'#8(?OD# +0'O2@A:0K K(6P)H75F+<7ZD!-%QIG@*R0,6D8@R*TDD>:'!$3I E*$?)5]*PN8R]@?HE[O3O0%ZOC/=/WU.=[7#G.$+\3:,)-;((4/6(2(;PES7^S%.O2",,_=^4_@0#,=Q#Y8/P.(@\7$'>R8D MZ(0$KPKYWH @]G2TYT6BWU=03T'\0?_0+:-*2YPHHD!V)^H)\(J/8;=\N+^/ MZQ#QIG(_2CR_Y^,P#/=@^1#,\Q-_V,>H$Q+MX>/[I= ?]K<8&'?KQOL;&&]) MCDZ#-.WYMQ,JWT:%D;U30^XEG8ID#_>^D(:PMYB7=LNF^YN7;MV["$=)S[MM M4!+U0?DV*(UP__ZZ&]]^4ZBOB"@HDZB"A:9Y)XGFBW7Q6W<4;VPYF'*EBXMM MEOI_ 80!Z/D%UR6A[9@*T_V!C/\#4$L#!!0 ( /A;4E2M02=J\ ( "8) M 9 >&PO=V]R:W-H965TFR3<)Y(1?T1T4YCEA_V:0T?W8L(W7A8C'8EA M">)QMV!R9C8L49I#P5-:( ;;L3&UK\- Q>N GRGL^<$8*25K2I_4Y#8:&Y9* M"#+8",5 Y.,9;B#+%)%,XV_-:31'*N#A^)7]J]8NM:P)AQN:_4HCD8R-H8$B MV)(R$P]T_PUJ/0/%MZ$9U[]H7\=:!MJ47-"\!LL,\K2HGN2E]N$ 8'LG +@& MX#; /0%P:H#S48!; USM3"5%^Q 2028C1O>(J6C)I@;:3(V6\M-"E7TIF-Q- M)4Y,[JD 9 _1)5I"+,LIT /L*!-I$$+6P?2>CF MXW#K"#S\,-P.>M0X304=S>>>X.O4B!S6*'NK$=$U.E: ZH"!/D!])YXGCHLM MF=SSH2O=*->W;.M]5-B-\C!VWJ+>:70;C6ZOQL?[V]4\1,O5=#5?]G@V:/@& MG^U9=8!WH!-[7C!L>78D*@B&;LNS;I0[L+%SW#.OT>CU:RR9; [H]QWD:V!_ M>ESS&T;_LUWS.TI]QV^;U@VRO8'?-NU(E.N[)TP;-A*'O1*_3Q?3^QZK@H8G M^&RK@LX?R7: 6SYU8[#CN2V;S(,.D@.+=2?F:$/+0E0?UF:U:?93 MW>-:ZS-Y":AZ]AM-=8.X(RQ.I?X,MI+2NO)E2JSJRM5$T)WN4VLJ9-?3PT1> M9("I +F_I;)7U1-U0',UFOP'4$L#!!0 ( /A;4E3:5;D:UP( ,P( 9 M >&PO=V]R:W-H965TICV8Y(-836)FF]+MU\]VTI2&$/6A+^#+.2??.09_&>T9 M?Q09@$3/15Z*L95)N;VT;9%D4!!QP;90JITUXP61:LHWMMAR(*DA%;GM.4Y@ M%X26UF1DUN9\,F([F=,2YAR)75$0_G<&.=N/+==Z6;BGFTSJ!7LRVI(-+$ ^ M;.=Q&):4%E(*R$G%8CZVI>QD/-=X ?E#8BX,QTDY6C#WJR4TZMAQ=$.20 M2*U U-<37$&>:R%5QI]:TVH>J8F'XQ?UK\:[\K(B JY8_I.F,AM;D8526)-= M+N_9_AO4?GRME[!A5C2"[0P/V,/,=S.PJZ>C_=Z:#'[Z:[PQXW@^:\!D8/G]1K MG0@Y.)&NN"LYW\CI.^!I@AT<12/[Z3"#8]3 \X?X+2KN0#E1\(IZXP@WCG"O MHX>[F^5UC!;+Z?)ZT9.0W^CY'YM0)1<DF*R95;S+#3+UN -< M;]FJJ/4$_V Y@5F\A]02P,$% @ M^%M25$]; %LW P ,!, T !X;"]S='EL97,N>&ULW5C1;MHP%/V5R)VF M5IH:(&M*5D#:D"I-VJ9*[*D,MO"V6N7@7N?O+FY*1S?W:U:S^M@#,2>DDO#B ][W1P8@ Q\O@P M\GW<&/6EG_K7CY_;Y"WN#;9FQ\C[!^G>([LB#NNTC@:9DIOL1L09;&2:L^"! MBB$94\$GFH-71G,N5L[< \-4":4#8\O*2NF"I7QT<-?UH.)JGIQ+I:O8+H+[ MG-3#=X!U#P1R(1J!/>(,HT%!C6%:7MM.-;@R/H&"NGVW*JS"F::K;N^";!RJ MFPTR43IEN@G3)6O3:"!8!G(TG\WA;E01 FB,RFTCY72F)*TTK#WJAJ6=,B%N MX7'\FFUQ+[-63CN04=DTK:"ZZ6A SF3,W^8,#C@9T[1?,E>:/-AJ4RM0:F";! M ].&3]N6[YH6=VQIUN6TS'#-O1>H^>^N\XQ)IJEHB[:U?\RK_&S%]?[U+S17 M7RN[BKTBH\OCUUCOV<&R[LUYFC+YY*1@Z0V=V)\#6_QV?,HRNA#FK@&'9-/^S%*^ MR)-FU TL1#UJT_X$T^O&S3G0QN(R94N6CNNNGDVJ9F ;-FI]@<,N/JA<7Q^R3V\L\T M2:(HCK$5'8^]"L;8NL4QO/ULF#;PP.) I#];:SS;>(7LKP,LI_LJ!)LI7HG8 M3/&U!L2_;N"1)/YL8W' \L"5CL0WQ\':LKO$T6054P;]@3C2))@"-2BOT;C M&%F=&%[^_&!/210EB1\!S*\@BC $GD8-/E_G;@2=&A(E@6FD7)TZ(=I7\=Q_:0T^FO8R*T>EOH^7%H5 J.W&,EC'%B MM/XU@LD/['X 4$L#!!0 ( /A;4E0UL'2-W@4 *@V / >&PO=V]R M:V)O;VLN>&ULQ9M+;]LX$(#_"N%3]Y"U]7:"ID#;I%T#:1O$0?=8T#)M$Y%( MKQY)TU_?H8SL#EMSL!>/3K8>ECX-17[#AU\_V>9A9>V#^%Y7IKV<[+IN?S&= MMN5.U;+]T^Z5@2,;V]2R@\UF.VWWC9+K=J=45U?3>#;+I[749O+F]QT.[YJ]=3^=]QMBD?=ZI6N=/=\.1F^5VHB:FUTK7^H]>5D-A'M MSC[]91O]PYI.5LNRL55U.8D.![ZJIM/E;[N7#O)>KMIA3R=7=Q) +B?Y#"ZX MT4W;#6<,UY? ^*C@Y,-6W]D/NNI4D.<6Q4Y0!-N]/[=B*,K-7EY.44\=:LQ;7I($AB80Z7 M@G/=D\*M%^O#4W> BV+87&@XT"S6 _CI(-_#MJWT&NZ^%N]D)4VIQ!#<%@'& M!& \&J!X=2L19$) )HR02P?A?M *NQ'O;;U'D"D!F8X&N=S)!D%F!&0V7B1E MNT.0.0&9GQ;R,[2,(A)GXK/L^D8YN'=]JXUJ<:4I","" 3 &P&5?U[)Y'LI8 M;XV&WTO3(<@Y 3EG@$P \DX]*M,K1'5.4)TS4*6N;.$&"U/:6HE;U;AZ7%LC M<*L]HYKM&0-F!I@O+YX#7&ES.!-3DG(YL5T&RAPH/UJ[?M)5)22X\$NW@X N MO/5"0 M%55@0E7VC>ZT\LJB4XLFD,; M/@/.A8'FI[/-,T:C[!*QZ,7YY0-4:%-" BN^K"J]_;UR4XZ)."03.SE6PAM7!IF3*M]-Y'2CL1AW2^&C*S0Q,.0<28E&EB#M-$^5"=!V??R^]^ M$,D^#(=@(F>8&VBKM[_V_V+**C&'52*GE:7:#OW5.[6WT"TW6XQ(*24^L5)0 MZNK>0ML;1R=NH:-0^N:+*:7$'$I!":UX=>\6VWV*,28DE MYA!+,+?%*7A,B27F$$LHN?6C28DEYA!+*+GU,!/*,PF'9X+)+2[TA/),PN&9 M4';K1Y,23L(B'"^[/=8:)>28&8MX HF9'TI*/@E'?P8E9D?C2&DG8>G)!#(T M/XZ4?!*67LVO&=K1:%+R25AZ-4?3(<>*,2GY)!SR"8WP^85.R2?AD ].B<[$ ME6[E=MLHEP7C@7%*/BF'?(*)48(Q*?FD'/()8J88DY)/RB&?4/[FO9LIY9^4 MPS]!3*_0R5D;#O\$TTP/D[)0RF&A(*;W;E(62CDL%,3,,"9EH93#0D','&-2 M%DHY+!3L6WCO)F6A=-0N$'XW,\I"V9A=(*_=S"@+91P6"F+B0L\H"V4<%@IB M>H5.62CCL%"P0^E%D[)0-N:LCA]-$*8N KEE(5RE@F?$";.D'+*0CG+A$\($V=(.66A MG&4@+H198$S*0OFH8W%SC$E9*&<9BPMAGF-,RD(YBX6.8WX;E@W]BTFN8F.Q M$!K9//,66&),RD(YBX4\S.&+N/[NBAUC4A;*62SD87YRRP,/\Q<68U(6RIG7 M&<"7OY7>[MR8\=M'7.@%9:%BS&4'GM,+RD+%*,L.Q*LKZ'#HREL-2EFH8+'0 M;YAG0YOD+44H* L5+!8Z@GD8V<:8E(4*%@L=P;Q3I34EQJ0L5+!8*!!-+WLO M* L5X\P+':+I8Y(KJD><%P)6C$E9J&"Q4 AS@3$I"Q4L%@IAWB#,.66A.8N% M0IC7&).RT)S%0B',*XQ)66@^6&@ZG-R^>;V&CKY1Z\]PBQ;VE[(J;QOA/H;% MDG&:N063F[ZJWL.^+^;&RO7+'ZU>_B3VYB=02P,$% @ ^%M25&;-$3IT M @ ;3 !H !X;"]? M(>#I5SFTX[X[#;O]>5A\' ^G857MQO'\HZZ']:X%GV MV_KW5=6_O*6JGCM(($CF#U((TOF# M#()L_J ,07G^((<@GS\H("CF#VH@J)D_Z!&"'NBOJK01Z*^JM!'HKZJT$>BOJK01Z*^JM!'HK MZJT$>AOJ;01Z&^IM!'H;ZFT$>AOJ;01ZV^1E-X'>AGH;@=Z&>AN!WH9Z&X'> MAGH;@=Z&>AN!WAGUS@1Z9]0[$^B=4>],H'=&O3.!WAGUS@1ZY\G'2@*],^J= M"?3.J'CGH[@=Z.>CN!WHYZ.X'>@7H'@=Z!>@>!WH%Z!X'>@7H'@=Z! M>@>!WH%Z!X'>@7H'@=XQ^5F00.] O8- [T"]@T#O!O5N"/1N4.^&0.\&]6Z^ M4^]A_#R4X=;SM<;K?R?5X^7<7!E&ULS=K?3MLP M% ;P5ZERBQK7_\M$N=FXW;C8"WC)*8V:Q)9MH+S]G!20-K$*5*1]-XU:V^<[ M\9%^5[WZ^10H+0Y#/Z9-M]*N"^FB;*C8FPG3RK\#GL_]>* 8NY86MR[F[VXHN]BA M9RD_]93JTR7>Z-%OMUU#K6_NAW*D3B&2:]..* ]]?2QZ<3HYEQNFXR<_.W\N M]'T[1;:M^97:[WT-+_EL_F/\]6]0 M2P$"% ,4 " #X6U)4!T%-8H$ "Q $ @ $ M9&]C4')O<',O87!P+GAM;%!+ 0(4 Q0 ( /A;4E3;(888[@ "L" 1 M " :\ !D;V-0&UL4$L! A0#% @ ^%M25) X0$H;!@ QH !@ M ("!#0@ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0# M% @ ^%M25(Z=$->G!0 ^14 !@ ("!+!@ 'AL+W=O M !X;"]W;W)K&PO=V]R:W-H965T&UL4$L! A0#% @ ^%M25.E@=:!/ M P % < !@ ("!MRT 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ ^%M25!R9(/LR! Q@D !D M ("!P4 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ ^%M25.39V &6 P , @ !D ("!5% 'AL M+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ ^%M2 M5"FQ*?C3 @ Y 4 !D ("!1%P 'AL+W=O&PO=V]R:W-H965TK&I0( ,@% 9 " @;%A !X;"]W;W)K M&UL4$L! A0#% @ ^%M25)*38 ;$"@ Z!P M !D ("!C60 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ ^%M25)V4WSCM!P W1( !D M ("!?7@ 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0# M% @ ^%M25.^!!*#U# ?RL !D ("!GX@ 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ ^%M25)T^ M]M]% P /P< !D ("!7YP 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ ^%M25$E$-[S+ P N@D !D M ("!EZ< 'AL+W=O&PO M=V]R:W-H965T&UL4$L! A0#% @ ^%M25&H]X3ZM!P (!8 !D ("! M9;$ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% M @ ^%M25/'/NO\'!@ ]PX !D ("!;\$ 'AL+W=O&UL4$L! A0#% @ ^%M25%7F%-\5 M! WQ !D ("!FM$ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ ^%M25(?C,AR$! #1, !D M ("!T]L 'AL+W=OZP6&W0$ G$0 &0 @(&.X >&PO=V]R M:W-H965T&UL M4$L! A0#% @ ^%M25.05HV7- P ;! !D ("!!.D M 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ M^%M25,9UX63R 0 J@, !D ("!9?8 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ ^%M25- L#V;C P MLQ !D ("!3 ! 'AL+W=O&PO=V]R:W-H965T"/@( %,% 9 " @=D& 0!X;"]W;W)K&UL4$L! A0#% @ ^%M25&KC[GDW P #0H !D M ("!3@D! 'AL+W=O!0 &0 @(&\# $ >&PO=V]R:W-H M965T&UL4$L! M A0#% @ ^%M25$P.T9I3 P N@D !D ("!41$! 'AL M+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ ^%M2 M5#D+.@F0 P I0P !D ("!%A\! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ ^%M25%FK)^.^ P "@X M !D ("!7BP! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ ^%M25%^.[5FX @ V0@ !D M ("!'#@! 'AL+W=O"P &0 @($+.P$ >&PO=V]R:W-H965T M&UL4$L! A0# M% @ ^%M25)VYM&PO=V]R:W-H965T&UL4$L! A0#% @ ^%M25%>" M>L&8 @ \P8 !D ("!/$T! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ ^%M25&OO:3T%! >PX !D M ("!L%$" "R!P &0 @('L6P$ >&PO M=V]R:W-H965T&UL4$L! A0#% @ ^%M25/,D]%P# P 3@D !D ("! M1V(! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% M @ ^%M25-I5N1K7 @ S @ !D ("!EFL! 'AL+W=O]R 0!X M;"]W;W)K8F]O:RYX;6Q02P$"% ,4 " #X6U)49LT1.G0" !M, &@ M @ 'Z> $ >&PO7W)E;',O=V]R:V)O;VLN>&UL+G)E;'-02P$" M% ,4 " #X6U)4$@%B4"$" @+P $P @ &F>P$ 6T-O F;G1E;G1?5'EP97-=+GAM;%!+!08 6@!: *T8 #X?0$ ! end XML 102 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 103 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 104 FilingSummary.xml IDEA: XBRL DOCUMENT 3.22.0.1 html 234 494 1 false 65 0 false 8 false false R1.htm 000 - Document - Document And Entity Information Sheet http://www.protolabs.com/20211231/role/statement-document-and-entity-information Document And Entity Information Cover 1 false false R2.htm 001 - Statement - Consolidated Balance Sheets Sheet http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets- Consolidated Balance Sheets Statements 2 false false R3.htm 002 - Statement - Consolidated Balance Sheets (Parentheticals) Sheet http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-parentheticals Consolidated Balance Sheets (Parentheticals) Statements 3 false false R4.htm 003 - Statement - Consolidated Statements of Comprehensive Income Sheet http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-comprehensive-income- Consolidated Statements of Comprehensive Income Statements 4 false false R5.htm 004 - Statement - Consolidated Statements of Shareholders' Equity Sheet http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-shareholders-equity- Consolidated Statements of Shareholders' Equity Statements 5 false false R6.htm 005 - Statement - Consolidated Statements of Cash Flows Sheet http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows- Consolidated Statements of Cash Flows Statements 6 false false R7.htm 006 - Disclosure - Note 1 - Nature of Business Sheet http://www.protolabs.com/20211231/role/statement-note-1-nature-of-business Note 1 - Nature of Business Notes 7 false false R8.htm 007 - Disclosure - Note 2 - Summary of Significant Accounting Policies Sheet http://www.protolabs.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies- Note 2 - Summary of Significant Accounting Policies Notes 8 false false R9.htm 008 - Disclosure - Note 3 - Revenue Sheet http://www.protolabs.com/20211231/role/statement-note-3-revenue Note 3 - Revenue Notes 9 false false R10.htm 009 - Disclosure - Note 4 - Net Income Per Common Share Sheet http://www.protolabs.com/20211231/role/statement-note-4-net-income-per-common-share Note 4 - Net Income Per Common Share Notes 10 false false R11.htm 010 - Disclosure - Note 5 - Business Combinations Sheet http://www.protolabs.com/20211231/role/statement-note-5-business-combinations Note 5 - Business Combinations Notes 11 false false R12.htm 011 - Disclosure - Note 6 - Goodwill and Other Intangible Assets Sheet http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets Note 6 - Goodwill and Other Intangible Assets Notes 12 false false R13.htm 012 - Disclosure - Note 7 - Fair Value Measurements Sheet http://www.protolabs.com/20211231/role/statement-note-7-fair-value-measurements Note 7 - Fair Value Measurements Notes 13 false false R14.htm 013 - Disclosure - Note 8 - Marketable Securities Sheet http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities Note 8 - Marketable Securities Notes 14 false false R15.htm 014 - Disclosure - Note 9 - Property and Equipment Sheet http://www.protolabs.com/20211231/role/statement-note-9-property-and-equipment Note 9 - Property and Equipment Notes 15 false false R16.htm 015 - Disclosure - Note 10 - Inventory Sheet http://www.protolabs.com/20211231/role/statement-note-10-inventory Note 10 - Inventory Notes 16 false false R17.htm 016 - Disclosure - Note 11 - Financing Obligations Sheet http://www.protolabs.com/20211231/role/statement-note-11-financing-obligations Note 11 - Financing Obligations Notes 17 false false R18.htm 017 - Disclosure - Note 12 - Employee Benefit Plans Sheet http://www.protolabs.com/20211231/role/statement-note-12-employee-benefit-plans Note 12 - Employee Benefit Plans Notes 18 false false R19.htm 018 - Disclosure - Note 13 - Stock-based Compensation Sheet http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation Note 13 - Stock-based Compensation Notes 19 false false R20.htm 019 - Disclosure - Note 14 - Leases Sheet http://www.protolabs.com/20211231/role/statement-note-14-leases Note 14 - Leases Notes 20 false false R21.htm 020 - Disclosure - Note 15 - Accumulated Other Comprehensive Income (Loss) Sheet http://www.protolabs.com/20211231/role/statement-note-15-accumulated-other-comprehensive-income-loss Note 15 - Accumulated Other Comprehensive Income (Loss) Notes 21 false false R22.htm 021 - Disclosure - Note 16 - Income Taxes Sheet http://www.protolabs.com/20211231/role/statement-note-16-income-taxes Note 16 - Income Taxes Notes 22 false false R23.htm 022 - Disclosure - Note 17 - Litigation Sheet http://www.protolabs.com/20211231/role/statement-note-17-litigation Note 17 - Litigation Notes 23 false false R24.htm 023 - Disclosure - Note 18 - Segment Reporting Sheet http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting Note 18 - Segment Reporting Notes 24 false false R25.htm 024 - Disclosure - Significant Accounting Policies (Policies) Sheet http://www.protolabs.com/20211231/role/statement-significant-accounting-policies-policies Significant Accounting Policies (Policies) Policies http://www.protolabs.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies- 25 false false R26.htm 025 - Disclosure - Note 3 - Revenue (Tables) Sheet http://www.protolabs.com/20211231/role/statement-note-3-revenue-tables Note 3 - Revenue (Tables) Tables http://www.protolabs.com/20211231/role/statement-note-3-revenue 26 false false R27.htm 026 - Disclosure - Note 4 - Net Income Per Common Share (Tables) Sheet http://www.protolabs.com/20211231/role/statement-note-4-net-income-per-common-share-tables Note 4 - Net Income Per Common Share (Tables) Tables http://www.protolabs.com/20211231/role/statement-note-4-net-income-per-common-share 27 false false R28.htm 027 - Disclosure - Note 5 - Business Combinations (Tables) Sheet http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-tables Note 5 - Business Combinations (Tables) Tables http://www.protolabs.com/20211231/role/statement-note-5-business-combinations 28 false false R29.htm 028 - Disclosure - Note 6 - Goodwill and Other Intangible Assets (Tables) Sheet http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-tables Note 6 - Goodwill and Other Intangible Assets (Tables) Tables http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets 29 false false R30.htm 029 - Disclosure - Note 7 - Fair Value Measurements (Tables) Sheet http://www.protolabs.com/20211231/role/statement-note-7-fair-value-measurements-tables Note 7 - Fair Value Measurements (Tables) Tables http://www.protolabs.com/20211231/role/statement-note-7-fair-value-measurements 30 false false R31.htm 030 - Disclosure - Note 8 - Marketable Securities (Tables) Sheet http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities-tables Note 8 - Marketable Securities (Tables) Tables http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities 31 false false R32.htm 031 - Disclosure - Note 9 - Property and Equipment (Tables) Sheet http://www.protolabs.com/20211231/role/statement-note-9-property-and-equipment-tables Note 9 - Property and Equipment (Tables) Tables http://www.protolabs.com/20211231/role/statement-note-9-property-and-equipment 32 false false R33.htm 032 - Disclosure - Note 10 - Inventory (Tables) Sheet http://www.protolabs.com/20211231/role/statement-note-10-inventory-tables Note 10 - Inventory (Tables) Tables http://www.protolabs.com/20211231/role/statement-note-10-inventory 33 false false R34.htm 033 - Disclosure - Note 13 - Stock-based Compensation (Tables) Sheet http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-tables Note 13 - Stock-based Compensation (Tables) Tables http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation 34 false false R35.htm 034 - Disclosure - Note 14 - Leases (Tables) Sheet http://www.protolabs.com/20211231/role/statement-note-14-leases-tables Note 14 - Leases (Tables) Tables http://www.protolabs.com/20211231/role/statement-note-14-leases 35 false false R36.htm 035 - Disclosure - Note 15 - Accumulated Other Comprehensive Income (Loss) (Tables) Sheet http://www.protolabs.com/20211231/role/statement-note-15-accumulated-other-comprehensive-income-loss-tables Note 15 - Accumulated Other Comprehensive Income (Loss) (Tables) Tables http://www.protolabs.com/20211231/role/statement-note-15-accumulated-other-comprehensive-income-loss 36 false false R37.htm 036 - Disclosure - Note 16 - Income Taxes (Tables) Sheet http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-tables Note 16 - Income Taxes (Tables) Tables http://www.protolabs.com/20211231/role/statement-note-16-income-taxes 37 false false R38.htm 037 - Disclosure - Note 18 - Segment Reporting (Tables) Sheet http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-tables Note 18 - Segment Reporting (Tables) Tables http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting 38 false false R39.htm 038 - Disclosure - Note 2 - Summary of Significant Accounting Policies (Details Textual) Sheet http://www.protolabs.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual Note 2 - Summary of Significant Accounting Policies (Details Textual) Details 39 false false R40.htm 039 - Disclosure - Note 3 - Revenue - Disaggregation of Revenue (Details) Sheet http://www.protolabs.com/20211231/role/statement-note-3-revenue-disaggregation-of-revenue-details Note 3 - Revenue - Disaggregation of Revenue (Details) Details 40 false false R41.htm 040 - Disclosure - Note 4 - Net Income Per Common Share (Details Textual) Sheet http://www.protolabs.com/20211231/role/statement-note-4-net-income-per-common-share-details-textual Note 4 - Net Income Per Common Share (Details Textual) Details http://www.protolabs.com/20211231/role/statement-note-4-net-income-per-common-share-tables 41 false false R42.htm 041 - Disclosure - Note 4 - Net Income Per Common Share - Computation of Basic and Diluted Net Income Per Share (Details) Sheet http://www.protolabs.com/20211231/role/statement-note-4-net-income-per-common-share-computation-of-basic-and-diluted-net-income-per-share-details Note 4 - Net Income Per Common Share - Computation of Basic and Diluted Net Income Per Share (Details) Details 42 false false R43.htm 042 - Disclosure - Note 5 - Business Combinations (Details Textual) Sheet http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-details-textual Note 5 - Business Combinations (Details Textual) Details http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-tables 43 false false R44.htm 043 - Disclosure - Note 5 - Business Combinations - Allocation of Purchase Price for the Acquisition of Rapid (Details) Sheet http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details Note 5 - Business Combinations - Allocation of Purchase Price for the Acquisition of Rapid (Details) Details 44 false false R45.htm 044 - Disclosure - Note 6 - Goodwill and Other Intangible Assets (Details Textual) Sheet http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-details-textual Note 6 - Goodwill and Other Intangible Assets (Details Textual) Details http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-tables 45 false false R46.htm 045 - Disclosure - Note 6 - Goodwill and Other Intangible Assets - Changes in Carrying Amount of Goodwill (Details) Sheet http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-changes-in-carrying-amount-of-goodwill-details Note 6 - Goodwill and Other Intangible Assets - Changes in Carrying Amount of Goodwill (Details) Details 46 false false R47.htm 046 - Disclosure - Note 6 - Goodwill and Other Intangible Assets - Intangible Assets Other Than Goodwill (Details) Sheet http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details Note 6 - Goodwill and Other Intangible Assets - Intangible Assets Other Than Goodwill (Details) Details 47 false false R48.htm 047 - Disclosure - Note 6 - Goodwill and Other Intangible Assets - Estimated Aggregated Amortization Expense (Details) Sheet http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details Note 6 - Goodwill and Other Intangible Assets - Estimated Aggregated Amortization Expense (Details) Details 48 false false R49.htm 048 - Disclosure - Note 7 - Fair Value Measurements (Details Textual) Sheet http://www.protolabs.com/20211231/role/statement-note-7-fair-value-measurements-details-textual Note 7 - Fair Value Measurements (Details Textual) Details http://www.protolabs.com/20211231/role/statement-note-7-fair-value-measurements-tables 49 false false R50.htm 049 - Disclosure - Note 7 - Fair Value Measurements - Fair Value of Financial Assets Measured on a Recurring Basis (Details) Sheet http://www.protolabs.com/20211231/role/statement-note-7-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details Note 7 - Fair Value Measurements - Fair Value of Financial Assets Measured on a Recurring Basis (Details) Details 50 false false R51.htm 050 - Disclosure - Note 8 - Marketable Securities - Short-term and Long-term Available for Sale Securities (Details) Sheet http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities-shortterm-and-longterm-available-for-sale-securities-details Note 8 - Marketable Securities - Short-term and Long-term Available for Sale Securities (Details) Details 51 false false R52.htm 051 - Disclosure - Note 8 - Marketable Securities - Short-term and Long-term Held-to-Maturity Securities (Details) Sheet http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities-shortterm-and-longterm-heldtomaturity-securities-details Note 8 - Marketable Securities - Short-term and Long-term Held-to-Maturity Securities (Details) Details 52 false false R53.htm 052 - Disclosure - Note 8 - Marketable Securities - Balance of Held-to-maturity Debt Securities by Contractual Maturity (Details) Sheet http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities-balance-of-heldtomaturity-debt-securities-by-contractual-maturity-details Note 8 - Marketable Securities - Balance of Held-to-maturity Debt Securities by Contractual Maturity (Details) Details 53 false false R54.htm 053 - Disclosure - Note 9 - Property and Equipment (Details Textual) Sheet http://www.protolabs.com/20211231/role/statement-note-9-property-and-equipment-details-textual Note 9 - Property and Equipment (Details Textual) Details http://www.protolabs.com/20211231/role/statement-note-9-property-and-equipment-tables 54 false false R55.htm 054 - Disclosure - Note 9 - Property and Equipment - Components of Property and Equipment (Details) Sheet http://www.protolabs.com/20211231/role/statement-note-9-property-and-equipment-components-of-property-and-equipment-details Note 9 - Property and Equipment - Components of Property and Equipment (Details) Details 55 false false R56.htm 055 - Disclosure - Note 10 - Inventory - Inventory (Details) Sheet http://www.protolabs.com/20211231/role/statement-note-10-inventory-inventory-details Note 10 - Inventory - Inventory (Details) Details 56 false false R57.htm 056 - Disclosure - Note 11 - Financing Obligations (Details Textual) Sheet http://www.protolabs.com/20211231/role/statement-note-11-financing-obligations-details-textual Note 11 - Financing Obligations (Details Textual) Details http://www.protolabs.com/20211231/role/statement-note-11-financing-obligations 57 false false R58.htm 057 - Disclosure - Note 12 - Employee Benefit Plans (Details Textual) Sheet http://www.protolabs.com/20211231/role/statement-note-12-employee-benefit-plans-details-textual Note 12 - Employee Benefit Plans (Details Textual) Details http://www.protolabs.com/20211231/role/statement-note-12-employee-benefit-plans 58 false false R59.htm 058 - Disclosure - Note 13 - Stock-based Compensation (Details Textual) Sheet http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-details-textual Note 13 - Stock-based Compensation (Details Textual) Details http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-tables 59 false false R60.htm 059 - Disclosure - Note 13 - Stock-based Compensation - Stock-based Compensation Expense (Details) Sheet http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-stockbased-compensation-expense-details Note 13 - Stock-based Compensation - Stock-based Compensation Expense (Details) Details 60 false false R61.htm 060 - Disclosure - Note 13 - Stock-based Compensation - Assumptions Used in the Black-Scholes Option Pricing Model (Details) Sheet http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-assumptions-used-in-the-blackscholes-option-pricing-model-details Note 13 - Stock-based Compensation - Assumptions Used in the Black-Scholes Option Pricing Model (Details) Details 61 false false R62.htm 061 - Disclosure - Note 13 - Stock-based Compensation - Stock Option Activity (Details) Sheet http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-stock-option-activity-details Note 13 - Stock-based Compensation - Stock Option Activity (Details) Details 62 false false R63.htm 062 - Disclosure - Note 13 - Stock-based Compensation - Information about Stock Options Outstanding (Details) Sheet http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-information-about-stock-options-outstanding-details Note 13 - Stock-based Compensation - Information about Stock Options Outstanding (Details) Details 63 false false R64.htm 063 - Disclosure - Note 13 - Stock-based Compensation - Restricted Stock Options (Details) Sheet http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-restricted-stock-options-details Note 13 - Stock-based Compensation - Restricted Stock Options (Details) Details 64 false false R65.htm 064 - Disclosure - Note 13 - Stock-based Compensation - Performance Stock (Details) Sheet http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-performance-stock-details Note 13 - Stock-based Compensation - Performance Stock (Details) Details 65 false false R66.htm 065 - Disclosure - Note 13 - Stock-based Compensation - Assumptions Used in the Valuation of Performance Stock (Details) Sheet http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-assumptions-used-in-the-valuation-of-performance-stock-details Note 13 - Stock-based Compensation - Assumptions Used in the Valuation of Performance Stock (Details) Details 66 false false R67.htm 066 - Disclosure - Note 14 - Leases - Balance Sheet Information (Details) Sheet http://www.protolabs.com/20211231/role/statement-note-14-leases-balance-sheet-information-details Note 14 - Leases - Balance Sheet Information (Details) Details 67 false false R68.htm 067 - Disclosure - Note 14 - Leases - Lease Expense (Details) Sheet http://www.protolabs.com/20211231/role/statement-note-14-leases-lease-expense-details Note 14 - Leases - Lease Expense (Details) Details 68 false false R69.htm 068 - Disclosure - Note 14 - Leases - Maturities of Operating Lease Liabilities (Details) Sheet http://www.protolabs.com/20211231/role/statement-note-14-leases-maturities-of-operating-lease-liabilities-details Note 14 - Leases - Maturities of Operating Lease Liabilities (Details) Details 69 false false R70.htm 069 - Disclosure - Note 14 - Leases - Weighted Average Remaining Terms and Discount Rates (Details) Sheet http://www.protolabs.com/20211231/role/statement-note-14-leases-weighted-average-remaining-terms-and-discount-rates-details Note 14 - Leases - Weighted Average Remaining Terms and Discount Rates (Details) Details 70 false false R71.htm 070 - Disclosure - Note 15 - Accumulated Other Comprehensive Income (Loss) - Other Comprehensive Loss (Details) Sheet http://www.protolabs.com/20211231/role/statement-note-15-accumulated-other-comprehensive-income-loss-other-comprehensive-loss-details Note 15 - Accumulated Other Comprehensive Income (Loss) - Other Comprehensive Loss (Details) Details http://www.protolabs.com/20211231/role/statement-note-15-accumulated-other-comprehensive-income-loss-tables 71 false false R72.htm 071 - Disclosure - Note 16 - Income Taxes (Details Textual) Sheet http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-details-textual Note 16 - Income Taxes (Details Textual) Details http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-tables 72 false false R73.htm 072 - Disclosure - Note 16 - Income Taxes - Components of Income (Loss) Before Income Taxes (Details) Sheet http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-components-of-income-loss-before-income-taxes-details Note 16 - Income Taxes - Components of Income (Loss) Before Income Taxes (Details) Details 73 false false R74.htm 073 - Disclosure - Note 16 - Income Taxes - Significant Components of Provision for Income Taxes (Details) Sheet http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-provision-for-income-taxes-details Note 16 - Income Taxes - Significant Components of Provision for Income Taxes (Details) Details 74 false false R75.htm 074 - Disclosure - Note 16 - Income Taxes - Reconciliation of Federal Statutory Income Tax Rate to Effective Tax Rate (Details) Sheet http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-reconciliation-of-federal-statutory-income-tax-rate-to-effective-tax-rate-details Note 16 - Income Taxes - Reconciliation of Federal Statutory Income Tax Rate to Effective Tax Rate (Details) Details 75 false false R76.htm 075 - Disclosure - Note 16 - Income Taxes - Significant Components of Deferred Tax Assets and Liabilities (Details) Sheet http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-deferred-tax-assets-and-liabilities-details Note 16 - Income Taxes - Significant Components of Deferred Tax Assets and Liabilities (Details) Details 76 false false R77.htm 076 - Disclosure - Note 16 - Income Taxes - Reconciliation of Beginning and Ending Amount of Unrecognized Tax Benefits (Details) Sheet http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-reconciliation-of-beginning-and-ending-amount-of-unrecognized-tax-benefits-details Note 16 - Income Taxes - Reconciliation of Beginning and Ending Amount of Unrecognized Tax Benefits (Details) Details 77 false false R78.htm 077 - Disclosure - Note 18 - Segment Reporting - Revenue From Operations by Reportable Segment (Details) Sheet http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-revenue-from-operations-by-reportable-segment-details Note 18 - Segment Reporting - Revenue From Operations by Reportable Segment (Details) Details 78 false false R79.htm 078 - Disclosure - Note 18 - Segment Reporting - Income From Operations (Details) Sheet http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-income-from-operations-details Note 18 - Segment Reporting - Income From Operations (Details) Details 79 false false R80.htm 079 - Disclosure - Note 18 - Segment Reporting - Long-lived Assets by Geographic Region (Details) Sheet http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-longlived-assets-by-geographic-region-details Note 18 - Segment Reporting - Long-lived Assets by Geographic Region (Details) Details 80 false false R81.htm 080 - Disclosure - Note 18 - Segment Reporting - Expenditures for Additions to Long-lived Assets (Details) Sheet http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-expenditures-for-additions-to-longlived-assets-details Note 18 - Segment Reporting - Expenditures for Additions to Long-lived Assets (Details) Details 81 false false R82.htm 081 - Disclosure - Note 18 - Segment Reporting - Depreciation and Amortization (Details) Sheet http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-depreciation-and-amortization-details Note 18 - Segment Reporting - Depreciation and Amortization (Details) Details 82 false false All Reports Book All Reports prlb20211231_10k.htm ex_313210.htm ex_313211.htm ex_313212.htm ex_313213.htm ex_313214.htm ex_313215.htm prlb-20211231.xsd prlb-20211231_cal.xml prlb-20211231_def.xml prlb-20211231_lab.xml prlb-20211231_pre.xml a1.jpg a2.jpg a3.jpg a4.jpg graph01.jpg http://fasb.org/us-gaap/2021-01-31 http://xbrl.sec.gov/dei/2021q4 true true JSON 107 MetaLinks.json IDEA: XBRL DOCUMENT { "instance": { "prlb20211231_10k.htm": { "axisCustom": 0, "axisStandard": 22, "contextCount": 234, "dts": { "calculationLink": { "local": [ "prlb-20211231_cal.xml" ] }, "definitionLink": { "local": [ "prlb-20211231_def.xml" ] }, "inline": { "local": [ "prlb20211231_10k.htm" ] }, "labelLink": { "local": [ "prlb-20211231_lab.xml" ] }, "presentationLink": { "local": [ "prlb-20211231_pre.xml" ] }, "schema": { "local": [ "prlb-20211231.xsd" ], "remote": [ "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd", "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd", "http://www.xbrl.org/2003/xl-2003-12-31.xsd", "http://www.xbrl.org/2003/xlink-2003-12-31.xsd", "http://www.xbrl.org/2005/xbrldt-2005.xsd", "http://www.xbrl.org/2006/ref-2006-02-27.xsd", "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd", "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd", "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd", "https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd", "https://xbrl.fasb.org/srt/2021/elts/srt-roles-2021-01-31.xsd", "https://xbrl.fasb.org/srt/2021/elts/srt-types-2021-01-31.xsd", "https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd", "https://xbrl.fasb.org/us-gaap/2021/elts/us-roles-2021-01-31.xsd", "https://xbrl.fasb.org/us-gaap/2021/elts/us-types-2021-01-31.xsd", "https://xbrl.sec.gov/country/2021/country-2021.xsd", "https://xbrl.sec.gov/currency/2021/currency-2021.xsd", "https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd", "https://xbrl.sec.gov/exch/2021/exch-2021.xsd", "https://xbrl.sec.gov/naics/2021/naics-2021.xsd", "https://xbrl.sec.gov/sic/2021/sic-2021.xsd", "https://xbrl.sec.gov/stpr/2021/stpr-2021.xsd" ] } }, "elementCount": 601, "entityCount": 1, "hidden": { "http://fasb.org/us-gaap/2021-01-31": 41, "http://www.protolabs.com/20211231": 4, "http://xbrl.sec.gov/dei/2021q4": 6, "total": 51 }, "keyCustom": 32, "keyStandard": 462, "memberCustom": 21, "memberStandard": 42, "nsprefix": "prlb", "nsuri": "http://www.protolabs.com/20211231", "report": { "R1": { "firstAnchor": { "ancestors": [ "b", "p", "div", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "document", "isDefault": "true", "longName": "000 - Document - Document And Entity Information", "role": "http://www.protolabs.com/20211231/role/statement-document-and-entity-information", "shortName": "Document And Entity Information", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "b", "p", "div", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R10": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:EarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "009 - Disclosure - Note 4 - Net Income Per Common Share", "role": "http://www.protolabs.com/20211231/role/statement-note-4-net-income-per-common-share", "shortName": "Note 4 - Net Income Per Common Share", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:EarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R11": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "010 - Disclosure - Note 5 - Business Combinations", "role": "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations", "shortName": "Note 5 - Business Combinations", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R12": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "011 - Disclosure - Note 6 - Goodwill and Other Intangible Assets", "role": "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets", "shortName": "Note 6 - Goodwill and Other Intangible Assets", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R13": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "012 - Disclosure - Note 7 - Fair Value Measurements", "role": "http://www.protolabs.com/20211231/role/statement-note-7-fair-value-measurements", "shortName": "Note 7 - Fair Value Measurements", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R14": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InvestmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "013 - Disclosure - Note 8 - Marketable Securities", "role": "http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities", "shortName": "Note 8 - Marketable Securities", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InvestmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R15": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "014 - Disclosure - Note 9 - Property and Equipment", "role": "http://www.protolabs.com/20211231/role/statement-note-9-property-and-equipment", "shortName": "Note 9 - Property and Equipment", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R16": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InventoryDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "015 - Disclosure - Note 10 - Inventory", "role": "http://www.protolabs.com/20211231/role/statement-note-10-inventory", "shortName": "Note 10 - Inventory", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InventoryDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R17": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DebtDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "016 - Disclosure - Note 11 - Financing Obligations", "role": "http://www.protolabs.com/20211231/role/statement-note-11-financing-obligations", "shortName": "Note 11 - Financing Obligations", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DebtDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R18": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "017 - Disclosure - Note 12 - Employee Benefit Plans", "role": "http://www.protolabs.com/20211231/role/statement-note-12-employee-benefit-plans", "shortName": "Note 12 - Employee Benefit Plans", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R19": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "018 - Disclosure - Note 13 - Stock-based Compensation", "role": "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation", "shortName": "Note 13 - Stock-based Compensation", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R2": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "001 - Statement - Consolidated Balance Sheets", "role": "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-", "shortName": "Consolidated Balance Sheets", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R20": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "prlb:LesseeOperatingLeasesAndFinancingLeasesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "019 - Disclosure - Note 14 - Leases", "role": "http://www.protolabs.com/20211231/role/statement-note-14-leases", "shortName": "Note 14 - Leases", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "prlb:LesseeOperatingLeasesAndFinancingLeasesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R21": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisclosureOfReclassificationAmountTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "020 - Disclosure - Note 15 - Accumulated Other Comprehensive Income (Loss)", "role": "http://www.protolabs.com/20211231/role/statement-note-15-accumulated-other-comprehensive-income-loss", "shortName": "Note 15 - Accumulated Other Comprehensive Income (Loss)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisclosureOfReclassificationAmountTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R22": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "021 - Disclosure - Note 16 - Income Taxes", "role": "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes", "shortName": "Note 16 - Income Taxes", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R23": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LegalMattersAndContingenciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "022 - Disclosure - Note 17 - Litigation", "role": "http://www.protolabs.com/20211231/role/statement-note-17-litigation", "shortName": "Note 17 - Litigation", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LegalMattersAndContingenciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R24": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "023 - Disclosure - Note 18 - Segment Reporting", "role": "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting", "shortName": "Note 18 - Segment Reporting", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R25": { "firstAnchor": { "ancestors": [ "us-gaap:SignificantAccountingPoliciesTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ConsolidationPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "024 - Disclosure - Significant Accounting Policies (Policies)", "role": "http://www.protolabs.com/20211231/role/statement-significant-accounting-policies-policies", "shortName": "Significant Accounting Policies (Policies)", "subGroupType": "policies", "uniqueAnchor": { "ancestors": [ "us-gaap:SignificantAccountingPoliciesTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ConsolidationPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R26": { "firstAnchor": { "ancestors": [ "us-gaap:RevenueFromContractWithCustomerTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "025 - Disclosure - Note 3 - Revenue (Tables)", "role": "http://www.protolabs.com/20211231/role/statement-note-3-revenue-tables", "shortName": "Note 3 - Revenue (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:RevenueFromContractWithCustomerTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R27": { "firstAnchor": { "ancestors": [ "us-gaap:EarningsPerShareTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "026 - Disclosure - Note 4 - Net Income Per Common Share (Tables)", "role": "http://www.protolabs.com/20211231/role/statement-note-4-net-income-per-common-share-tables", "shortName": "Note 4 - Net Income Per Common Share (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:EarningsPerShareTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R28": { "firstAnchor": { "ancestors": [ "us-gaap:BusinessCombinationDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31_BusinessAcquisitionAxis-Acquired3dHubsMember", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "027 - Disclosure - Note 5 - Business Combinations (Tables)", "role": "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-tables", "shortName": "Note 5 - Business Combinations (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:BusinessCombinationDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31_BusinessAcquisitionAxis-Acquired3dHubsMember", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R29": { "firstAnchor": { "ancestors": [ "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "028 - Disclosure - Note 6 - Goodwill and Other Intangible Assets (Tables)", "role": "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-tables", "shortName": "Note 6 - Goodwill and Other Intangible Assets (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R3": { "firstAnchor": null, "groupType": "statement", "isDefault": "false", "longName": "002 - Statement - Consolidated Balance Sheets (Parentheticals)", "role": "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-parentheticals", "shortName": "Consolidated Balance Sheets (Parentheticals)", "subGroupType": "parenthetical", "uniqueAnchor": null }, "R30": { "firstAnchor": { "ancestors": [ "us-gaap:FairValueDisclosuresTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "029 - Disclosure - Note 7 - Fair Value Measurements (Tables)", "role": "http://www.protolabs.com/20211231/role/statement-note-7-fair-value-measurements-tables", "shortName": "Note 7 - Fair Value Measurements (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:FairValueDisclosuresTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R31": { "firstAnchor": { "ancestors": [ "us-gaap:InvestmentTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DebtSecuritiesAvailableForSaleTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "030 - Disclosure - Note 8 - Marketable Securities (Tables)", "role": "http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities-tables", "shortName": "Note 8 - Marketable Securities (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:InvestmentTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DebtSecuritiesAvailableForSaleTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R32": { "firstAnchor": { "ancestors": [ "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "031 - Disclosure - Note 9 - Property and Equipment (Tables)", "role": "http://www.protolabs.com/20211231/role/statement-note-9-property-and-equipment-tables", "shortName": "Note 9 - Property and Equipment (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R33": { "firstAnchor": { "ancestors": [ "us-gaap:InventoryDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "032 - Disclosure - Note 10 - Inventory (Tables)", "role": "http://www.protolabs.com/20211231/role/statement-note-10-inventory-tables", "shortName": "Note 10 - Inventory (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:InventoryDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R34": { "firstAnchor": { "ancestors": [ "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "033 - Disclosure - Note 13 - Stock-based Compensation (Tables)", "role": "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-tables", "shortName": "Note 13 - Stock-based Compensation (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R35": { "firstAnchor": { "ancestors": [ "prlb:LesseeOperatingLeasesAndFinancingLeasesTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "prlb:AssetsAndLiabilitiesLesseeTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "034 - Disclosure - Note 14 - Leases (Tables)", "role": "http://www.protolabs.com/20211231/role/statement-note-14-leases-tables", "shortName": "Note 14 - Leases (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "prlb:LesseeOperatingLeasesAndFinancingLeasesTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "prlb:AssetsAndLiabilitiesLesseeTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R36": { "firstAnchor": { "ancestors": [ "us-gaap:DisclosureOfReclassificationAmountTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfComprehensiveIncomeLossTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "035 - Disclosure - Note 15 - Accumulated Other Comprehensive Income (Loss) (Tables)", "role": "http://www.protolabs.com/20211231/role/statement-note-15-accumulated-other-comprehensive-income-loss-tables", "shortName": "Note 15 - Accumulated Other Comprehensive Income (Loss) (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:DisclosureOfReclassificationAmountTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfComprehensiveIncomeLossTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R37": { "firstAnchor": { "ancestors": [ "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "036 - Disclosure - Note 16 - Income Taxes (Tables)", "role": "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-tables", "shortName": "Note 16 - Income Taxes (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R38": { "firstAnchor": { "ancestors": [ "us-gaap:SegmentReportingDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "prlb:IncomeFromOperationsByGeographicAreaTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "037 - Disclosure - Note 18 - Segment Reporting (Tables)", "role": "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-tables", "shortName": "Note 18 - Segment Reporting (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:SegmentReportingDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "prlb:IncomeFromOperationsByGeographicAreaTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R39": { "firstAnchor": { "ancestors": [ "p", "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock", "us-gaap:SignificantAccountingPoliciesTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:CapitalizedComputerSoftwareNet", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "038 - Disclosure - Note 2 - Summary of Significant Accounting Policies (Details Textual)", "role": "http://www.protolabs.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual", "shortName": "Note 2 - Summary of Significant Accounting Policies (Details Textual)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock", "us-gaap:SignificantAccountingPoliciesTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:CapitalizedComputerSoftwareNet", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R4": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "003 - Statement - Consolidated Statements of Comprehensive Income", "role": "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-comprehensive-income-", "shortName": "Consolidated Statements of Comprehensive Income", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "-3", "lang": null, "name": "us-gaap:CostOfGoodsAndServicesSold", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R40": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "039 - Disclosure - Note 3 - Revenue - Disaggregation of Revenue (Details)", "role": "http://www.protolabs.com/20211231/role/statement-note-3-revenue-disaggregation-of-revenue-details", "shortName": "Note 3 - Revenue - Disaggregation of Revenue (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "ix:continuation", "us-gaap:RevenueFromContractWithCustomerTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31_ProductOrServiceAxis-InjectionMoldingProtomoldMember", "decimals": "-3", "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R41": { "firstAnchor": { "ancestors": [ "p", "us-gaap:EarningsPerShareTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfNetIncomePerOutstandingUnitAmount", "reportCount": 1, "unique": true, "unitRef": "USDPerShare", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "040 - Disclosure - Note 4 - Net Income Per Common Share (Details Textual)", "role": "http://www.protolabs.com/20211231/role/statement-note-4-net-income-per-common-share-details-textual", "shortName": "Note 4 - Net Income Per Common Share (Details Textual)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:EarningsPerShareTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfNetIncomePerOutstandingUnitAmount", "reportCount": 1, "unique": true, "unitRef": "USDPerShare", "xsiNil": "false" } }, "R42": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "041 - Disclosure - Note 4 - Net Income Per Common Share - Computation of Basic and Diluted Net Income Per Share (Details)", "role": "http://www.protolabs.com/20211231/role/statement-note-4-net-income-per-common-share-computation-of-basic-and-diluted-net-income-per-share-details", "shortName": "Note 4 - Net Income Per Common Share - Computation of Basic and Diluted Net Income Per Share (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "us-gaap:EarningsPerShareTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "INF", "lang": null, "name": "us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "reportCount": 1, "unique": true, "unitRef": "Share", "xsiNil": "false" } }, "R43": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "042 - Disclosure - Note 5 - Business Combinations (Details Textual)", "role": "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-details-textual", "shortName": "Note 5 - Business Combinations (Details Textual)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:BusinessCombinationDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-22_2021-01-22_BusinessAcquisitionAxis-Acquired3dHubsMember", "decimals": "INF", "lang": null, "name": "us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued", "reportCount": 1, "unique": true, "unitRef": "Share", "xsiNil": "false" } }, "R44": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "-4", "first": true, "lang": null, "name": "us-gaap:Goodwill", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "043 - Disclosure - Note 5 - Business Combinations - Allocation of Purchase Price for the Acquisition of Rapid (Details)", "role": "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details", "shortName": "Note 5 - Business Combinations - Allocation of Purchase Price for the Acquisition of Rapid (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "us-gaap:BusinessCombinationDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "i_2021-12-31_BusinessAcquisitionAxis-Acquired3dHubsMember", "decimals": "-3", "lang": null, "name": "us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R45": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfGoodwillTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:GoodwillAcquiredDuringPeriod", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "044 - Disclosure - Note 6 - Goodwill and Other Intangible Assets (Details Textual)", "role": "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-details-textual", "shortName": "Note 6 - Goodwill and Other Intangible Assets (Details Textual)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "-5", "lang": null, "name": "us-gaap:AmortizationOfIntangibleAssets", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R46": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "i_2020-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:Goodwill", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "045 - Disclosure - Note 6 - Goodwill and Other Intangible Assets - Changes in Carrying Amount of Goodwill (Details)", "role": "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-changes-in-carrying-amount-of-goodwill-details", "shortName": "Note 6 - Goodwill and Other Intangible Assets - Changes in Carrying Amount of Goodwill (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfGoodwillTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "-3", "lang": null, "name": "us-gaap:GoodwillForeignCurrencyTranslationGainLoss", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R47": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "046 - Disclosure - Note 6 - Goodwill and Other Intangible Assets - Intangible Assets Other Than Goodwill (Details)", "role": "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details", "shortName": "Note 6 - Goodwill and Other Intangible Assets - Intangible Assets Other Than Goodwill (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R48": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "047 - Disclosure - Note 6 - Goodwill and Other Intangible Assets - Estimated Aggregated Amortization Expense (Details)", "role": "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details", "shortName": "Note 6 - Goodwill and Other Intangible Assets - Estimated Aggregated Amortization Expense (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R49": { "firstAnchor": { "ancestors": [ "p", "us-gaap:FairValueDisclosuresTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:BusinessCombinationContingentConsiderationLiability", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "048 - Disclosure - Note 7 - Fair Value Measurements (Details Textual)", "role": "http://www.protolabs.com/20211231/role/statement-note-7-fair-value-measurements-details-textual", "shortName": "Note 7 - Fair Value Measurements (Details Textual)", "subGroupType": "details", "uniqueAnchor": null }, "R5": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "i_2018-12-31_StatementEquityComponentsAxis-CommonStockMember", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:CommonStockSharesOutstanding", "reportCount": 1, "unique": true, "unitRef": "Share", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "004 - Statement - Consolidated Statements of Shareholders' Equity", "role": "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-shareholders-equity-", "shortName": "Consolidated Statements of Shareholders' Equity", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "i_2018-12-31_StatementEquityComponentsAxis-CommonStockMember", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:CommonStockSharesOutstanding", "reportCount": 1, "unique": true, "unitRef": "Share", "xsiNil": "false" } }, "R50": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:DebtSecuritiesAvailableForSaleTableTextBlock", "us-gaap:InvestmentTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "-4", "first": true, "lang": null, "name": "us-gaap:AvailableForSaleSecuritiesDebtSecurities", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "049 - Disclosure - Note 7 - Fair Value Measurements - Fair Value of Financial Assets Measured on a Recurring Basis (Details)", "role": "http://www.protolabs.com/20211231/role/statement-note-7-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details", "shortName": "Note 7 - Fair Value Measurements - Fair Value of Financial Assets Measured on a Recurring Basis (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock", "us-gaap:FairValueDisclosuresTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "i_2021-12-31_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel1Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember", "decimals": "-3", "lang": null, "name": "us-gaap:CashAndCashEquivalentsFairValueDisclosure", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R51": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:DebtSecuritiesAvailableForSaleTableTextBlock", "us-gaap:InvestmentTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "050 - Disclosure - Note 8 - Marketable Securities - Short-term and Long-term Available for Sale Securities (Details)", "role": "http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities-shortterm-and-longterm-available-for-sale-securities-details", "shortName": "Note 8 - Marketable Securities - Short-term and Long-term Available for Sale Securities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:DebtSecuritiesAvailableForSaleTableTextBlock", "us-gaap:InvestmentTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R52": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:HeldToMaturitySecuritiesTextBlock", "us-gaap:InvestmentTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "i_2020-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:HeldToMaturitySecurities", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "051 - Disclosure - Note 8 - Marketable Securities - Short-term and Long-term Held-to-Maturity Securities (Details)", "role": "http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities-shortterm-and-longterm-heldtomaturity-securities-details", "shortName": "Note 8 - Marketable Securities - Short-term and Long-term Held-to-Maturity Securities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:HeldToMaturitySecuritiesTextBlock", "us-gaap:InvestmentTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "i_2020-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:HeldToMaturitySecurities", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R53": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock", "us-gaap:InvestmentTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "-4", "first": true, "lang": null, "name": "us-gaap:AvailableForSaleSecuritiesDebtMaturitiesNextRollingTwelveMonthsFairValue", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "052 - Disclosure - Note 8 - Marketable Securities - Balance of Held-to-maturity Debt Securities by Contractual Maturity (Details)", "role": "http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities-balance-of-heldtomaturity-debt-securities-by-contractual-maturity-details", "shortName": "Note 8 - Marketable Securities - Balance of Held-to-maturity Debt Securities by Contractual Maturity (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock", "us-gaap:InvestmentTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "-4", "first": true, "lang": null, "name": "us-gaap:AvailableForSaleSecuritiesDebtMaturitiesNextRollingTwelveMonthsFairValue", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R54": { "firstAnchor": { "ancestors": [ "p", "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:Depreciation", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "053 - Disclosure - Note 9 - Property and Equipment (Details Textual)", "role": "http://www.protolabs.com/20211231/role/statement-note-9-property-and-equipment-details-textual", "shortName": "Note 9 - Property and Equipment (Details Textual)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:Depreciation", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R55": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:PropertyPlantAndEquipmentTextBlock", "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:Land", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "054 - Disclosure - Note 9 - Property and Equipment - Components of Property and Equipment (Details)", "role": "http://www.protolabs.com/20211231/role/statement-note-9-property-and-equipment-components-of-property-and-equipment-details", "shortName": "Note 9 - Property and Equipment - Components of Property and Equipment (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:PropertyPlantAndEquipmentTextBlock", "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:Land", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R56": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "us-gaap:InventoryDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:InventoryGross", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "055 - Disclosure - Note 10 - Inventory - Inventory (Details)", "role": "http://www.protolabs.com/20211231/role/statement-note-10-inventory-inventory-details", "shortName": "Note 10 - Inventory - Inventory (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "us-gaap:InventoryDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:InventoryGross", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R57": { "firstAnchor": { "ancestors": [ "p", "us-gaap:DebtDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:LineOfCredit", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "056 - Disclosure - Note 11 - Financing Obligations (Details Textual)", "role": "http://www.protolabs.com/20211231/role/statement-note-11-financing-obligations-details-textual", "shortName": "Note 11 - Financing Obligations (Details Textual)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:DebtDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:LineOfCredit", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R58": { "firstAnchor": { "ancestors": [ "p", "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31_RetirementPlanSponsorLocationAxis-US_RetirementPlanTypeAxis-The401KRetirementPlanMember", "decimals": "INF", "first": true, "lang": null, "name": "prlb:MinimumNumberOfEmployeeWorkingHoursRequiredToBeEligibleToParticipateInFourZeroOneKPlan", "reportCount": 1, "unique": true, "unitRef": "Pure", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "057 - Disclosure - Note 12 - Employee Benefit Plans (Details Textual)", "role": "http://www.protolabs.com/20211231/role/statement-note-12-employee-benefit-plans-details-textual", "shortName": "Note 12 - Employee Benefit Plans (Details Textual)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31_RetirementPlanSponsorLocationAxis-US_RetirementPlanTypeAxis-The401KRetirementPlanMember", "decimals": "INF", "first": true, "lang": null, "name": "prlb:MinimumNumberOfEmployeeWorkingHoursRequiredToBeEligibleToParticipateInFourZeroOneKPlan", "reportCount": 1, "unique": true, "unitRef": "Pure", "xsiNil": "false" } }, "R59": { "firstAnchor": { "ancestors": [ "p", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "058 - Disclosure - Note 13 - Stock-based Compensation (Details Textual)", "role": "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-details-textual", "shortName": "Note 13 - Stock-based Compensation (Details Textual)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R6": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "005 - Statement - Consolidated Statements of Cash Flows", "role": "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-", "shortName": "Consolidated Statements of Cash Flows", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "-3", "lang": null, "name": "us-gaap:ShareBasedCompensation", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R60": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AllocatedShareBasedCompensationExpense", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "059 - Disclosure - Note 13 - Stock-based Compensation - Stock-based Compensation Expense (Details)", "role": "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-stockbased-compensation-expense-details", "shortName": "Note 13 - Stock-based Compensation - Stock-based Compensation Expense (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AllocatedShareBasedCompensationExpense", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R61": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31_AwardTypeAxis-EmployeeStockOptionMember", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "060 - Disclosure - Note 13 - Stock-based Compensation - Assumptions Used in the Black-Scholes Option Pricing Model (Details)", "role": "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-assumptions-used-in-the-blackscholes-option-pricing-model-details", "shortName": "Note 13 - Stock-based Compensation - Assumptions Used in the Black-Scholes Option Pricing Model (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31_AwardTypeAxis-EmployeeStockOptionMember", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R62": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "i_2020-12-31", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "reportCount": 1, "unitRef": "Share", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "061 - Disclosure - Note 13 - Stock-based Compensation - Stock Option Activity (Details)", "role": "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-stock-option-activity-details", "shortName": "Note 13 - Stock-based Compensation - Stock Option Activity (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "INF", "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross", "reportCount": 1, "unique": true, "unitRef": "Share", "xsiNil": "false" } }, "R63": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "reportCount": 1, "unitRef": "Share", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "062 - Disclosure - Note 13 - Stock-based Compensation - Information about Stock Options Outstanding (Details)", "role": "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-information-about-stock-options-outstanding-details", "shortName": "Note 13 - Stock-based Compensation - Information about Stock Options Outstanding (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "i_2021-12-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-ExercisePriceRangeOneMember", "decimals": "INF", "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "reportCount": 1, "unique": true, "unitRef": "Share", "xsiNil": "false" } }, "R64": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "i_2020-12-31_AwardTypeAxis-RestrictedStockMember", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "reportCount": 1, "unitRef": "Share", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "063 - Disclosure - Note 13 - Stock-based Compensation - Restricted Stock Options (Details)", "role": "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-restricted-stock-options-details", "shortName": "Note 13 - Stock-based Compensation - Restricted Stock Options (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "i_2018-12-31_AwardTypeAxis-RestrictedStockMember", "decimals": "INF", "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "reportCount": 1, "unique": true, "unitRef": "Share", "xsiNil": "false" } }, "R65": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "i_2020-12-31_AwardTypeAxis-PerformanceSharesMember", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions", "reportCount": 1, "unitRef": "Share", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "064 - Disclosure - Note 13 - Stock-based Compensation - Performance Stock (Details)", "role": "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-performance-stock-details", "shortName": "Note 13 - Stock-based Compensation - Performance Stock (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "i_2018-12-31_AwardTypeAxis-PerformanceSharesMember", "decimals": "INF", "lang": null, "name": "us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions", "reportCount": 1, "unique": true, "unitRef": "Share", "xsiNil": "false" } }, "R66": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "prlb:ScheduleOfSharebasedPaymentAwardAwardsOtherThanStockOptionsValuationAssumptionsTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31_AwardTypeAxis-PerformanceSharesMember", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "065 - Disclosure - Note 13 - Stock-based Compensation - Assumptions Used in the Valuation of Performance Stock (Details)", "role": "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-assumptions-used-in-the-valuation-of-performance-stock-details", "shortName": "Note 13 - Stock-based Compensation - Assumptions Used in the Valuation of Performance Stock (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "prlb:ScheduleOfSharebasedPaymentAwardAwardsOtherThanStockOptionsValuationAssumptionsTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31_AwardTypeAxis-PerformanceSharesMember", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R67": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:OperatingLeaseRightOfUseAsset", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "066 - Disclosure - Note 14 - Leases - Balance Sheet Information (Details)", "role": "http://www.protolabs.com/20211231/role/statement-note-14-leases-balance-sheet-information-details", "shortName": "Note 14 - Leases - Balance Sheet Information (Details)", "subGroupType": "details", "uniqueAnchor": null }, "R68": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "prlb:ScheduleOfLeaseExpenseTableTextBlock", "prlb:LesseeOperatingLeasesAndFinancingLeasesTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:OperatingLeaseCost", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "067 - Disclosure - Note 14 - Leases - Lease Expense (Details)", "role": "http://www.protolabs.com/20211231/role/statement-note-14-leases-lease-expense-details", "shortName": "Note 14 - Leases - Lease Expense (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "prlb:ScheduleOfLeaseExpenseTableTextBlock", "prlb:LesseeOperatingLeasesAndFinancingLeasesTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:OperatingLeaseCost", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R69": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "prlb:LesseeLeaseLiabilityMaturityTableTextBlock", "prlb:LesseeOperatingLeasesAndFinancingLeasesTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "-4", "first": true, "lang": null, "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "068 - Disclosure - Note 14 - Leases - Maturities of Operating Lease Liabilities (Details)", "role": "http://www.protolabs.com/20211231/role/statement-note-14-leases-maturities-of-operating-lease-liabilities-details", "shortName": "Note 14 - Leases - Maturities of Operating Lease Liabilities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "prlb:LesseeLeaseLiabilityMaturityTableTextBlock", "prlb:LesseeOperatingLeasesAndFinancingLeasesTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "-4", "first": true, "lang": null, "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R7": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "006 - Disclosure - Note 1 - Nature of Business", "role": "http://www.protolabs.com/20211231/role/statement-note-1-nature-of-business", "shortName": "Note 1 - Nature of Business", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R70": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "prlb:ScheduleOfLeaseTermsAndDiscountRatesTableTextBlock", "prlb:LesseeOperatingLeasesAndFinancingLeasesTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "069 - Disclosure - Note 14 - Leases - Weighted Average Remaining Terms and Discount Rates (Details)", "role": "http://www.protolabs.com/20211231/role/statement-note-14-leases-weighted-average-remaining-terms-and-discount-rates-details", "shortName": "Note 14 - Leases - Weighted Average Remaining Terms and Discount Rates (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "prlb:ScheduleOfLeaseTermsAndDiscountRatesTableTextBlock", "prlb:LesseeOperatingLeasesAndFinancingLeasesTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R71": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "i_2020-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:StockholdersEquity", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "070 - Disclosure - Note 15 - Accumulated Other Comprehensive Income (Loss) - Other Comprehensive Loss (Details)", "role": "http://www.protolabs.com/20211231/role/statement-note-15-accumulated-other-comprehensive-income-loss-other-comprehensive-loss-details", "shortName": "Note 15 - Accumulated Other Comprehensive Income (Loss) - Other Comprehensive Loss (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfComprehensiveIncomeLossTableTextBlock", "us-gaap:DisclosureOfReclassificationAmountTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AccumulatedTranslationAdjustmentMember", "decimals": "-3", "lang": null, "name": "us-gaap:OciBeforeReclassificationsNetOfTaxAttributableToParent", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R72": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:IncomeTaxExpenseBenefit", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "071 - Disclosure - Note 16 - Income Taxes (Details Textual)", "role": "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-details-textual", "shortName": "Note 16 - Income Taxes (Details Textual)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "3", "lang": null, "name": "prlb:EffectiveIncomeTaxRateContinuingOperationsIncreaseDecreaseDuringThePeriod", "reportCount": 1, "unique": true, "unitRef": "Pure", "xsiNil": "false" } }, "R73": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "072 - Disclosure - Note 16 - Income Taxes - Components of Income (Loss) Before Income Taxes (Details)", "role": "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-components-of-income-loss-before-income-taxes-details", "shortName": "Note 16 - Income Taxes - Components of Income (Loss) Before Income Taxes (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R74": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CurrentFederalTaxExpenseBenefit", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "073 - Disclosure - Note 16 - Income Taxes - Significant Components of Provision for Income Taxes (Details)", "role": "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-provision-for-income-taxes-details", "shortName": "Note 16 - Income Taxes - Significant Components of Provision for Income Taxes (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CurrentFederalTaxExpenseBenefit", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R75": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "2", "first": true, "lang": null, "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate", "reportCount": 1, "unique": true, "unitRef": "Pure", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "074 - Disclosure - Note 16 - Income Taxes - Reconciliation of Federal Statutory Income Tax Rate to Effective Tax Rate (Details)", "role": "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-reconciliation-of-federal-statutory-income-tax-rate-to-effective-tax-rate-details", "shortName": "Note 16 - Income Taxes - Reconciliation of Federal Statutory Income Tax Rate to Effective Tax Rate (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "2", "first": true, "lang": null, "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate", "reportCount": 1, "unique": true, "unitRef": "Pure", "xsiNil": "false" } }, "R76": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "075 - Disclosure - Note 16 - Income Taxes - Significant Components of Deferred Tax Assets and Liabilities (Details)", "role": "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-deferred-tax-assets-and-liabilities-details", "shortName": "Note 16 - Income Taxes - Significant Components of Deferred Tax Assets and Liabilities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R77": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "i_2020-12-31", "decimals": "-4", "first": true, "lang": null, "name": "us-gaap:UnrecognizedTaxBenefits", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "076 - Disclosure - Note 16 - Income Taxes - Reconciliation of Beginning and Ending Amount of Unrecognized Tax Benefits (Details)", "role": "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-reconciliation-of-beginning-and-ending-amount-of-unrecognized-tax-benefits-details", "shortName": "Note 16 - Income Taxes - Reconciliation of Beginning and Ending Amount of Unrecognized Tax Benefits (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "-3", "lang": null, "name": "us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R78": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "077 - Disclosure - Note 18 - Segment Reporting - Revenue From Operations by Reportable Segment (Details)", "role": "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-revenue-from-operations-by-reportable-segment-details", "shortName": "Note 18 - Segment Reporting - Revenue From Operations by Reportable Segment (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock", "us-gaap:SegmentReportingDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31_ConsolidationItemsAxis-OperatingSegmentsMember", "decimals": "-3", "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R79": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:OperatingIncomeLoss", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "078 - Disclosure - Note 18 - Segment Reporting - Income From Operations (Details)", "role": "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-income-from-operations-details", "shortName": "Note 18 - Segment Reporting - Income From Operations (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "prlb:IncomeFromOperationsByGeographicAreaTableTextBlock", "us-gaap:SegmentReportingDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_StatementBusinessSegmentsAxis-UnitedStatesSegmentMember", "decimals": "-3", "lang": null, "name": "us-gaap:OperatingIncomeLoss", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R8": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "007 - Disclosure - Note 2 - Summary of Significant Accounting Policies", "role": "http://www.protolabs.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-", "shortName": "Note 2 - Summary of Significant Accounting Policies", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R80": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:PropertyPlantAndEquipmentNet", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "079 - Disclosure - Note 18 - Segment Reporting - Long-lived Assets by Geographic Region (Details)", "role": "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-longlived-assets-by-geographic-region-details", "shortName": "Note 18 - Segment Reporting - Long-lived Assets by Geographic Region (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock", "us-gaap:SegmentReportingDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "i_2021-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_StatementBusinessSegmentsAxis-UnitedStatesSegmentMember", "decimals": "-3", "lang": null, "name": "us-gaap:PropertyPlantAndEquipmentNet", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R81": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "080 - Disclosure - Note 18 - Segment Reporting - Expenditures for Additions to Long-lived Assets (Details)", "role": "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-expenditures-for-additions-to-longlived-assets-details", "shortName": "Note 18 - Segment Reporting - Expenditures for Additions to Long-lived Assets (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "prlb:ExpendituresForAdditionsToLonglivedAssetsByGeographicRegionTableTextBlock", "us-gaap:SegmentReportingDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31_StatementGeographicalAxis-US", "decimals": "-3", "lang": null, "name": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R82": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:DepreciationDepletionAndAmortization", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "081 - Disclosure - Note 18 - Segment Reporting - Depreciation and Amortization (Details)", "role": "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-depreciation-and-amortization-details", "shortName": "Note 18 - Segment Reporting - Depreciation and Amortization (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "prlb:DepreciationAndAmortizationByGeographicRegionTableTextBlock", "us-gaap:SegmentReportingDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31_StatementGeographicalAxis-US", "decimals": "-3", "lang": null, "name": "us-gaap:DepreciationDepletionAndAmortization", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R9": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "008 - Disclosure - Note 3 - Revenue", "role": "http://www.protolabs.com/20211231/role/statement-note-3-revenue", "shortName": "Note 3 - Revenue", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } } }, "segmentCount": 65, "tag": { "country_DE": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "GERMANY" } } }, "localname": "DE", "nsuri": "http://xbrl.sec.gov/country/2021", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes", "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-details-textual" ], "xbrltype": "domainItemType" }, "country_JP": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "JAPAN" } } }, "localname": "JP", "nsuri": "http://xbrl.sec.gov/country/2021", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-depreciation-and-amortization-details", "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-expenditures-for-additions-to-longlived-assets-details", "http://www.protolabs.com/20211231/role/statement-note-3-revenue-disaggregation-of-revenue-details", "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-changes-in-carrying-amount-of-goodwill-details" ], "xbrltype": "domainItemType" }, "country_NL": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "NETHERLANDS" } } }, "localname": "NL", "nsuri": "http://xbrl.sec.gov/country/2021", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes", "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-details-textual" ], "xbrltype": "domainItemType" }, "country_US": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "UNITED STATES" } } }, "localname": "US", "nsuri": "http://xbrl.sec.gov/country/2021", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-12-employee-benefit-plans", "http://www.protolabs.com/20211231/role/statement-note-12-employee-benefit-plans-details-textual", "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-depreciation-and-amortization-details", "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-expenditures-for-additions-to-longlived-assets-details", "http://www.protolabs.com/20211231/role/statement-note-3-revenue-disaggregation-of-revenue-details", "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets", "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-changes-in-carrying-amount-of-goodwill-details", "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-details-textual" ], "xbrltype": "domainItemType" }, "dei_AmendmentFlag": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.", "label": "Amendment Flag" } } }, "localname": "AmendmentFlag", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.protolabs.com/20211231/role/statement-document-and-entity-information" ], "xbrltype": "booleanItemType" }, "dei_AuditorFirmId": { "auth_ref": [ "r690", "r691", "r692" ], "lang": { "en-us": { "role": { "documentation": "PCAOB issued Audit Firm Identifier", "label": "Auditor Firm ID" } } }, "localname": "AuditorFirmId", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.protolabs.com/20211231/role/statement-document-and-entity-information" ], "xbrltype": "nonemptySequenceNumberItemType" }, "dei_AuditorLocation": { "auth_ref": [ "r690", "r691", "r692" ], "lang": { "en-us": { "role": { "label": "Auditor Location" } } }, "localname": "AuditorLocation", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.protolabs.com/20211231/role/statement-document-and-entity-information" ], "xbrltype": "internationalNameItemType" }, "dei_AuditorName": { "auth_ref": [ "r690", "r691", "r692" ], "lang": { "en-us": { "role": { "label": "Auditor Name" } } }, "localname": "AuditorName", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.protolabs.com/20211231/role/statement-document-and-entity-information" ], "xbrltype": "internationalNameItemType" }, "dei_CityAreaCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Area code of city", "label": "City Area Code" } } }, "localname": "CityAreaCode", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.protolabs.com/20211231/role/statement-document-and-entity-information" ], "xbrltype": "normalizedStringItemType" }, "dei_CurrentFiscalYearEndDate": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "End date of current fiscal year in the format --MM-DD.", "label": "Current Fiscal Year End Date" } } }, "localname": "CurrentFiscalYearEndDate", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.protolabs.com/20211231/role/statement-document-and-entity-information" ], "xbrltype": "gMonthDayItemType" }, "dei_DocumentAnnualReport": { "auth_ref": [ "r690", "r691", "r692" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true only for a form used as an annual report.", "label": "Document Annual Report" } } }, "localname": "DocumentAnnualReport", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.protolabs.com/20211231/role/statement-document-and-entity-information" ], "xbrltype": "booleanItemType" }, "dei_DocumentFiscalPeriodFocus": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Fiscal period values are FY, Q1, Q2, and Q3. 1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.", "label": "Document Fiscal Period Focus" } } }, "localname": "DocumentFiscalPeriodFocus", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.protolabs.com/20211231/role/statement-document-and-entity-information" ], "xbrltype": "fiscalPeriodItemType" }, "dei_DocumentFiscalYearFocus": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.", "label": "Document Fiscal Year Focus" } } }, "localname": "DocumentFiscalYearFocus", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.protolabs.com/20211231/role/statement-document-and-entity-information" ], "xbrltype": "gYearItemType" }, "dei_DocumentInformationLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Document Information [Line Items]" } } }, "localname": "DocumentInformationLineItems", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.protolabs.com/20211231/role/statement-document-and-entity-information" ], "xbrltype": "stringItemType" }, "dei_DocumentInformationTable": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Container to support the formal attachment of each official or unofficial, public or private document as part of a submission package.", "label": "Document Information [Table]" } } }, "localname": "DocumentInformationTable", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "xbrltype": "stringItemType" }, "dei_DocumentPeriodEndDate": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Document Period End Date" } } }, "localname": "DocumentPeriodEndDate", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.protolabs.com/20211231/role/statement-document-and-entity-information" ], "xbrltype": "dateItemType" }, "dei_DocumentTransitionReport": { "auth_ref": [ "r693" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true only for a form used as a transition report.", "label": "Document Transition Report" } } }, "localname": "DocumentTransitionReport", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.protolabs.com/20211231/role/statement-document-and-entity-information" ], "xbrltype": "booleanItemType" }, "dei_DocumentType": { "auth_ref": [], "lang": { "en-us": { "role": { "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'.", "label": "Document Type" } } }, "localname": "DocumentType", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.protolabs.com/20211231/role/statement-document-and-entity-information" ], "xbrltype": "submissionTypeItemType" }, "dei_EntityAddressAddressLine1": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Address Line 1 such as Attn, Building Name, Street Name", "label": "Entity Address, Address Line One" } } }, "localname": "EntityAddressAddressLine1", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.protolabs.com/20211231/role/statement-document-and-entity-information" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressCityOrTown": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Name of the City or Town", "label": "Entity Address, City or Town" } } }, "localname": "EntityAddressCityOrTown", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.protolabs.com/20211231/role/statement-document-and-entity-information" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressPostalZipCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Code for the postal or zip code", "label": "Entity Address, Postal Zip Code" } } }, "localname": "EntityAddressPostalZipCode", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.protolabs.com/20211231/role/statement-document-and-entity-information" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressStateOrProvince": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Name of the state or province.", "label": "Entity Address, State or Province" } } }, "localname": "EntityAddressStateOrProvince", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.protolabs.com/20211231/role/statement-document-and-entity-information" ], "xbrltype": "stateOrProvinceItemType" }, "dei_EntityCentralIndexKey": { "auth_ref": [ "r688" ], "lang": { "en-us": { "role": { "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.", "label": "Entity Central Index Key" } } }, "localname": "EntityCentralIndexKey", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.protolabs.com/20211231/role/statement-document-and-entity-information" ], "xbrltype": "centralIndexKeyItemType" }, "dei_EntityCommonStockSharesOutstanding": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.", "label": "Entity Common Stock, Shares Outstanding" } } }, "localname": "EntityCommonStockSharesOutstanding", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.protolabs.com/20211231/role/statement-document-and-entity-information" ], "xbrltype": "sharesItemType" }, "dei_EntityCurrentReportingStatus": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.", "label": "Entity Current Reporting Status" } } }, "localname": "EntityCurrentReportingStatus", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.protolabs.com/20211231/role/statement-document-and-entity-information" ], "xbrltype": "yesNoItemType" }, "dei_EntityDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "All the names of the entities being reported upon in a document. Any legal structure used to conduct activities or to hold assets. Some examples of such structures are corporations, partnerships, limited liability companies, grantor trusts, and other trusts. This item does not include business and geographical segments which are included in the geographical or business segments domains.", "label": "Entity [Domain]" } } }, "localname": "EntityDomain", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-", "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-parentheticals", "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-", "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-comprehensive-income-", "http://www.protolabs.com/20211231/role/statement-document-and-entity-information", "http://www.protolabs.com/20211231/role/statement-note-1-nature-of-business", "http://www.protolabs.com/20211231/role/statement-note-10-inventory", "http://www.protolabs.com/20211231/role/statement-note-10-inventory-inventory-details", "http://www.protolabs.com/20211231/role/statement-note-10-inventory-tables", "http://www.protolabs.com/20211231/role/statement-note-11-financing-obligations", "http://www.protolabs.com/20211231/role/statement-note-11-financing-obligations-details-textual", "http://www.protolabs.com/20211231/role/statement-note-12-employee-benefit-plans", "http://www.protolabs.com/20211231/role/statement-note-12-employee-benefit-plans-details-textual", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-assumptions-used-in-the-blackscholes-option-pricing-model-details", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-assumptions-used-in-the-valuation-of-performance-stock-details", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-details-textual", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-information-about-stock-options-outstanding-details", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-performance-stock-details", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-restricted-stock-options-details", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-stock-option-activity-details", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-stockbased-compensation-expense-details", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-tables", "http://www.protolabs.com/20211231/role/statement-note-14-leases", "http://www.protolabs.com/20211231/role/statement-note-14-leases-balance-sheet-information-details", "http://www.protolabs.com/20211231/role/statement-note-14-leases-lease-expense-details", "http://www.protolabs.com/20211231/role/statement-note-14-leases-maturities-of-operating-lease-liabilities-details", "http://www.protolabs.com/20211231/role/statement-note-14-leases-tables", "http://www.protolabs.com/20211231/role/statement-note-14-leases-weighted-average-remaining-terms-and-discount-rates-details", "http://www.protolabs.com/20211231/role/statement-note-15-accumulated-other-comprehensive-income-loss", "http://www.protolabs.com/20211231/role/statement-note-15-accumulated-other-comprehensive-income-loss-other-comprehensive-loss-details", "http://www.protolabs.com/20211231/role/statement-note-15-accumulated-other-comprehensive-income-loss-tables", "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes", "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-components-of-income-loss-before-income-taxes-details", "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-details-textual", "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-reconciliation-of-beginning-and-ending-amount-of-unrecognized-tax-benefits-details", "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-reconciliation-of-federal-statutory-income-tax-rate-to-effective-tax-rate-details", "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-deferred-tax-assets-and-liabilities-details", "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-provision-for-income-taxes-details", "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-tables", "http://www.protolabs.com/20211231/role/statement-note-17-litigation", "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting", "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-depreciation-and-amortization-details", "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-expenditures-for-additions-to-longlived-assets-details", "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-income-from-operations-details", "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-longlived-assets-by-geographic-region-details", "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-revenue-from-operations-by-reportable-segment-details", "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-tables", "http://www.protolabs.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-", "http://www.protolabs.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual", "http://www.protolabs.com/20211231/role/statement-note-3-revenue", "http://www.protolabs.com/20211231/role/statement-note-3-revenue-disaggregation-of-revenue-details", "http://www.protolabs.com/20211231/role/statement-note-3-revenue-tables", "http://www.protolabs.com/20211231/role/statement-note-4-net-income-per-common-share", "http://www.protolabs.com/20211231/role/statement-note-4-net-income-per-common-share-computation-of-basic-and-diluted-net-income-per-share-details", "http://www.protolabs.com/20211231/role/statement-note-4-net-income-per-common-share-details-textual", "http://www.protolabs.com/20211231/role/statement-note-4-net-income-per-common-share-tables", "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations", "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details", "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-details-textual", "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-tables", "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets", "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-changes-in-carrying-amount-of-goodwill-details", "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-details-textual", "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details", "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details", "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-tables", "http://www.protolabs.com/20211231/role/statement-note-7-fair-value-measurements", "http://www.protolabs.com/20211231/role/statement-note-7-fair-value-measurements-details-textual", "http://www.protolabs.com/20211231/role/statement-note-7-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details", "http://www.protolabs.com/20211231/role/statement-note-7-fair-value-measurements-tables", "http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities", "http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities-balance-of-heldtomaturity-debt-securities-by-contractual-maturity-details", "http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities-shortterm-and-longterm-available-for-sale-securities-details", "http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities-shortterm-and-longterm-heldtomaturity-securities-details", "http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities-tables", "http://www.protolabs.com/20211231/role/statement-note-9-property-and-equipment", "http://www.protolabs.com/20211231/role/statement-note-9-property-and-equipment-components-of-property-and-equipment-details", "http://www.protolabs.com/20211231/role/statement-note-9-property-and-equipment-details-textual", "http://www.protolabs.com/20211231/role/statement-note-9-property-and-equipment-tables", "http://www.protolabs.com/20211231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "domainItemType" }, "dei_EntityEmergingGrowthCompany": { "auth_ref": [ "r688" ], "lang": { "en-us": { "role": { "documentation": "Indicate if registrant meets the emerging growth company criteria.", "label": "Entity Emerging Growth Company" } } }, "localname": "EntityEmergingGrowthCompany", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.protolabs.com/20211231/role/statement-document-and-entity-information" ], "xbrltype": "booleanItemType" }, "dei_EntityFileNumber": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Entity File Number" } } }, "localname": "EntityFileNumber", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.protolabs.com/20211231/role/statement-document-and-entity-information" ], "xbrltype": "fileNumberItemType" }, "dei_EntityFilerCategory": { "auth_ref": [ "r688" ], "lang": { "en-us": { "role": { "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.", "label": "Entity Filer Category" } } }, "localname": "EntityFilerCategory", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.protolabs.com/20211231/role/statement-document-and-entity-information" ], "xbrltype": "filerCategoryItemType" }, "dei_EntityIncorporationStateCountryCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Two-character EDGAR code representing the state or country of incorporation.", "label": "Entity Incorporation, State or Country Code" } } }, "localname": "EntityIncorporationStateCountryCode", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.protolabs.com/20211231/role/statement-document-and-entity-information" ], "xbrltype": "edgarStateCountryItemType" }, "dei_EntityInteractiveDataCurrent": { "auth_ref": [ "r701" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).", "label": "Entity Interactive Data Current" } } }, "localname": "EntityInteractiveDataCurrent", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.protolabs.com/20211231/role/statement-document-and-entity-information" ], "xbrltype": "yesNoItemType" }, "dei_EntityPublicFloat": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter.", "label": "Entity Public Float" } } }, "localname": "EntityPublicFloat", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.protolabs.com/20211231/role/statement-document-and-entity-information" ], "xbrltype": "monetaryItemType" }, "dei_EntityRegistrantName": { "auth_ref": [ "r688" ], "lang": { "en-us": { "role": { "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.", "label": "Entity Registrant Name" } } }, "localname": "EntityRegistrantName", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.protolabs.com/20211231/role/statement-document-and-entity-information" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityShellCompany": { "auth_ref": [ "r688" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.", "label": "Entity Shell Company" } } }, "localname": "EntityShellCompany", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.protolabs.com/20211231/role/statement-document-and-entity-information" ], "xbrltype": "booleanItemType" }, "dei_EntitySmallBusiness": { "auth_ref": [ "r688" ], "lang": { "en-us": { "role": { "documentation": "Indicates that the company is a Smaller Reporting Company (SRC).", "label": "Entity Small Business" } } }, "localname": "EntitySmallBusiness", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.protolabs.com/20211231/role/statement-document-and-entity-information" ], "xbrltype": "booleanItemType" }, "dei_EntityTaxIdentificationNumber": { "auth_ref": [ "r688" ], "lang": { "en-us": { "role": { "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.", "label": "Entity Tax Identification Number" } } }, "localname": "EntityTaxIdentificationNumber", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.protolabs.com/20211231/role/statement-document-and-entity-information" ], "xbrltype": "employerIdItemType" }, "dei_EntityVoluntaryFilers": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.", "label": "Entity Voluntary Filers" } } }, "localname": "EntityVoluntaryFilers", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.protolabs.com/20211231/role/statement-document-and-entity-information" ], "xbrltype": "yesNoItemType" }, "dei_EntityWellKnownSeasonedIssuer": { "auth_ref": [ "r702" ], "lang": { "en-us": { "role": { "documentation": "Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A.", "label": "Entity Well-known Seasoned Issuer" } } }, "localname": "EntityWellKnownSeasonedIssuer", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.protolabs.com/20211231/role/statement-document-and-entity-information" ], "xbrltype": "yesNoItemType" }, "dei_IcfrAuditorAttestationFlag": { "auth_ref": [ "r690", "r691", "r692" ], "lang": { "en-us": { "role": { "label": "ICFR Auditor Attestation Flag" } } }, "localname": "IcfrAuditorAttestationFlag", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.protolabs.com/20211231/role/statement-document-and-entity-information" ], "xbrltype": "booleanItemType" }, "dei_LegalEntityAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The set of legal entities associated with a report.", "label": "Legal Entity [Axis]" } } }, "localname": "LegalEntityAxis", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-", "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-parentheticals", "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-", "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-comprehensive-income-", "http://www.protolabs.com/20211231/role/statement-document-and-entity-information", "http://www.protolabs.com/20211231/role/statement-note-1-nature-of-business", "http://www.protolabs.com/20211231/role/statement-note-10-inventory", "http://www.protolabs.com/20211231/role/statement-note-10-inventory-inventory-details", "http://www.protolabs.com/20211231/role/statement-note-10-inventory-tables", "http://www.protolabs.com/20211231/role/statement-note-11-financing-obligations", "http://www.protolabs.com/20211231/role/statement-note-11-financing-obligations-details-textual", "http://www.protolabs.com/20211231/role/statement-note-12-employee-benefit-plans", "http://www.protolabs.com/20211231/role/statement-note-12-employee-benefit-plans-details-textual", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-assumptions-used-in-the-blackscholes-option-pricing-model-details", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-assumptions-used-in-the-valuation-of-performance-stock-details", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-details-textual", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-information-about-stock-options-outstanding-details", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-performance-stock-details", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-restricted-stock-options-details", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-stock-option-activity-details", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-stockbased-compensation-expense-details", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-tables", "http://www.protolabs.com/20211231/role/statement-note-14-leases", "http://www.protolabs.com/20211231/role/statement-note-14-leases-balance-sheet-information-details", "http://www.protolabs.com/20211231/role/statement-note-14-leases-lease-expense-details", "http://www.protolabs.com/20211231/role/statement-note-14-leases-maturities-of-operating-lease-liabilities-details", "http://www.protolabs.com/20211231/role/statement-note-14-leases-tables", "http://www.protolabs.com/20211231/role/statement-note-14-leases-weighted-average-remaining-terms-and-discount-rates-details", "http://www.protolabs.com/20211231/role/statement-note-15-accumulated-other-comprehensive-income-loss", "http://www.protolabs.com/20211231/role/statement-note-15-accumulated-other-comprehensive-income-loss-other-comprehensive-loss-details", "http://www.protolabs.com/20211231/role/statement-note-15-accumulated-other-comprehensive-income-loss-tables", "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes", "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-components-of-income-loss-before-income-taxes-details", "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-details-textual", "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-reconciliation-of-beginning-and-ending-amount-of-unrecognized-tax-benefits-details", "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-reconciliation-of-federal-statutory-income-tax-rate-to-effective-tax-rate-details", "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-deferred-tax-assets-and-liabilities-details", "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-provision-for-income-taxes-details", "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-tables", "http://www.protolabs.com/20211231/role/statement-note-17-litigation", "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting", "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-depreciation-and-amortization-details", "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-expenditures-for-additions-to-longlived-assets-details", "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-income-from-operations-details", "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-longlived-assets-by-geographic-region-details", "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-revenue-from-operations-by-reportable-segment-details", "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-tables", "http://www.protolabs.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-", "http://www.protolabs.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual", "http://www.protolabs.com/20211231/role/statement-note-3-revenue", "http://www.protolabs.com/20211231/role/statement-note-3-revenue-disaggregation-of-revenue-details", "http://www.protolabs.com/20211231/role/statement-note-3-revenue-tables", "http://www.protolabs.com/20211231/role/statement-note-4-net-income-per-common-share", "http://www.protolabs.com/20211231/role/statement-note-4-net-income-per-common-share-computation-of-basic-and-diluted-net-income-per-share-details", "http://www.protolabs.com/20211231/role/statement-note-4-net-income-per-common-share-details-textual", "http://www.protolabs.com/20211231/role/statement-note-4-net-income-per-common-share-tables", "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations", "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details", "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-details-textual", "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-tables", "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets", "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-changes-in-carrying-amount-of-goodwill-details", "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-details-textual", "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details", "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details", "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-tables", "http://www.protolabs.com/20211231/role/statement-note-7-fair-value-measurements", "http://www.protolabs.com/20211231/role/statement-note-7-fair-value-measurements-details-textual", "http://www.protolabs.com/20211231/role/statement-note-7-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details", "http://www.protolabs.com/20211231/role/statement-note-7-fair-value-measurements-tables", "http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities", "http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities-balance-of-heldtomaturity-debt-securities-by-contractual-maturity-details", "http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities-shortterm-and-longterm-available-for-sale-securities-details", "http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities-shortterm-and-longterm-heldtomaturity-securities-details", "http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities-tables", "http://www.protolabs.com/20211231/role/statement-note-9-property-and-equipment", "http://www.protolabs.com/20211231/role/statement-note-9-property-and-equipment-components-of-property-and-equipment-details", "http://www.protolabs.com/20211231/role/statement-note-9-property-and-equipment-details-textual", "http://www.protolabs.com/20211231/role/statement-note-9-property-and-equipment-tables", "http://www.protolabs.com/20211231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "stringItemType" }, "dei_LocalPhoneNumber": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Local phone number for entity.", "label": "Local Phone Number" } } }, "localname": "LocalPhoneNumber", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.protolabs.com/20211231/role/statement-document-and-entity-information" ], "xbrltype": "normalizedStringItemType" }, "dei_Security12bTitle": { "auth_ref": [ "r687" ], "lang": { "en-us": { "role": { "documentation": "Title of a 12(b) registered security.", "label": "Title of 12(b) Security" } } }, "localname": "Security12bTitle", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.protolabs.com/20211231/role/statement-document-and-entity-information" ], "xbrltype": "securityTitleItemType" }, "dei_SecurityExchangeName": { "auth_ref": [ "r689" ], "lang": { "en-us": { "role": { "documentation": "Name of the Exchange on which a security is registered.", "label": "Security Exchange Name" } } }, "localname": "SecurityExchangeName", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.protolabs.com/20211231/role/statement-document-and-entity-information" ], "xbrltype": "edgarExchangeCodeItemType" }, "dei_TradingSymbol": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Trading symbol of an instrument as listed on an exchange.", "label": "Trading Symbol" } } }, "localname": "TradingSymbol", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.protolabs.com/20211231/role/statement-document-and-entity-information" ], "xbrltype": "tradingSymbolItemType" }, "prlb_Acquired3dHubsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents acquired 3D Hubs.", "label": "Acquired 3D Hubs [Member]" } } }, "localname": "Acquired3dHubsMember", "nsuri": "http://www.protolabs.com/20211231", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations", "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details", "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-details-textual", "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-tables", "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets", "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-details-textual" ], "xbrltype": "domainItemType" }, "prlb_AssetsAndLiabilitiesLesseeTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of lessee's assets and liabilities.", "label": "Assets and Liabilities, Lessee [Table Text Block]" } } }, "localname": "AssetsAndLiabilitiesLesseeTableTextBlock", "nsuri": "http://www.protolabs.com/20211231", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-14-leases-tables" ], "xbrltype": "textBlockItemType" }, "prlb_BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentCashPaid": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "This element represents the amount of any measurement period adjustment (as defined) realized during the reporting period to cash paid in connection with a business combination for which the initial accounting was incomplete.", "label": "prlb_BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentCashPaid", "terseLabel": "Business Combination, Provisional Information, Initial Accounting Incomplete, Adjustment, Cash Paid" } } }, "localname": "BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentCashPaid", "nsuri": "http://www.protolabs.com/20211231", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-details-textual" ], "xbrltype": "monetaryItemType" }, "prlb_BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentContingentConsideration": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "This element represents the amount of any measurement period adjustment (as defined) realized during the reporting period to contingent consideration in connection with a business combination for which the initial accounting was incomplete.", "label": "prlb_BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentContingentConsideration", "terseLabel": "Business Combination, Provisional Information, Initial Accounting Incomplete, Adjustment, Contingent Consideration" } } }, "localname": "BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentContingentConsideration", "nsuri": "http://www.protolabs.com/20211231", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-details-textual" ], "xbrltype": "monetaryItemType" }, "prlb_BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentDeferredTaxLiabilities": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "This element represents the amount of any measurement period adjustment (as defined) realized during the reporting period to deferred tax liabilities assumed in connection with a business combination for which the initial accounting was incomplete.", "label": "prlb_BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentDeferredTaxLiabilities", "terseLabel": "Business Combination, Provisional Information, Initial Accounting Incomplete, Adjustment, Deferred Tax Liabilities" } } }, "localname": "BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentDeferredTaxLiabilities", "nsuri": "http://www.protolabs.com/20211231", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-details-textual" ], "xbrltype": "monetaryItemType" }, "prlb_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContingentLiabilityCurrent": { "auth_ref": [], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details": { "order": 3.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The amount of liability arising from an inherited contingency (as defined) which has been recognized as of the acquisition date, classified as current", "label": "prlb_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContingentLiabilityCurrent", "terseLabel": "Current contingent consideration" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContingentLiabilityCurrent", "nsuri": "http://www.protolabs.com/20211231", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details" ], "xbrltype": "monetaryItemType" }, "prlb_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContingentLiabilityNoncurrent": { "auth_ref": [], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details": { "order": 1.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The amount of liability arising from an inherited contingency (as defined) which has been recognized as of the acquisition date, classified as noncurrent.", "label": "prlb_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContingentLiabilityNoncurrent", "terseLabel": "Long-term contingent consideration" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContingentLiabilityNoncurrent", "nsuri": "http://www.protolabs.com/20211231", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details" ], "xbrltype": "monetaryItemType" }, "prlb_BusinessCombinationRecognizedIdentifiableAssetsAcquiredIncludingGoodwillAndLiabilitiesAssumedAssetsTotal": { "auth_ref": [], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details": { "order": 1.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of assets acquired including goodwill at the acquisition date", "label": "prlb_BusinessCombinationRecognizedIdentifiableAssetsAcquiredIncludingGoodwillAndLiabilitiesAssumedAssetsTotal", "totalLabel": "Total assets acquired" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredIncludingGoodwillAndLiabilitiesAssumedAssetsTotal", "nsuri": "http://www.protolabs.com/20211231", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details" ], "xbrltype": "monetaryItemType" }, "prlb_CNCMachiningFirstcutMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the CNC Machining (Firstcut) product.", "label": "CNC Machining (Firstcut) [Member]" } } }, "localname": "CNCMachiningFirstcutMember", "nsuri": "http://www.protolabs.com/20211231", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-3-revenue-disaggregation-of-revenue-details" ], "xbrltype": "domainItemType" }, "prlb_ComputerHardwareAndSoftwareGross": { "auth_ref": [], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-9-property-and-equipment-components-of-property-and-equipment-details": { "order": 2.0, "parentTag": "us-gaap_PropertyPlantAndEquipmentGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The gross amount of computer hardware and software as of the balance sheet date.", "label": "Computer hardware and software" } } }, "localname": "ComputerHardwareAndSoftwareGross", "nsuri": "http://www.protolabs.com/20211231", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-9-property-and-equipment-components-of-property-and-equipment-details" ], "xbrltype": "monetaryItemType" }, "prlb_CorporateUnallocatedAndJapanSegmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Segment for corporate unallocated expenses and Japan.", "label": "Corporate Unallocated and Japan Segment[Member]" } } }, "localname": "CorporateUnallocatedAndJapanSegmentMember", "nsuri": "http://www.protolabs.com/20211231", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-income-from-operations-details" ], "xbrltype": "domainItemType" }, "prlb_DeferredTaxAssetsRightOfUseLeases": { "auth_ref": [], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-deferred-tax-assets-and-liabilities-details": { "order": 0.0, "parentTag": "us-gaap_DeferredTaxAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from right of use lease assets.", "label": "prlb_DeferredTaxAssetsRightOfUseLeases", "terseLabel": "Leases" } } }, "localname": "DeferredTaxAssetsRightOfUseLeases", "nsuri": "http://www.protolabs.com/20211231", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-deferred-tax-assets-and-liabilities-details" ], "xbrltype": "monetaryItemType" }, "prlb_DepreciationAndAmortizationByGeographicRegionTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of depreciation and amortization by geographic region.", "label": "Depreciation and Amortization by Geographic Region [Table Text Block]" } } }, "localname": "DepreciationAndAmortizationByGeographicRegionTableTextBlock", "nsuri": "http://www.protolabs.com/20211231", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-tables" ], "xbrltype": "textBlockItemType" }, "prlb_ESPPMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "ESPP [member", "label": "ESPP [Member]" } } }, "localname": "ESPPMember", "nsuri": "http://www.protolabs.com/20211231", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-details-textual", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-stockbased-compensation-expense-details" ], "xbrltype": "domainItemType" }, "prlb_EffectiveIncomeTaxRateContinuingOperationsIncreaseDecreaseDuringThePeriod": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the period in percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.", "label": "prlb_EffectiveIncomeTaxRateContinuingOperationsIncreaseDecreaseDuringThePeriod", "terseLabel": "Effective Income Tax Rate Continuing Operations Increase (Decrease) During the Period" } } }, "localname": "EffectiveIncomeTaxRateContinuingOperationsIncreaseDecreaseDuringThePeriod", "nsuri": "http://www.protolabs.com/20211231", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-details-textual" ], "xbrltype": "percentItemType" }, "prlb_EffectiveIncomeTaxRateReconciliationContingentConsiderationReductionPercent": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in Contingent Consideration Reduction.", "label": "prlb_EffectiveIncomeTaxRateReconciliationContingentConsiderationReductionPercent", "negatedLabel": "Contingent consideration reduction" } } }, "localname": "EffectiveIncomeTaxRateReconciliationContingentConsiderationReductionPercent", "nsuri": "http://www.protolabs.com/20211231", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-reconciliation-of-federal-statutory-income-tax-rate-to-effective-tax-rate-details" ], "xbrltype": "percentItemType" }, "prlb_EffectiveIncomeTaxRateReconciliationProvisionToReturnDifferencePercent": { "auth_ref": [], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-reconciliation-of-federal-statutory-income-tax-rate-to-effective-tax-rate-details": { "order": 0.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to provision to return difference.", "label": "Provision to return difference" } } }, "localname": "EffectiveIncomeTaxRateReconciliationProvisionToReturnDifferencePercent", "nsuri": "http://www.protolabs.com/20211231", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-reconciliation-of-federal-statutory-income-tax-rate-to-effective-tax-rate-details" ], "xbrltype": "percentItemType" }, "prlb_EffectiveIncomeTaxRateReconciliationQualifiedSubsidiaryElection": { "auth_ref": [], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-reconciliation-of-federal-statutory-income-tax-rate-to-effective-tax-rate-details": { "order": 2.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Qualified subsidiary election.", "label": "Share based compensation" } } }, "localname": "EffectiveIncomeTaxRateReconciliationQualifiedSubsidiaryElection", "nsuri": "http://www.protolabs.com/20211231", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-reconciliation-of-federal-statutory-income-tax-rate-to-effective-tax-rate-details" ], "xbrltype": "percentItemType" }, "prlb_EmployeeStockPurchasePlanOfferingPeriod": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The offering period during which employees may purchase stock through the Employee Stock Purchase Plan.", "label": "prlb_EmployeeStockPurchasePlanOfferingPeriod", "terseLabel": "Employee Stock Purchase Plan, Offering Period (Month)" } } }, "localname": "EmployeeStockPurchasePlanOfferingPeriod", "nsuri": "http://www.protolabs.com/20211231", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-details-textual" ], "xbrltype": "durationItemType" }, "prlb_EmployeeStockPurchasePlanWeightedAveragePurchasePriceOfSharesPurchased": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The weighted average purchase price of shares purchased through the Employee Stock Purchase Plan.", "label": "prlb_EmployeeStockPurchasePlanWeightedAveragePurchasePriceOfSharesPurchased", "terseLabel": "Employee Stock Purchase Plan, Weighted Average Purchase Price of Shares Purchased (in shares)" } } }, "localname": "EmployeeStockPurchasePlanWeightedAveragePurchasePriceOfSharesPurchased", "nsuri": "http://www.protolabs.com/20211231", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-details-textual" ], "xbrltype": "sharesItemType" }, "prlb_EuropeSegmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Operating segment for Europe", "label": "Europe Segment [Member]" } } }, "localname": "EuropeSegmentMember", "nsuri": "http://www.protolabs.com/20211231", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-income-from-operations-details", "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-longlived-assets-by-geographic-region-details", "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-revenue-from-operations-by-reportable-segment-details" ], "xbrltype": "domainItemType" }, "prlb_ExercisePriceRangeFourMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Exercise price range four [member", "label": "Exercise Price Range Four [Member]" } } }, "localname": "ExercisePriceRangeFourMember", "nsuri": "http://www.protolabs.com/20211231", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-information-about-stock-options-outstanding-details" ], "xbrltype": "domainItemType" }, "prlb_ExercisePriceRangeOneMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Exercise price range one [member", "label": "Exercise Price Range One [Member]" } } }, "localname": "ExercisePriceRangeOneMember", "nsuri": "http://www.protolabs.com/20211231", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-information-about-stock-options-outstanding-details" ], "xbrltype": "domainItemType" }, "prlb_ExercisePriceRangeThreeMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Exercise price range three [member]", "label": "Exercise Price Range Three [Member]" } } }, "localname": "ExercisePriceRangeThreeMember", "nsuri": "http://www.protolabs.com/20211231", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-information-about-stock-options-outstanding-details" ], "xbrltype": "domainItemType" }, "prlb_ExercisePriceRangeTwoMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Exercise price range two [member]", "label": "Exercise Price Range Two [Member]" } } }, "localname": "ExercisePriceRangeTwoMember", "nsuri": "http://www.protolabs.com/20211231", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-information-about-stock-options-outstanding-details" ], "xbrltype": "domainItemType" }, "prlb_ExpendituresForAdditionsToLonglivedAssetsByGeographicRegionTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of expenditures for additions to long-lived assets by geographic region.", "label": "Expenditures for Additions to Long-lived Assets by Geographic Region [Table Text Block]" } } }, "localname": "ExpendituresForAdditionsToLonglivedAssetsByGeographicRegionTableTextBlock", "nsuri": "http://www.protolabs.com/20211231", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-tables" ], "xbrltype": "textBlockItemType" }, "prlb_IncomeFromOperationsByGeographicAreaTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of income from operations by geographic area.", "label": "Income from Operations by Geographic Area [Table Text Block]" } } }, "localname": "IncomeFromOperationsByGeographicAreaTableTextBlock", "nsuri": "http://www.protolabs.com/20211231", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-tables" ], "xbrltype": "textBlockItemType" }, "prlb_IncreaseDecreaseInIncomeTaxesPayableCaresAct": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Represents increase (decrease) in income taxes payable related to CARES Act.", "label": "prlb_IncreaseDecreaseInIncomeTaxesPayableCaresAct", "terseLabel": "Increase (Decrease) in Income Taxes Payable, CARES Act" } } }, "localname": "IncreaseDecreaseInIncomeTaxesPayableCaresAct", "nsuri": "http://www.protolabs.com/20211231", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-details-textual" ], "xbrltype": "monetaryItemType" }, "prlb_InjectionMoldingProtomoldMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the Injection Molding (Protomold) product.", "label": "Injection Molding (Protomold) [Member]" } } }, "localname": "InjectionMoldingProtomoldMember", "nsuri": "http://www.protolabs.com/20211231", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-3-revenue-disaggregation-of-revenue-details" ], "xbrltype": "domainItemType" }, "prlb_JapanSegmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Operating segment for Japan.", "label": "Japan Segment [Member]" } } }, "localname": "JapanSegmentMember", "nsuri": "http://www.protolabs.com/20211231", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-longlived-assets-by-geographic-region-details", "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-revenue-from-operations-by-reportable-segment-details" ], "xbrltype": "domainItemType" }, "prlb_LesseeLeaseLiabilityMaturityTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of undiscounted cash flows of operating and finance lease liability.", "label": "Lessee, Lease Liability, Maturity [Table Text Block]" } } }, "localname": "LesseeLeaseLiabilityMaturityTableTextBlock", "nsuri": "http://www.protolabs.com/20211231", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-14-leases-tables" ], "xbrltype": "textBlockItemType" }, "prlb_LesseeOperatingLeasesAndFinancingLeasesTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for operating leases of lessee and finance leases of lessee.", "label": "Lessee, Operating Leases and Financing Leases [Text Block]" } } }, "localname": "LesseeOperatingLeasesAndFinancingLeasesTextBlock", "nsuri": "http://www.protolabs.com/20211231", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-14-leases" ], "xbrltype": "textBlockItemType" }, "prlb_LongtermIncentivePlan2012Member": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information pertaining to the 2012 Long-Term Incentive Plan.", "label": "Long-Term Incentive Plan 2012 [Member]" } } }, "localname": "LongtermIncentivePlan2012Member", "nsuri": "http://www.protolabs.com/20211231", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-details-textual" ], "xbrltype": "domainItemType" }, "prlb_MinimumNumberOfEmployeeWorkingHoursRequiredToBeEligibleToParticipateInFourZeroOneKPlan": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Minimum Number of Employee Working Hours Required to be Eligible to Participate in 401(k) Plan", "label": "prlb_MinimumNumberOfEmployeeWorkingHoursRequiredToBeEligibleToParticipateInFourZeroOneKPlan", "terseLabel": "Minimum Number Of Employee Working Hours Required To Be Eligible To Participate In 401K Plan" } } }, "localname": "MinimumNumberOfEmployeeWorkingHoursRequiredToBeEligibleToParticipateInFourZeroOneKPlan", "nsuri": "http://www.protolabs.com/20211231", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-12-employee-benefit-plans-details-textual" ], "xbrltype": "integerItemType" }, "prlb_MinimumServicePeriodOfEmployeesToAvailBenefitUnderDefinedContributionBenefitPlan": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Minimum Service Period Of Employees To Avail Benefit Under Defined Contribution Benefit Plan", "label": "prlb_MinimumServicePeriodOfEmployeesToAvailBenefitUnderDefinedContributionBenefitPlan", "terseLabel": "Minimum Service Period Of Employees To Avail Benefit Under Defined Contribution Benefit Plan (Month)" } } }, "localname": "MinimumServicePeriodOfEmployeesToAvailBenefitUnderDefinedContributionBenefitPlan", "nsuri": "http://www.protolabs.com/20211231", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-12-employee-benefit-plans-details-textual" ], "xbrltype": "durationItemType" }, "prlb_NoteToFinancialStatementDetailsTextual": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note To Financial Statement Details Textual" } } }, "localname": "NoteToFinancialStatementDetailsTextual", "nsuri": "http://www.protolabs.com/20211231", "xbrltype": "stringItemType" }, "prlb_NotesToFinancialStatementsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Notes To Financial Statements [Abstract]" } } }, "localname": "NotesToFinancialStatementsAbstract", "nsuri": "http://www.protolabs.com/20211231", "xbrltype": "stringItemType" }, "prlb_OfficeFurnitureAndEquipmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Office furniture and equipment [member", "label": "Office Furniture And Equipment [Member]" } } }, "localname": "OfficeFurnitureAndEquipmentMember", "nsuri": "http://www.protolabs.com/20211231", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-", "http://www.protolabs.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual" ], "xbrltype": "domainItemType" }, "prlb_OfficeSpaceManufacturingFacilitiesAndCertainCompanyVehiclesAndEquipmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information pertaining to office space, manufacturing facilities, and certain company vehicles and equipment.", "label": "Office Space, Manufacturing Facilities, and Certain Company Vehicles and Equipment [Member]" } } }, "localname": "OfficeSpaceManufacturingFacilitiesAndCertainCompanyVehiclesAndEquipmentMember", "nsuri": "http://www.protolabs.com/20211231", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-", "http://www.protolabs.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual" ], "xbrltype": "domainItemType" }, "prlb_OperatingLossCarryforwardsExpirationPeriod": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The expiration period of operating loss carryforwards.", "label": "prlb_OperatingLossCarryforwardsExpirationPeriod", "terseLabel": "Operating Loss Carryforwards, Expiration Period (Year)" } } }, "localname": "OperatingLossCarryforwardsExpirationPeriod", "nsuri": "http://www.protolabs.com/20211231", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-details-textual" ], "xbrltype": "durationItemType" }, "prlb_OperatingLossCarryforwardsPercentageOfTaxableIncome": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the operating loss carryforwards percentage of taxable income limit.", "label": "prlb_OperatingLossCarryforwardsPercentageOfTaxableIncome", "terseLabel": "Operating Loss Carryforwards, Percentage of Taxable Income" } } }, "localname": "OperatingLossCarryforwardsPercentageOfTaxableIncome", "nsuri": "http://www.protolabs.com/20211231", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-details-textual" ], "xbrltype": "percentItemType" }, "prlb_OtherProductsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents other products.", "label": "Other Products [Member]" } } }, "localname": "OtherProductsMember", "nsuri": "http://www.protolabs.com/20211231", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-3-revenue-disaggregation-of-revenue-details" ], "xbrltype": "domainItemType" }, "prlb_PercentageOfTargetNumberCapableOfBeingEarnedAndVestingLowerLimit": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The lower limit percent of target number capable of being earned and vesting at the end of a three-year performance period depending on the company's performance in the final year of the performance period and the award recipient's continued employment.", "label": "prlb_PercentageOfTargetNumberCapableOfBeingEarnedAndVestingLowerLimit", "terseLabel": "Percentage of Target Number Capable of Being Earned and Vesting, Lower Limit" } } }, "localname": "PercentageOfTargetNumberCapableOfBeingEarnedAndVestingLowerLimit", "nsuri": "http://www.protolabs.com/20211231", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-details-textual" ], "xbrltype": "percentItemType" }, "prlb_PercentageOfTargetNumberCapableOfBeingEarnedAndVestingUpperLimit": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The upper limit percent of target number capable of being earned and vesting at the end of a three-year performance period depending on the company's performance in the final year of the performance period and the award recipient's continued employment.", "label": "prlb_PercentageOfTargetNumberCapableOfBeingEarnedAndVestingUpperLimit", "terseLabel": "Percentage of Target Number Capable of Being Earned and Vesting, Upper Limit" } } }, "localname": "PercentageOfTargetNumberCapableOfBeingEarnedAndVestingUpperLimit", "nsuri": "http://www.protolabs.com/20211231", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-details-textual" ], "xbrltype": "percentItemType" }, "prlb_ScheduleOfLeaseExpenseTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of lease expenses incurred.", "label": "Schedule of Lease Expense [Table Text Block]" } } }, "localname": "ScheduleOfLeaseExpenseTableTextBlock", "nsuri": "http://www.protolabs.com/20211231", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-14-leases-tables" ], "xbrltype": "textBlockItemType" }, "prlb_ScheduleOfLeaseTermsAndDiscountRatesTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the weighted average remaining lease terms and discount rates.", "label": "Schedule of Lease Terms and Discount Rates [Table Text Block]" } } }, "localname": "ScheduleOfLeaseTermsAndDiscountRatesTableTextBlock", "nsuri": "http://www.protolabs.com/20211231", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-14-leases-tables" ], "xbrltype": "textBlockItemType" }, "prlb_ScheduleOfSharebasedPaymentAwardAwardsOtherThanStockOptionsValuationAssumptionsTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the valuation assumptions of share-based payment awards other than stock options.", "label": "Schedule of Share-based Payment Award, Awards Other Than Stock Options, Valuation Assumptions [Table Text Block]" } } }, "localname": "ScheduleOfSharebasedPaymentAwardAwardsOtherThanStockOptionsValuationAssumptionsTableTextBlock", "nsuri": "http://www.protolabs.com/20211231", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-tables" ], "xbrltype": "textBlockItemType" }, "prlb_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsPerformanceChange": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the amount of shares related to a performance change related to equity instruments other than option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).", "label": "Performance change (in shares)" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsPerformanceChange", "nsuri": "http://www.protolabs.com/20211231", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-performance-stock-details" ], "xbrltype": "sharesItemType" }, "prlb_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsPerformanceChangeWeightedAverageGrantDateFairValue": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the weighted average grant date fair value per share in connection to a performance change related to equity instruments other than options.", "label": "Performance change, weighted-average grant date fair value (in dollars per share)", "verboseLabel": "Performance change, weighted-average grant date fair value (in dollars per share)" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsPerformanceChangeWeightedAverageGrantDateFairValue", "nsuri": "http://www.protolabs.com/20211231", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-performance-stock-details" ], "xbrltype": "perShareItemType" }, "prlb_SheetMetalMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the information pertaining to sheet metal.", "label": "Sheet Metal [Member]" } } }, "localname": "SheetMetalMember", "nsuri": "http://www.protolabs.com/20211231", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-3-revenue-disaggregation-of-revenue-details" ], "xbrltype": "domainItemType" }, "prlb_SoftwarePlatformMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information pertaining to software platform.", "label": "Software Platform [Member]" } } }, "localname": "SoftwarePlatformMember", "nsuri": "http://www.protolabs.com/20211231", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details" ], "xbrltype": "domainItemType" }, "prlb_StockOptionsRestrictedStockAndOtherMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Equity awards of stock options, restricted stock, and equity instruments not otherwise classified.", "label": "Stock Options, Restricted Stock, and Other [Member]" } } }, "localname": "StockOptionsRestrictedStockAndOtherMember", "nsuri": "http://www.protolabs.com/20211231", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-stockbased-compensation-expense-details" ], "xbrltype": "domainItemType" }, "prlb_The401KRetirementPlanMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A company sponsored 401(k) defined contribution plan.", "label": "401(k) Retirement Plan [Member]" } } }, "localname": "The401KRetirementPlanMember", "nsuri": "http://www.protolabs.com/20211231", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-12-employee-benefit-plans", "http://www.protolabs.com/20211231/role/statement-note-12-employee-benefit-plans-details-textual" ], "xbrltype": "domainItemType" }, "prlb_ThreeDPrintingFinelineMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the 3D Printing (Fineline) product.", "label": "3D Printing (Fineline) [Member]" } } }, "localname": "ThreeDPrintingFinelineMember", "nsuri": "http://www.protolabs.com/20211231", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-3-revenue-disaggregation-of-revenue-details" ], "xbrltype": "domainItemType" }, "prlb_UnitedStatesSegmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Operating segment for United States.", "label": "United States Segment [Member]" } } }, "localname": "UnitedStatesSegmentMember", "nsuri": "http://www.protolabs.com/20211231", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-income-from-operations-details", "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-longlived-assets-by-geographic-region-details", "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-revenue-from-operations-by-reportable-segment-details" ], "xbrltype": "domainItemType" }, "prlb_statement-statement-note-10-inventory-inventory-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 10 - Inventory - Inventory (Details)" } } }, "localname": "statement-statement-note-10-inventory-inventory-details", "nsuri": "http://www.protolabs.com/20211231", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-10-inventory-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 10 - Inventory" } } }, "localname": "statement-statement-note-10-inventory-tables", "nsuri": "http://www.protolabs.com/20211231", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-13-stockbased-compensation-assumptions-used-in-the-blackscholes-option-pricing-model-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 13 - Stock-based Compensation - Assumptions Used in the Black-Scholes Option Pricing Model (Details)" } } }, "localname": "statement-statement-note-13-stockbased-compensation-assumptions-used-in-the-blackscholes-option-pricing-model-details", "nsuri": "http://www.protolabs.com/20211231", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-13-stockbased-compensation-assumptions-used-in-the-valuation-of-performance-stock-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 13 - Stock-based Compensation - Assumptions Used in the Valuation of Performance Stock (Details)" } } }, "localname": "statement-statement-note-13-stockbased-compensation-assumptions-used-in-the-valuation-of-performance-stock-details", "nsuri": "http://www.protolabs.com/20211231", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-13-stockbased-compensation-information-about-stock-options-outstanding-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 13 - Stock-based Compensation - Information about Stock Options Outstanding (Details)" } } }, "localname": "statement-statement-note-13-stockbased-compensation-information-about-stock-options-outstanding-details", "nsuri": "http://www.protolabs.com/20211231", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-13-stockbased-compensation-performance-stock-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 13 - Stock-based Compensation - Performance Stock (Details)" } } }, "localname": "statement-statement-note-13-stockbased-compensation-performance-stock-details", "nsuri": "http://www.protolabs.com/20211231", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-13-stockbased-compensation-restricted-stock-options-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 13 - Stock-based Compensation - Restricted Stock Options (Details)" } } }, "localname": "statement-statement-note-13-stockbased-compensation-restricted-stock-options-details", "nsuri": "http://www.protolabs.com/20211231", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-13-stockbased-compensation-stock-option-activity-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 13 - Stock-based Compensation - Stock Option Activity (Details)" } } }, "localname": "statement-statement-note-13-stockbased-compensation-stock-option-activity-details", "nsuri": "http://www.protolabs.com/20211231", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-13-stockbased-compensation-stockbased-compensation-expense-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 13 - Stock-based Compensation - Stock-based Compensation Expense (Details)" } } }, "localname": "statement-statement-note-13-stockbased-compensation-stockbased-compensation-expense-details", "nsuri": "http://www.protolabs.com/20211231", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-13-stockbased-compensation-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 13 - Stock-based Compensation" } } }, "localname": "statement-statement-note-13-stockbased-compensation-tables", "nsuri": "http://www.protolabs.com/20211231", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-14-leases-balance-sheet-information-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 14 - Leases - Balance Sheet Information (Details)" } } }, "localname": "statement-statement-note-14-leases-balance-sheet-information-details", "nsuri": "http://www.protolabs.com/20211231", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-14-leases-lease-expense-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 14 - Leases - Lease Expense (Details)" } } }, "localname": "statement-statement-note-14-leases-lease-expense-details", "nsuri": "http://www.protolabs.com/20211231", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-14-leases-maturities-of-operating-lease-liabilities-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 14 - Leases - Maturities of Operating Lease Liabilities (Details)" } } }, "localname": "statement-statement-note-14-leases-maturities-of-operating-lease-liabilities-details", "nsuri": "http://www.protolabs.com/20211231", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-14-leases-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 14 - Leases" } } }, "localname": "statement-statement-note-14-leases-tables", "nsuri": "http://www.protolabs.com/20211231", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-14-leases-weighted-average-remaining-terms-and-discount-rates-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 14 - Leases - Weighted Average Remaining Terms and Discount Rates (Details)" } } }, "localname": "statement-statement-note-14-leases-weighted-average-remaining-terms-and-discount-rates-details", "nsuri": "http://www.protolabs.com/20211231", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-15-accumulated-other-comprehensive-income-loss-other-comprehensive-loss-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 15 - Accumulated Other Comprehensive Income (Loss) - Other Comprehensive Loss (Details)" } } }, "localname": "statement-statement-note-15-accumulated-other-comprehensive-income-loss-other-comprehensive-loss-details", "nsuri": "http://www.protolabs.com/20211231", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-15-accumulated-other-comprehensive-income-loss-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 15 - Accumulated Other Comprehensive Income (Loss)" } } }, "localname": "statement-statement-note-15-accumulated-other-comprehensive-income-loss-tables", "nsuri": "http://www.protolabs.com/20211231", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-16-income-taxes-components-of-income-loss-before-income-taxes-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 16 - Income Taxes - Components of Income (Loss) Before Income Taxes (Details)" } } }, "localname": "statement-statement-note-16-income-taxes-components-of-income-loss-before-income-taxes-details", "nsuri": "http://www.protolabs.com/20211231", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-16-income-taxes-reconciliation-of-beginning-and-ending-amount-of-unrecognized-tax-benefits-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 16 - Income Taxes - Reconciliation of Beginning and Ending Amount of Unrecognized Tax Benefits (Details)" } } }, "localname": "statement-statement-note-16-income-taxes-reconciliation-of-beginning-and-ending-amount-of-unrecognized-tax-benefits-details", "nsuri": "http://www.protolabs.com/20211231", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-16-income-taxes-reconciliation-of-federal-statutory-income-tax-rate-to-effective-tax-rate-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 16 - Income Taxes - Reconciliation of Federal Statutory Income Tax Rate to Effective Tax Rate (Details)" } } }, "localname": "statement-statement-note-16-income-taxes-reconciliation-of-federal-statutory-income-tax-rate-to-effective-tax-rate-details", "nsuri": "http://www.protolabs.com/20211231", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-16-income-taxes-significant-components-of-deferred-tax-assets-and-liabilities-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 16 - Income Taxes - Significant Components of Deferred Tax Assets and Liabilities (Details)" } } }, "localname": "statement-statement-note-16-income-taxes-significant-components-of-deferred-tax-assets-and-liabilities-details", "nsuri": "http://www.protolabs.com/20211231", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-16-income-taxes-significant-components-of-provision-for-income-taxes-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 16 - Income Taxes - Significant Components of Provision for Income Taxes (Details)" } } }, "localname": "statement-statement-note-16-income-taxes-significant-components-of-provision-for-income-taxes-details", "nsuri": "http://www.protolabs.com/20211231", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-16-income-taxes-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 16 - Income Taxes" } } }, "localname": "statement-statement-note-16-income-taxes-tables", "nsuri": "http://www.protolabs.com/20211231", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-18-segment-reporting-depreciation-and-amortization-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 18 - Segment Reporting - Depreciation and Amortization (Details)" } } }, "localname": "statement-statement-note-18-segment-reporting-depreciation-and-amortization-details", "nsuri": "http://www.protolabs.com/20211231", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-18-segment-reporting-expenditures-for-additions-to-longlived-assets-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 18 - Segment Reporting - Expenditures for Additions to Long-lived Assets (Details)" } } }, "localname": "statement-statement-note-18-segment-reporting-expenditures-for-additions-to-longlived-assets-details", "nsuri": "http://www.protolabs.com/20211231", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-18-segment-reporting-income-from-operations-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 18 - Segment Reporting - Income From Operations (Details)" } } }, "localname": "statement-statement-note-18-segment-reporting-income-from-operations-details", "nsuri": "http://www.protolabs.com/20211231", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-18-segment-reporting-longlived-assets-by-geographic-region-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 18 - Segment Reporting - Long-lived Assets by Geographic Region (Details)" } } }, "localname": "statement-statement-note-18-segment-reporting-longlived-assets-by-geographic-region-details", "nsuri": "http://www.protolabs.com/20211231", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-18-segment-reporting-revenue-from-operations-by-reportable-segment-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 18 - Segment Reporting - Revenue From Operations by Reportable Segment (Details)" } } }, "localname": "statement-statement-note-18-segment-reporting-revenue-from-operations-by-reportable-segment-details", "nsuri": "http://www.protolabs.com/20211231", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-18-segment-reporting-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 18 - Segment Reporting" } } }, "localname": "statement-statement-note-18-segment-reporting-tables", "nsuri": "http://www.protolabs.com/20211231", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-3-revenue-disaggregation-of-revenue-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 3 - Revenue - Disaggregation of Revenue (Details)" } } }, "localname": "statement-statement-note-3-revenue-disaggregation-of-revenue-details", "nsuri": "http://www.protolabs.com/20211231", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-3-revenue-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 3 - Revenue" } } }, "localname": "statement-statement-note-3-revenue-tables", "nsuri": "http://www.protolabs.com/20211231", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-4-net-income-per-common-share-computation-of-basic-and-diluted-net-income-per-share-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 4 - Net Income Per Common Share - Computation of Basic and Diluted Net Income Per Share (Details)" } } }, "localname": "statement-statement-note-4-net-income-per-common-share-computation-of-basic-and-diluted-net-income-per-share-details", "nsuri": "http://www.protolabs.com/20211231", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-4-net-income-per-common-share-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 4 - Net Income Per Common Share" } } }, "localname": "statement-statement-note-4-net-income-per-common-share-tables", "nsuri": "http://www.protolabs.com/20211231", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-5-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 5 - Business Combinations - Allocation of Purchase Price for the Acquisition of Rapid (Details)" } } }, "localname": "statement-statement-note-5-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details", "nsuri": "http://www.protolabs.com/20211231", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-5-business-combinations-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 5 - Business Combinations" } } }, "localname": "statement-statement-note-5-business-combinations-tables", "nsuri": "http://www.protolabs.com/20211231", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-6-goodwill-and-other-intangible-assets-changes-in-carrying-amount-of-goodwill-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 6 - Goodwill and Other Intangible Assets - Changes in Carrying Amount of Goodwill (Details)" } } }, "localname": "statement-statement-note-6-goodwill-and-other-intangible-assets-changes-in-carrying-amount-of-goodwill-details", "nsuri": "http://www.protolabs.com/20211231", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-6-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 6 - Goodwill and Other Intangible Assets - Estimated Aggregated Amortization Expense (Details)" } } }, "localname": "statement-statement-note-6-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details", "nsuri": "http://www.protolabs.com/20211231", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-6-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 6 - Goodwill and Other Intangible Assets - Intangible Assets Other Than Goodwill (Details)" } } }, "localname": "statement-statement-note-6-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details", "nsuri": "http://www.protolabs.com/20211231", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-6-goodwill-and-other-intangible-assets-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 6 - Goodwill and Other Intangible Assets" } } }, "localname": "statement-statement-note-6-goodwill-and-other-intangible-assets-tables", "nsuri": "http://www.protolabs.com/20211231", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-7-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 7 - Fair Value Measurements - Fair Value of Financial Assets Measured on a Recurring Basis (Details)" } } }, "localname": "statement-statement-note-7-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details", "nsuri": "http://www.protolabs.com/20211231", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-7-fair-value-measurements-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 7 - Fair Value Measurements" } } }, "localname": "statement-statement-note-7-fair-value-measurements-tables", "nsuri": "http://www.protolabs.com/20211231", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-8-marketable-securities-balance-of-heldtomaturity-debt-securities-by-contractual-maturity-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 8 - Marketable Securities - Balance of Held-to-maturity Debt Securities by Contractual Maturity (Details)" } } }, "localname": "statement-statement-note-8-marketable-securities-balance-of-heldtomaturity-debt-securities-by-contractual-maturity-details", "nsuri": "http://www.protolabs.com/20211231", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-8-marketable-securities-shortterm-and-longterm-available-for-sale-securities-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 8 - Marketable Securities - Short-term and Long-term Available for Sale Securities (Details)" } } }, "localname": "statement-statement-note-8-marketable-securities-shortterm-and-longterm-available-for-sale-securities-details", "nsuri": "http://www.protolabs.com/20211231", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-8-marketable-securities-shortterm-and-longterm-heldtomaturity-securities-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 8 - Marketable Securities - Short-term and Long-term Held-to-Maturity Securities (Details)" } } }, "localname": "statement-statement-note-8-marketable-securities-shortterm-and-longterm-heldtomaturity-securities-details", "nsuri": "http://www.protolabs.com/20211231", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-8-marketable-securities-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 8 - Marketable Securities" } } }, "localname": "statement-statement-note-8-marketable-securities-tables", "nsuri": "http://www.protolabs.com/20211231", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-9-property-and-equipment-components-of-property-and-equipment-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 9 - Property and Equipment - Components of Property and Equipment (Details)" } } }, "localname": "statement-statement-note-9-property-and-equipment-components-of-property-and-equipment-details", "nsuri": "http://www.protolabs.com/20211231", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-9-property-and-equipment-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 9 - Property and Equipment" } } }, "localname": "statement-statement-note-9-property-and-equipment-tables", "nsuri": "http://www.protolabs.com/20211231", "xbrltype": "stringItemType" }, "prlb_statement-statement-significant-accounting-policies-policies": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Significant Accounting Policies" } } }, "localname": "statement-statement-significant-accounting-policies-policies", "nsuri": "http://www.protolabs.com/20211231", "xbrltype": "stringItemType" }, "srt_ConsolidationItemsAxis": { "auth_ref": [ "r117", "r161", "r173", "r174", "r175", "r176", "r177", "r179", "r183", "r280", "r281", "r282", "r283", "r284", "r285", "r287", "r288", "r290", "r292", "r293" ], "lang": { "en-us": { "role": { "label": "Consolidation Items [Axis]" } } }, "localname": "ConsolidationItemsAxis", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-income-from-operations-details", "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-longlived-assets-by-geographic-region-details", "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-revenue-from-operations-by-reportable-segment-details", "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-tables" ], "xbrltype": "stringItemType" }, "srt_ConsolidationItemsDomain": { "auth_ref": [ "r117", "r161", "r173", "r174", "r175", "r176", "r177", "r179", "r183", "r280", "r281", "r282", "r283", "r284", "r285", "r287", "r288", "r290", "r292", "r293" ], "lang": { "en-us": { "role": { "label": "Consolidation Items [Domain]" } } }, "localname": "ConsolidationItemsDomain", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-income-from-operations-details", "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-longlived-assets-by-geographic-region-details", "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-revenue-from-operations-by-reportable-segment-details", "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-tables" ], "xbrltype": "domainItemType" }, "srt_EuropeMember": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Europe [Member]" } } }, "localname": "EuropeMember", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-depreciation-and-amortization-details", "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-expenditures-for-additions-to-longlived-assets-details", "http://www.protolabs.com/20211231/role/statement-note-3-revenue-disaggregation-of-revenue-details", "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets", "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-changes-in-carrying-amount-of-goodwill-details", "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-details-textual" ], "xbrltype": "domainItemType" }, "srt_MaximumMember": { "auth_ref": [ "r295", "r313", "r412", "r417", "r596", "r597", "r598", "r599", "r600", "r601", "r620", "r658", "r661", "r683", "r684" ], "lang": { "en-us": { "role": { "label": "Maximum [Member]" } } }, "localname": "MaximumMember", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-assumptions-used-in-the-blackscholes-option-pricing-model-details", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-assumptions-used-in-the-valuation-of-performance-stock-details", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-details-textual", "http://www.protolabs.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-", "http://www.protolabs.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual", "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations", "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-details-textual", "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details" ], "xbrltype": "domainItemType" }, "srt_MinimumMember": { "auth_ref": [ "r295", "r313", "r412", "r417", "r596", "r597", "r598", "r599", "r600", "r601", "r620", "r658", "r661", "r683", "r684" ], "lang": { "en-us": { "role": { "label": "Minimum [Member]" } } }, "localname": "MinimumMember", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-assumptions-used-in-the-blackscholes-option-pricing-model-details", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-assumptions-used-in-the-valuation-of-performance-stock-details", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-details-textual", "http://www.protolabs.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-", "http://www.protolabs.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual", "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details" ], "xbrltype": "domainItemType" }, "srt_ProductOrServiceAxis": { "auth_ref": [ "r185", "r326", "r328", "r623", "r657", "r659" ], "lang": { "en-us": { "role": { "label": "Product and Service [Axis]" } } }, "localname": "ProductOrServiceAxis", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-3-revenue-disaggregation-of-revenue-details" ], "xbrltype": "stringItemType" }, "srt_ProductsAndServicesDomain": { "auth_ref": [ "r185", "r326", "r328", "r623", "r657", "r659" ], "lang": { "en-us": { "role": { "label": "Product and Service [Domain]" } } }, "localname": "ProductsAndServicesDomain", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-3-revenue-disaggregation-of-revenue-details" ], "xbrltype": "domainItemType" }, "srt_RangeAxis": { "auth_ref": [ "r295", "r313", "r355", "r412", "r417", "r596", "r597", "r598", "r599", "r600", "r601", "r620", "r658", "r661", "r683", "r684" ], "lang": { "en-us": { "role": { "label": "Statistical Measurement [Axis]" } } }, "localname": "RangeAxis", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-assumptions-used-in-the-blackscholes-option-pricing-model-details", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-assumptions-used-in-the-valuation-of-performance-stock-details", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-details-textual", "http://www.protolabs.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-", "http://www.protolabs.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual", "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations", "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-details-textual", "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details" ], "xbrltype": "stringItemType" }, "srt_RangeMember": { "auth_ref": [ "r295", "r313", "r355", "r412", "r417", "r596", "r597", "r598", "r599", "r600", "r601", "r620", "r658", "r661", "r683", "r684" ], "lang": { "en-us": { "role": { "label": "Statistical Measurement [Domain]" } } }, "localname": "RangeMember", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-assumptions-used-in-the-blackscholes-option-pricing-model-details", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-assumptions-used-in-the-valuation-of-performance-stock-details", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-details-textual", "http://www.protolabs.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-", "http://www.protolabs.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual", "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations", "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-details-textual", "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details" ], "xbrltype": "domainItemType" }, "srt_SegmentGeographicalDomain": { "auth_ref": [ "r186", "r187", "r326", "r329", "r660", "r674", "r675", "r676", "r677", "r678", "r679", "r680", "r681", "r682" ], "lang": { "en-us": { "role": { "label": "Geographical [Domain]" } } }, "localname": "SegmentGeographicalDomain", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes", "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-details-textual", "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-depreciation-and-amortization-details", "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-expenditures-for-additions-to-longlived-assets-details", "http://www.protolabs.com/20211231/role/statement-note-3-revenue-disaggregation-of-revenue-details", "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets", "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-changes-in-carrying-amount-of-goodwill-details", "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-details-textual" ], "xbrltype": "domainItemType" }, "srt_StatementGeographicalAxis": { "auth_ref": [ "r186", "r187", "r326", "r329", "r660", "r670", "r674", "r675", "r676", "r677", "r678", "r679", "r680", "r681", "r682" ], "lang": { "en-us": { "role": { "label": "Geographical [Axis]" } } }, "localname": "StatementGeographicalAxis", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes", "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-details-textual", "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-depreciation-and-amortization-details", "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-expenditures-for-additions-to-longlived-assets-details", "http://www.protolabs.com/20211231/role/statement-note-3-revenue-disaggregation-of-revenue-details", "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets", "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-changes-in-carrying-amount-of-goodwill-details", "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-details-textual" ], "xbrltype": "stringItemType" }, "us-gaap_AccountingPoliciesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Accounting Policies [Abstract]" } } }, "localname": "AccountingPoliciesAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "stringItemType" }, "us-gaap_AccountsPayableCurrent": { "auth_ref": [ "r40", "r589" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "us-gaap_AccountsPayableCurrent", "terseLabel": "Accounts payable" } } }, "localname": "AccountsPayableCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsReceivableNetCurrent": { "auth_ref": [ "r6", "r21", "r193", "r194" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-": { "order": 0.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.", "label": "Accounts receivable, net of allowance for doubtful accounts of $1,948 and $1,781 as of December 31, 2021 and December 31, 2020, respectively" } } }, "localname": "AccountsReceivableNetCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments": { "auth_ref": [ "r100" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-": { "order": 0.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The sum of the periodic adjustments of the differences between securities' face values and purchase prices that are charged against earnings. This is called accretion if the security was purchased at a discount and amortization if it was purchased at premium. As a noncash item, this element is an adjustment to net income when calculating cash provided by or used in operations using the indirect method.", "label": "us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments", "negatedLabel": "Amortization of marketable securities" } } }, "localname": "AccretionAmortizationOfDiscountsAndPremiumsInvestments", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedLiabilitiesAndOtherLiabilities": { "auth_ref": [], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-": { "order": 4.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of expenses incurred but not yet paid nor invoiced, and liabilities classified as other.", "label": "Accrued liabilities and other" } } }, "localname": "AccruedLiabilitiesAndOtherLiabilities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": { "auth_ref": [ "r38", "r270" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-9-property-and-equipment-components-of-property-and-equipment-details": { "order": 0.0, "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.", "label": "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "negatedLabel": "Accumulated depreciation and amortization" } } }, "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-9-property-and-equipment-components-of-property-and-equipment-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember": { "auth_ref": [ "r54", "r55", "r56", "r60", "r68", "r69", "r70" ], "lang": { "en-us": { "role": { "documentation": "Accumulated unrealized gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), attributable to parent.", "label": "AOCI, Accumulated Gain (Loss), Debt Securities, Available-for-sale, Parent [Member]" } } }, "localname": "AccumulatedNetUnrealizedInvestmentGainLossMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-15-accumulated-other-comprehensive-income-loss-other-comprehensive-loss-details" ], "xbrltype": "domainItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": { "auth_ref": [ "r24", "r58", "r59", "r60", "r647", "r666", "r667" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-": { "order": 1.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge.", "label": "Accumulated other comprehensive loss" } } }, "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeMember": { "auth_ref": [ "r57", "r60", "r68", "r69", "r70", "r119", "r120", "r121", "r543", "r662", "r663", "r703" ], "lang": { "en-us": { "role": { "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners.", "label": "AOCI Attributable to Parent [Member]" } } }, "localname": "AccumulatedOtherComprehensiveIncomeMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-shareholders-equity-", "http://www.protolabs.com/20211231/role/statement-note-15-accumulated-other-comprehensive-income-loss-other-comprehensive-loss-details" ], "xbrltype": "domainItemType" }, "us-gaap_AccumulatedTranslationAdjustmentMember": { "auth_ref": [ "r53", "r60", "r68", "r69", "r70", "r543", "r562", "r563", "r564", "r565", "r566" ], "lang": { "en-us": { "role": { "documentation": "Accumulated other comprehensive income (loss) resulting from foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature, attributable to the parent.", "label": "Accumulated Foreign Currency Adjustment Attributable to Parent [Member]" } } }, "localname": "AccumulatedTranslationAdjustmentMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-15-accumulated-other-comprehensive-income-loss-other-comprehensive-loss-details" ], "xbrltype": "domainItemType" }, "us-gaap_AdditionalPaidInCapitalCommonStock": { "auth_ref": [ "r22" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-": { "order": 3.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.", "label": "Additional paid-in capital" } } }, "localname": "AdditionalPaidInCapitalCommonStock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdditionalPaidInCapitalMember": { "auth_ref": [ "r119", "r120", "r121", "r457", "r458", "r459", "r548" ], "lang": { "en-us": { "role": { "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders.", "label": "Additional Paid-in Capital [Member]" } } }, "localname": "AdditionalPaidInCapitalMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-shareholders-equity-" ], "xbrltype": "domainItemType" }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "auth_ref": [ "r419", "r421", "r463", "r464" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.", "label": "Stock-based compensation expense" } } }, "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-shareholders-equity-" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Adjustments to reconcile net income to net cash provided by operating activities:" } } }, "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-" ], "xbrltype": "stringItemType" }, "us-gaap_AdvertisingCostsPolicyTextBlock": { "auth_ref": [ "r466" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for advertising cost.", "label": "Advertising Cost [Policy Text Block]" } } }, "localname": "AdvertisingCostsPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "us-gaap_AdvertisingExpense": { "auth_ref": [ "r467" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount charged to advertising expense for the period, which are expenses incurred with the objective of increasing revenue for a specified brand, product or product line.", "label": "us-gaap_AdvertisingExpense", "terseLabel": "Advertising Expense" } } }, "localname": "AdvertisingExpense", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_AllocatedShareBasedCompensationExpense": { "auth_ref": [ "r421", "r453", "r462" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.", "label": "Allocated share-based compensation expense" } } }, "localname": "AllocatedShareBasedCompensationExpense", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-stockbased-compensation-expense-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": { "auth_ref": [ "r28", "r199", "r230" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current.", "label": "Allowance for doubtful accounts" } } }, "localname": "AllowanceForDoubtfulAccountsReceivableCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-parentheticals" ], "xbrltype": "monetaryItemType" }, "us-gaap_AmortizationOfIntangibleAssets": { "auth_ref": [ "r99", "r255", "r261" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.", "label": "us-gaap_AmortizationOfIntangibleAssets", "terseLabel": "Amortization of Intangible Assets, Total" } } }, "localname": "AmortizationOfIntangibleAssets", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfNetIncomePerOutstandingUnitAmount": { "auth_ref": [ "r142" ], "lang": { "en-us": { "role": { "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic net Income or Loss per outstanding limited partnership unit in the future and that were not included in the computation of diluted net income per limited partnership unit, because to do so would increase net income per unit amounts or decrease loss per unit amounts for the period presented.", "label": "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfNetIncomePerOutstandingUnitAmount", "terseLabel": "Antidilutive Securities Excluded from Computation of Net Income, Per Outstanding Unit, Amount (in dollars per share)" } } }, "localname": "AntidilutiveSecuritiesExcludedFromComputationOfNetIncomePerOutstandingUnitAmount", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-4-net-income-per-common-share-details-textual" ], "xbrltype": "perShareItemType" }, "us-gaap_Assets": { "auth_ref": [ "r111", "r169", "r175", "r181", "r226", "r280", "r281", "r282", "r284", "r285", "r286", "r287", "r289", "r291", "r293", "r294", "r539", "r544", "r559", "r587", "r589", "r628", "r646" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.", "label": "us-gaap_Assets", "totalLabel": "Total assets" } } }, "localname": "Assets", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsCurrent": { "auth_ref": [ "r8", "r9", "r50", "r111", "r226", "r280", "r281", "r282", "r284", "r285", "r286", "r287", "r289", "r291", "r293", "r294", "r539", "r544", "r559", "r587", "r589" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-": { "order": 3.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.", "label": "us-gaap_AssetsCurrent", "totalLabel": "Total current assets" } } }, "localname": "AssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Current assets" } } }, "localname": "AssetsCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsFairValueDisclosure": { "auth_ref": [ "r551" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Fair value portion of probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.", "label": "us-gaap_AssetsFairValueDisclosure", "terseLabel": "Total" } } }, "localname": "AssetsFairValueDisclosure", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-7-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax": { "auth_ref": [ "r208" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, before tax, of unrealized gain in accumulated other comprehensive income (AOCI) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax", "terseLabel": "Unrealized Gains" } } }, "localname": "AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities-shortterm-and-longterm-available-for-sale-securities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax": { "auth_ref": [ "r209" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, before tax, of unrealized loss in accumulated other comprehensive income (AOCI) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax", "negatedTerseLabel": "Unrealized Losses" } } }, "localname": "AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities-shortterm-and-longterm-available-for-sale-securities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis": { "auth_ref": [ "r206", "r236" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis", "terseLabel": "Amortized Cost" } } }, "localname": "AvailableForSaleDebtSecuritiesAmortizedCostBasis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities-shortterm-and-longterm-available-for-sale-securities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesNextRollingTwelveMonthsFairValue": { "auth_ref": [], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities-balance-of-heldtomaturity-debt-securities-by-contractual-maturity-details": { "order": 0.0, "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtSecurities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Fair value of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in next rolling fiscal year following latest fiscal year. For interim and annual periods when interim period is reported on rolling approach, from latest statement of financial position date.", "label": "Due in one year or less" } } }, "localname": "AvailableForSaleSecuritiesDebtMaturitiesNextRollingTwelveMonthsFairValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities-balance-of-heldtomaturity-debt-securities-by-contractual-maturity-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesRollingYearTwoThroughFiveFairValue": { "auth_ref": [], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities-balance-of-heldtomaturity-debt-securities-by-contractual-maturity-details": { "order": 1.0, "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtSecurities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Fair value of investment in debt security, measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in next rolling fiscal year through fifth year following latest fiscal year. For interim and annual periods when interim period is reported on rolling approach, from latest statement of financial position date.", "label": "Due after one year through five years" } } }, "localname": "AvailableForSaleSecuritiesDebtMaturitiesRollingYearTwoThroughFiveFairValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities-balance-of-heldtomaturity-debt-securities-by-contractual-maturity-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesDebtSecurities": { "auth_ref": [ "r204", "r207", "r236", "r632" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities-balance-of-heldtomaturity-debt-securities-by-contractual-maturity-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Marketable securities", "terseLabel": "Fair Value", "totalLabel": "Total marketable securities" } } }, "localname": "AvailableForSaleSecuritiesDebtSecurities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-7-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details", "http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities-balance-of-heldtomaturity-debt-securities-by-contractual-maturity-details", "http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities-shortterm-and-longterm-available-for-sale-securities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_AwardTypeAxis": { "auth_ref": [ "r422", "r455" ], "lang": { "en-us": { "role": { "documentation": "Information by type of award under share-based payment arrangement.", "label": "Award Type [Axis]" } } }, "localname": "AwardTypeAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-assumptions-used-in-the-blackscholes-option-pricing-model-details", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-assumptions-used-in-the-valuation-of-performance-stock-details", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-details-textual", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-performance-stock-details", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-restricted-stock-options-details", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-stockbased-compensation-expense-details" ], "xbrltype": "stringItemType" }, "us-gaap_BankTimeDepositsMember": { "auth_ref": [ "r638" ], "lang": { "en-us": { "role": { "documentation": "Certificates of deposit (CD) or savings accounts with a fixed term or understanding the customer can only withdraw by giving advanced notice with a bank or other financial institution. A CD is a short to medium-term investment available at banks and savings and loan institutions where a customer agrees to lend money to the institution for a certain amount of time and is paid a predetermined rate of interest.", "label": "Bank Time Deposits [Member]" } } }, "localname": "BankTimeDepositsMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities-shortterm-and-longterm-available-for-sale-securities-details", "http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities-shortterm-and-longterm-heldtomaturity-securities-details" ], "xbrltype": "domainItemType" }, "us-gaap_BuildingMember": { "auth_ref": [ "r269" ], "lang": { "en-us": { "role": { "documentation": "Facility held for productive use including, but not limited to, office, production, storage and distribution facilities.", "label": "Building [Member]" } } }, "localname": "BuildingMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-", "http://www.protolabs.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_BuildingsAndImprovementsGross": { "auth_ref": [ "r11", "r269" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-9-property-and-equipment-components-of-property-and-equipment-details": { "order": 4.0, "parentTag": "us-gaap_PropertyPlantAndEquipmentGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before accumulated depreciation of building structures held for productive use including addition, improvement, or renovation to the structure, including, but not limited to, interior masonry, interior flooring, electrical, and plumbing.", "label": "Buildings and improvements" } } }, "localname": "BuildingsAndImprovementsGross", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-9-property-and-equipment-components-of-property-and-equipment-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessAcquisitionAcquireeDomain": { "auth_ref": [ "r408", "r413" ], "lang": { "en-us": { "role": { "documentation": "Identification of the acquiree in a material business combination (or series of individually immaterial business combinations), which may include the name or other type of identification of the acquiree.", "label": "Business Acquisition, Acquiree [Domain]" } } }, "localname": "BusinessAcquisitionAcquireeDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations", "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details", "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-details-textual", "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-tables", "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets", "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_BusinessAcquisitionAxis": { "auth_ref": [ "r408", "r413", "r514", "r515" ], "lang": { "en-us": { "role": { "documentation": "Information by business combination or series of individually immaterial business combinations.", "label": "Business Acquisition [Axis]" } } }, "localname": "BusinessAcquisitionAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations", "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details", "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-details-textual", "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-tables", "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets", "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-details-textual" ], "xbrltype": "stringItemType" }, "us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued": { "auth_ref": [ "r530" ], "lang": { "en-us": { "role": { "documentation": "Number of shares of equity interests issued or issuable to acquire entity.", "label": "us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued", "terseLabel": "Business Acquisition, Equity Interest Issued or Issuable, Number of Shares (in shares)" } } }, "localname": "BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-details-textual" ], "xbrltype": "sharesItemType" }, "us-gaap_BusinessCombinationConsiderationTransferred1": { "auth_ref": [ "r525", "r526", "r528" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer.", "label": "us-gaap_BusinessCombinationConsiderationTransferred1", "terseLabel": "Business Combination, Consideration Transferred, Total", "totalLabel": "Total purchase consideration" } } }, "localname": "BusinessCombinationConsiderationTransferred1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details", "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable": { "auth_ref": [ "r525", "r526" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details": { "order": 0.0, "parentTag": "us-gaap_BusinessCombinationConsiderationTransferred1", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of equity interests of the acquirer, including instruments or interests issued or issuable in consideration for the business combination.", "label": "us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable", "terseLabel": "Business Combination, Consideration Transferred, Equity Interests Issued and Issuable" } } }, "localname": "BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details", "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1": { "auth_ref": [ "r98", "r533" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-": { "order": 12.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in the value of a contingent consideration liability, including, but not limited to, differences arising upon settlement.", "label": "Changes in fair value of contingent consideration" } } }, "localname": "BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh": { "auth_ref": [ "r532" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "For contingent consideration arrangements recognized in connection with a business combination, this element represents an estimate of the high-end of the potential range (undiscounted) of the consideration which may be paid.", "label": "us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh", "terseLabel": "Business Combination, Contingent Consideration Arrangements, Range of Outcomes, Value, High" } } }, "localname": "BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationContingentConsiderationLiability": { "auth_ref": [ "r524", "r527", "r531" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liability recognized arising from contingent consideration in a business combination.", "label": "us-gaap_BusinessCombinationContingentConsiderationLiability", "terseLabel": "Business Combination, Contingent Consideration, Liability, Total" } } }, "localname": "BusinessCombinationContingentConsiderationLiability", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-details-textual", "http://www.protolabs.com/20211231/role/statement-note-7-fair-value-measurements-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationDisclosureTextBlock": { "auth_ref": [ "r536" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for a business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities. The disclosure may include leverage buyout transactions (as applicable).", "label": "Business Combination Disclosure [Text Block]" } } }, "localname": "BusinessCombinationDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations" ], "xbrltype": "textBlockItemType" }, "us-gaap_BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentIntangibles": { "auth_ref": [ "r518" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "This element represents the amount of any measurement period adjustment (as defined) realized during the reporting period to intangibles acquired in connection with a business combination for which the initial accounting was incomplete.", "label": "us-gaap_BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentIntangibles", "terseLabel": "Business Combination, Provisional Information, Initial Accounting Incomplete, Adjustment, Intangibles" } } }, "localname": "BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentIntangibles", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Assets acquired:" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details" ], "xbrltype": "stringItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets": { "auth_ref": [ "r516" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details": { "order": 2.0, "parentTag": "prlb_BusinessCombinationRecognizedIdentifiableAssetsAcquiredIncludingGoodwillAndLiabilitiesAssumedAssetsTotal", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer, acquired at the acquisition date.", "label": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets", "terseLabel": "Current assets" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities": { "auth_ref": [ "r516" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details": { "order": 4.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities due within one year or within the normal operating cycle, if longer, assumed at the acquisition date.", "label": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities", "terseLabel": "Current liabilities" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities": { "auth_ref": [ "r516" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details": { "order": 2.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred tax liability attributable to taxable temporary differences assumed at the acquisition date.", "label": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities", "terseLabel": "Long-term deferred tax liabilities" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIndefiniteLivedIntangibleAssets": { "auth_ref": [ "r516" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details": { "order": 3.0, "parentTag": "prlb_BusinessCombinationRecognizedIdentifiableAssetsAcquiredIncludingGoodwillAndLiabilitiesAssumedAssetsTotal", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of assets, excluding financial assets and goodwill, that lack physical substance, having a projected indefinite period of benefit, acquired at the acquisition date.", "label": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIndefiniteLivedIntangibleAssets", "terseLabel": "Intangible assets" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIndefiniteLivedIntangibleAssets", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities": { "auth_ref": [ "r516" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details": { "order": 0.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities assumed at the acquisition date.", "label": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "totalLabel": "Total liabilities assumed" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Liabilities assumed:" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details" ], "xbrltype": "stringItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilities": { "auth_ref": [ "r516" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details": { "order": 0.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities due after one year or the normal operating cycle, if longer, assumed at the acquisition date.", "label": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilities", "terseLabel": "Other long-term liabilities" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets": { "auth_ref": [ "r516" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details": { "order": 1.0, "parentTag": "prlb_BusinessCombinationRecognizedIdentifiableAssetsAcquiredIncludingGoodwillAndLiabilitiesAssumedAssetsTotal", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of other assets expected to be realized or consumed after one year or the normal operating cycle, if longer, acquired at the acquisition date.", "label": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets", "terseLabel": "Other long-term assets" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet": { "auth_ref": [ "r516" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount recognized for assets, including goodwill, in excess of (less than) the aggregate liabilities assumed.", "label": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "totalLabel": "Net assets acquired" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalizedComputerSoftwareNet": { "auth_ref": [ "r685" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The carrying amount of capitalized computer software costs net of accumulated amortization as of the balance sheet date.", "label": "us-gaap_CapitalizedComputerSoftwareNet", "terseLabel": "Capitalized Computer Software, Net, Ending Balance" } } }, "localname": "CapitalizedComputerSoftwareNet", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAcquiredFromAcquisition": { "auth_ref": [ "r84" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details": { "order": 0.0, "parentTag": "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The cash inflow associated with the acquisition of business during the period (for example, cash that was held by the acquired business).", "label": "us-gaap_CashAcquiredFromAcquisition", "negatedTerseLabel": "Cash acquired" } } }, "localname": "CashAcquiredFromAcquisition", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "auth_ref": [ "r4", "r34", "r101" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-": { "order": 2.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.", "label": "Cash and cash equivalents" } } }, "localname": "CashAndCashEquivalentsAtCarryingValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by type of cash and cash equivalent balance.", "label": "Cash and Cash Equivalents [Axis]" } } }, "localname": "CashAndCashEquivalentsAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities-shortterm-and-longterm-available-for-sale-securities-details", "http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities-shortterm-and-longterm-heldtomaturity-securities-details" ], "xbrltype": "stringItemType" }, "us-gaap_CashAndCashEquivalentsFairValueDisclosure": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Fair value portion of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "us-gaap_CashAndCashEquivalentsFairValueDisclosure", "terseLabel": "Cash and cash equivalents" } } }, "localname": "CashAndCashEquivalentsFairValueDisclosure", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-7-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsPolicyTextBlock": { "auth_ref": [ "r13", "r102" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates fair value.", "label": "Cash and Cash Equivalents, Policy [Policy Text Block]" } } }, "localname": "CashAndCashEquivalentsPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": { "auth_ref": [ "r94", "r101", "r104" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including, but not limited to, disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations", "periodEndLabel": "Cash and cash equivalents, end of period", "periodStartLabel": "Cash and cash equivalents, beginning of period" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "auth_ref": [ "r94", "r560" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "totalLabel": "Net (decrease) increase in cash and cash equivalents" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashMember": { "auth_ref": [ "r13" ], "lang": { "en-us": { "role": { "documentation": "Currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits.", "label": "Cash [Member]" } } }, "localname": "CashMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations", "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_CommercialPaperNotIncludedWithCashAndCashEquivalentsMember": { "auth_ref": [ "r356", "r556" ], "lang": { "en-us": { "role": { "documentation": "Unsecured promissory note (generally negotiable) that provides institutions with short-term funds that is excluded from cash and cash equivalents.", "label": "Commercial Paper, Not Included with Cash and Cash Equivalents [Member]" } } }, "localname": "CommercialPaperNotIncludedWithCashAndCashEquivalentsMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities-shortterm-and-longterm-available-for-sale-securities-details", "http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities-shortterm-and-longterm-heldtomaturity-securities-details" ], "xbrltype": "domainItemType" }, "us-gaap_CommonStockMember": { "auth_ref": [ "r119", "r120", "r548" ], "lang": { "en-us": { "role": { "documentation": "Stock that is subordinate to all other stock of the issuer.", "label": "Common Stock [Member]" } } }, "localname": "CommonStockMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-shareholders-equity-", "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations", "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_CommonStockParOrStatedValuePerShare": { "auth_ref": [ "r20" ], "lang": { "en-us": { "role": { "documentation": "Face amount or stated value per share of common stock.", "label": "Common stock, par value (in dollars per share)" } } }, "localname": "CommonStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-parentheticals" ], "xbrltype": "perShareItemType" }, "us-gaap_CommonStockSharesAuthorized": { "auth_ref": [ "r20" ], "lang": { "en-us": { "role": { "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws.", "label": "Common stock, shares authorized (in shares)" } } }, "localname": "CommonStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-parentheticals" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesIssued": { "auth_ref": [ "r20" ], "lang": { "en-us": { "role": { "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.", "label": "Common stock, shares issued (in shares)" } } }, "localname": "CommonStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-parentheticals" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesOutstanding": { "auth_ref": [ "r20", "r315" ], "lang": { "en-us": { "role": { "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.", "label": "Common stock, shares outstanding (in shares)", "periodEndLabel": "Balance (in shares)", "periodStartLabel": "Balance (in shares)" } } }, "localname": "CommonStockSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-parentheticals", "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-shareholders-equity-" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockValue": { "auth_ref": [ "r20", "r589" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-": { "order": 0.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.", "label": "Common stock, $0.001 par value, authorized 150,000,000 shares; issued and outstanding 27,465,945 and 26,776,796 shares as of December 31, 2021 and December 31, 2020, respectively" } } }, "localname": "CommonStockValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-" ], "xbrltype": "monetaryItemType" }, "us-gaap_CompensationRelatedCostsPolicyTextBlock": { "auth_ref": [ "r426" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for salaries, bonuses, incentive awards, postretirement and postemployment benefits granted to employees, including equity-based arrangements; discloses methodologies for measurement, and the bases for recognizing related assets and liabilities and recognizing and reporting compensation expense.", "label": "Compensation Related Costs, Policy [Policy Text Block]" } } }, "localname": "CompensationRelatedCostsPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ComprehensiveIncomeNetOfTax": { "auth_ref": [ "r63", "r65", "r66", "r74", "r636", "r653" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-comprehensive-income-": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners.", "label": "Comprehensive income (loss)", "totalLabel": "Comprehensive income" } } }, "localname": "ComprehensiveIncomeNetOfTax", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-comprehensive-income-", "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-shareholders-equity-" ], "xbrltype": "monetaryItemType" }, "us-gaap_ComprehensiveIncomeNetOfTaxAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), net of tax" } } }, "localname": "ComprehensiveIncomeNetOfTaxAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-comprehensive-income-" ], "xbrltype": "stringItemType" }, "us-gaap_ComprehensiveIncomePolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for comprehensive income.", "label": "Comprehensive Income, Policy [Policy Text Block]" } } }, "localname": "ComprehensiveIncomePolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ComputerEquipmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Long lived, depreciable assets that are used in the creation, maintenance and utilization of information systems.", "label": "Computer Equipment [Member]" } } }, "localname": "ComputerEquipmentMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-", "http://www.protolabs.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_ComputerSoftwareIntangibleAssetMember": { "auth_ref": [ "r256", "r259", "r523" ], "lang": { "en-us": { "role": { "documentation": "Collection of computer programs and related data that provide instructions to a computer, for example, but not limited to, application program, control module or operating system, that perform one or more particular functions or tasks.", "label": "Computer Software, Intangible Asset [Member]" } } }, "localname": "ComputerSoftwareIntangibleAssetMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details" ], "xbrltype": "domainItemType" }, "us-gaap_ConsolidationPolicyTextBlock": { "auth_ref": [ "r106", "r541" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting. The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary.", "label": "Consolidation, Policy [Policy Text Block]" } } }, "localname": "ConsolidationPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ConstructionInProgressGross": { "auth_ref": [ "r269" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-9-property-and-equipment-components-of-property-and-equipment-details": { "order": 0.0, "parentTag": "us-gaap_PropertyPlantAndEquipmentGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of structure or a modification to a structure under construction. Includes recently completed structures or modifications to structures that have not been placed into service.", "label": "Construction in progress" } } }, "localname": "ConstructionInProgressGross", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-9-property-and-equipment-components-of-property-and-equipment-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContingentConsiderationByTypeAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by type of contingent consideration.", "label": "Contingent Consideration by Type [Axis]" } } }, "localname": "ContingentConsiderationByTypeAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations", "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-details-textual" ], "xbrltype": "stringItemType" }, "us-gaap_ContingentConsiderationTypeDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Description of contingent payment arrangement.", "label": "Contingent Consideration Type [Domain]" } } }, "localname": "ContingentConsiderationTypeDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations", "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_CorporateDebtSecuritiesMember": { "auth_ref": [ "r356", "r402", "r669" ], "lang": { "en-us": { "role": { "documentation": "Debt securities issued by domestic or foreign corporate business, banks and other entities with a promise of repayment.", "label": "Corporate Debt Securities [Member]" } } }, "localname": "CorporateDebtSecuritiesMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities-shortterm-and-longterm-available-for-sale-securities-details", "http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities-shortterm-and-longterm-heldtomaturity-securities-details" ], "xbrltype": "domainItemType" }, "us-gaap_CostOfGoodsAndServicesSold": { "auth_ref": [ "r78", "r623" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-comprehensive-income-": { "order": 0.0, "parentTag": "us-gaap_GrossProfit", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.", "label": "Cost of revenue" } } }, "localname": "CostOfGoodsAndServicesSold", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-comprehensive-income-" ], "xbrltype": "monetaryItemType" }, "us-gaap_CostOfSalesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing cost of sales.", "label": "Cost of Sales [Member]" } } }, "localname": "CostOfSalesMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-stockbased-compensation-expense-details" ], "xbrltype": "domainItemType" }, "us-gaap_CurrentFederalTaxExpenseBenefit": { "auth_ref": [ "r112", "r493", "r501" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-provision-for-income-taxes-details": { "order": 3.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of current federal tax expense (benefit) pertaining to income (loss) from continuing operations.", "label": "Federal" } } }, "localname": "CurrentFederalTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-provision-for-income-taxes-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_CurrentForeignTaxExpenseBenefit": { "auth_ref": [ "r112", "r493" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-provision-for-income-taxes-details": { "order": 0.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of current foreign income tax expense (benefit) pertaining to income (loss) from continuing operations.", "label": "Foreign" } } }, "localname": "CurrentForeignTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-provision-for-income-taxes-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Current:" } } }, "localname": "CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-provision-for-income-taxes-details" ], "xbrltype": "stringItemType" }, "us-gaap_CurrentStateAndLocalTaxExpenseBenefit": { "auth_ref": [ "r112", "r493", "r501" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-provision-for-income-taxes-details": { "order": 1.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of current state and local tax expense (benefit) pertaining to income (loss) from continuing operations.", "label": "State" } } }, "localname": "CurrentStateAndLocalTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-provision-for-income-taxes-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_CustomerRelationshipsMember": { "auth_ref": [ "r522" ], "lang": { "en-us": { "role": { "documentation": "Customer relationship that exists between an entity and its customer, for example, but not limited to, tenant relationships.", "label": "Customer Relationships [Member]" } } }, "localname": "CustomerRelationshipsMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details" ], "xbrltype": "domainItemType" }, "us-gaap_DebtDisclosureTextBlock": { "auth_ref": [ "r110", "r296", "r297", "r298", "r299", "r300", "r301", "r302", "r304", "r305", "r306", "r308", "r311" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants.", "label": "Debt Disclosure [Text Block]" } } }, "localname": "DebtDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-11-financing-obligations" ], "xbrltype": "textBlockItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleRealizedGainLoss": { "auth_ref": [ "r220" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-": { "order": 13.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of realized gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "us-gaap_DebtSecuritiesAvailableForSaleRealizedGainLoss", "negatedLabel": "Realized loss on available-sale-securities" } } }, "localname": "DebtSecuritiesAvailableForSaleRealizedGainLoss", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleTableTextBlock": { "auth_ref": [ "r221" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Debt Securities, Available-for-sale [Table Text Block]" } } }, "localname": "DebtSecuritiesAvailableForSaleTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_DeferredFederalIncomeTaxExpenseBenefit": { "auth_ref": [ "r112", "r494", "r501" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-provision-for-income-taxes-details": { "order": 6.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred federal income tax expense (benefit) pertaining to income (loss) from continuing operations.", "label": "us-gaap_DeferredFederalIncomeTaxExpenseBenefit", "verboseLabel": "Federal" } } }, "localname": "DeferredFederalIncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-provision-for-income-taxes-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredForeignIncomeTaxExpenseBenefit": { "auth_ref": [ "r112", "r494", "r501" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-provision-for-income-taxes-details": { "order": 4.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred foreign income tax expense (benefit) pertaining to income (loss) from continuing operations.", "label": "us-gaap_DeferredForeignIncomeTaxExpenseBenefit", "verboseLabel": "Foreign" } } }, "localname": "DeferredForeignIncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-provision-for-income-taxes-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxExpenseBenefit": { "auth_ref": [ "r99", "r112", "r494", "r501", "r502", "r503" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.", "label": "Deferred taxes" } } }, "localname": "DeferredIncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Deferred" } } }, "localname": "DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-provision-for-income-taxes-details" ], "xbrltype": "stringItemType" }, "us-gaap_DeferredIncomeTaxLiabilities": { "auth_ref": [ "r17", "r18", "r485", "r629", "r644" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-deferred-tax-assets-and-liabilities-details": { "order": 1.0, "parentTag": "us-gaap_DeferredTaxLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred tax liability attributable to taxable temporary differences.", "label": "us-gaap_DeferredIncomeTaxLiabilities", "negatedTotalLabel": "Total deferred tax liabilities" } } }, "localname": "DeferredIncomeTaxLiabilities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-deferred-tax-assets-and-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxLiabilitiesNet": { "auth_ref": [ "r473", "r474" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-": { "order": 1.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.", "label": "Long-term deferred tax liabilities" } } }, "localname": "DeferredIncomeTaxLiabilitiesNet", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit": { "auth_ref": [ "r112", "r494", "r501" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-provision-for-income-taxes-details": { "order": 5.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred state and local tax expense (benefit) pertaining to income (loss) from continuing operations.", "label": "us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit", "verboseLabel": "State" } } }, "localname": "DeferredStateAndLocalIncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-provision-for-income-taxes-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets": { "auth_ref": [], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-deferred-tax-assets-and-liabilities-details": { "order": 7.0, "parentTag": "us-gaap_DeferredTaxAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from intangible assets including goodwill.", "label": "Intangible assets" } } }, "localname": "DeferredTaxAssetsGoodwillAndIntangibleAssets", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-deferred-tax-assets-and-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment": { "auth_ref": [ "r491", "r492" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-deferred-tax-assets-and-liabilities-details": { "order": 5.0, "parentTag": "us-gaap_DeferredTaxAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from in-process research and development costs expensed in connection with a business combination.", "label": "Research and development credit" } } }, "localname": "DeferredTaxAssetsInProcessResearchAndDevelopment", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-deferred-tax-assets-and-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsInventory": { "auth_ref": [ "r491", "r492" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-deferred-tax-assets-and-liabilities-details": { "order": 6.0, "parentTag": "us-gaap_DeferredTaxAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from inventory.", "label": "Inventories" } } }, "localname": "DeferredTaxAssetsInventory", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-deferred-tax-assets-and-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsNet": { "auth_ref": [ "r487" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-deferred-tax-assets-and-liabilities-details": { "order": 0.0, "parentTag": "us-gaap_DeferredTaxLiabilities", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.", "label": "us-gaap_DeferredTaxAssetsNet", "totalLabel": "Total deferred tax assets" } } }, "localname": "DeferredTaxAssetsNet", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-deferred-tax-assets-and-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsNetAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Deferred tax assets:" } } }, "localname": "DeferredTaxAssetsNetAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-deferred-tax-assets-and-liabilities-details" ], "xbrltype": "stringItemType" }, "us-gaap_DeferredTaxAssetsOperatingLossCarryforwards": { "auth_ref": [ "r491", "r492" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-deferred-tax-assets-and-liabilities-details": { "order": 3.0, "parentTag": "us-gaap_DeferredTaxAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards.", "label": "Net operating loss" } } }, "localname": "DeferredTaxAssetsOperatingLossCarryforwards", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-deferred-tax-assets-and-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsOther": { "auth_ref": [ "r491", "r492" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-deferred-tax-assets-and-liabilities-details": { "order": 4.0, "parentTag": "us-gaap_DeferredTaxAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences, classified as other.", "label": "Other assets" } } }, "localname": "DeferredTaxAssetsOther", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-deferred-tax-assets-and-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost": { "auth_ref": [ "r491", "r492" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-deferred-tax-assets-and-liabilities-details": { "order": 8.0, "parentTag": "us-gaap_DeferredTaxAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from share-based compensation.", "label": "Warrants and stock options" } } }, "localname": "DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-deferred-tax-assets-and-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities": { "auth_ref": [ "r491", "r492" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-deferred-tax-assets-and-liabilities-details": { "order": 1.0, "parentTag": "us-gaap_DeferredTaxAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from accrued liabilities.", "label": "Accrued expenses" } } }, "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-deferred-tax-assets-and-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsValuationAllowance": { "auth_ref": [ "r486" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-deferred-tax-assets-and-liabilities-details": { "order": 2.0, "parentTag": "us-gaap_DeferredTaxAssetsNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized.", "label": "us-gaap_DeferredTaxAssetsValuationAllowance", "negatedLabel": "Less valuation allowance", "terseLabel": "Deferred Tax Assets, Valuation Allowance, Total" } } }, "localname": "DeferredTaxAssetsValuationAllowance", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-details-textual", "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-deferred-tax-assets-and-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxLiabilities": { "auth_ref": [ "r474", "r487" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-deferred-tax-assets-and-liabilities-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences without jurisdictional netting.", "label": "us-gaap_DeferredTaxLiabilities", "negatedTotalLabel": "Net deferred tax liability" } } }, "localname": "DeferredTaxLiabilities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-deferred-tax-assets-and-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill": { "auth_ref": [ "r491", "r492", "r534", "r535" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-deferred-tax-assets-and-liabilities-details": { "order": 2.0, "parentTag": "us-gaap_DeferredIncomeTaxLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from goodwill.", "label": "us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill", "negatedLabel": "Goodwill" } } }, "localname": "DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-deferred-tax-assets-and-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets": { "auth_ref": [ "r491", "r492" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-deferred-tax-assets-and-liabilities-details": { "order": 1.0, "parentTag": "us-gaap_DeferredIncomeTaxLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from intangible assets other than goodwill.", "label": "us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets", "negatedLabel": "Intangible assets" } } }, "localname": "DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-deferred-tax-assets-and-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxLiabilitiesLeasingArrangements": { "auth_ref": [ "r491", "r492" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-deferred-tax-assets-and-liabilities-details": { "order": 0.0, "parentTag": "us-gaap_DeferredIncomeTaxLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from leasing arrangements.", "label": "us-gaap_DeferredTaxLiabilitiesLeasingArrangements", "negatedTerseLabel": "Leases" } } }, "localname": "DeferredTaxLiabilitiesLeasingArrangements", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-deferred-tax-assets-and-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxLiabilitiesNetAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Deferred tax liabilities:" } } }, "localname": "DeferredTaxLiabilitiesNetAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-deferred-tax-assets-and-liabilities-details" ], "xbrltype": "stringItemType" }, "us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment": { "auth_ref": [ "r491", "r492" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-deferred-tax-assets-and-liabilities-details": { "order": 3.0, "parentTag": "us-gaap_DeferredIncomeTaxLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from property, plant, and equipment.", "label": "us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment", "negatedLabel": "Depreciation" } } }, "localname": "DeferredTaxLiabilitiesPropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-deferred-tax-assets-and-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries": { "auth_ref": [ "r511" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred tax liability not recognized because of the exceptions to comprehensive recognition of deferred taxes related to undistributed earnings of foreign subsidiaries.", "label": "us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries", "terseLabel": "Deferred Tax Liability Not Recognized, Amount of Unrecognized Deferred Tax Liability, Undistributed Earnings of Foreign Subsidiaries" } } }, "localname": "DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of discretionary contributions made by an employer to a defined contribution plan.", "label": "us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount", "terseLabel": "Defined Contribution Plan, Employer Discretionary Contribution Amount" } } }, "localname": "DefinedContributionPlanEmployerDiscretionaryContributionAmount", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-12-employee-benefit-plans-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Maximum percentage of employee gross pay the employee may contribute to a defined contribution plan.", "label": "us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent", "terseLabel": "Defined Contribution Plan, Maximum Annual Contributions Per Employee, Percent" } } }, "localname": "DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-12-employee-benefit-plans-details-textual" ], "xbrltype": "percentItemType" }, "us-gaap_Depreciation": { "auth_ref": [ "r99", "r268" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.", "label": "us-gaap_Depreciation", "terseLabel": "Depreciation, Total" } } }, "localname": "Depreciation", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-9-property-and-equipment-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_DepreciationDepletionAndAmortization": { "auth_ref": [ "r99", "r164" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-": { "order": 5.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets.", "label": "Depreciation and amortization", "terseLabel": "Depreciation and amortization" } } }, "localname": "DepreciationDepletionAndAmortization", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-", "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-depreciation-and-amortization-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_DisaggregationOfRevenueAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Revenue:" } } }, "localname": "DisaggregationOfRevenueAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-3-revenue-disaggregation-of-revenue-details" ], "xbrltype": "stringItemType" }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "auth_ref": [ "r326" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.", "label": "Disaggregation of Revenue [Table Text Block]" } } }, "localname": "DisaggregationOfRevenueTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-3-revenue-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": { "auth_ref": [ "r465" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for share-based payment arrangement.", "label": "Share-based Payment Arrangement [Text Block]" } } }, "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation" ], "xbrltype": "textBlockItemType" }, "us-gaap_DisclosureOfReclassificationAmountTextBlock": { "auth_ref": [ "r81" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for any adjustments made during the period to avoid double counting in comprehensive income items displayed as part of net income that also had been displayed as part of other comprehensive income in that period or earlier periods. These adjustments include reclassifications to net income of items in accumulated comprehensive income, such as deferred gains or losses on qualifying hedges when hedged item reported in net income, holding gains or losses on available-for-sale securities transferred into trading category, unrealized holding gains or losses on debt securities transferred from held-to-maturity category into available-for-sale category and accumulated translation adjustment attributable to foreign subsidiary or investment in foreign entity upon sale or liquidation.", "label": "Disclosure of Reclassification Amount [Text Block]" } } }, "localname": "DisclosureOfReclassificationAmountTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-15-accumulated-other-comprehensive-income-loss" ], "xbrltype": "textBlockItemType" }, "us-gaap_DisclosureTextBlockAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "us-gaap_DisclosureTextBlockAbstract", "terseLabel": "Notes to Financial Statements" } } }, "localname": "DisclosureTextBlockAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-1-nature-of-business", "http://www.protolabs.com/20211231/role/statement-note-10-inventory", "http://www.protolabs.com/20211231/role/statement-note-11-financing-obligations", "http://www.protolabs.com/20211231/role/statement-note-12-employee-benefit-plans", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation", "http://www.protolabs.com/20211231/role/statement-note-14-leases", "http://www.protolabs.com/20211231/role/statement-note-15-accumulated-other-comprehensive-income-loss", "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes", "http://www.protolabs.com/20211231/role/statement-note-17-litigation", "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting", "http://www.protolabs.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-", "http://www.protolabs.com/20211231/role/statement-note-3-revenue", "http://www.protolabs.com/20211231/role/statement-note-4-net-income-per-common-share", "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations", "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets", "http://www.protolabs.com/20211231/role/statement-note-7-fair-value-measurements", "http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities", "http://www.protolabs.com/20211231/role/statement-note-9-property-and-equipment" ], "xbrltype": "stringItemType" }, "us-gaap_DomesticPlanMember": { "auth_ref": [ "r407", "r411", "r416" ], "lang": { "en-us": { "role": { "documentation": "Location of employer sponsoring plan, designed to provide retirement benefits, determined as principal place of business. Includes, but is not limited to, defined benefit and defined contribution plans.", "label": "Domestic Plan [Member]" } } }, "localname": "DomesticPlanMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-12-employee-benefit-plans", "http://www.protolabs.com/20211231/role/statement-note-12-employee-benefit-plans-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_EarningsPerShareAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net income per share:" } } }, "localname": "EarningsPerShareAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-comprehensive-income-" ], "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareBasic": { "auth_ref": [ "r75", "r124", "r125", "r126", "r127", "r128", "r132", "r134", "r139", "r140", "r141", "r145", "r146", "r549", "r550", "r637", "r654" ], "lang": { "en-us": { "role": { "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.", "label": "Basic (in dollars per share)", "terseLabel": "Basic (in dollars per share)" } } }, "localname": "EarningsPerShareBasic", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-comprehensive-income-", "http://www.protolabs.com/20211231/role/statement-note-4-net-income-per-common-share-computation-of-basic-and-diluted-net-income-per-share-details" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareDiluted": { "auth_ref": [ "r75", "r124", "r125", "r126", "r127", "r128", "r134", "r139", "r140", "r141", "r145", "r146", "r549", "r550", "r637", "r654" ], "lang": { "en-us": { "role": { "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.", "label": "Diluted (in dollars per share)", "terseLabel": "Diluted (in dollars per share)" } } }, "localname": "EarningsPerShareDiluted", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-comprehensive-income-", "http://www.protolabs.com/20211231/role/statement-note-4-net-income-per-common-share-computation-of-basic-and-diluted-net-income-per-share-details" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareTextBlock": { "auth_ref": [ "r142", "r143", "r144", "r147" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for earnings per share.", "label": "Earnings Per Share [Text Block]" } } }, "localname": "EarningsPerShareTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-4-net-income-per-common-share" ], "xbrltype": "textBlockItemType" }, "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": { "auth_ref": [ "r560" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-": { "order": 1.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies; including, but not limited to, disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Effect of exchange rate changes on cash and cash equivalents" } } }, "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-" ], "xbrltype": "monetaryItemType" }, "us-gaap_EffectiveIncomeTaxRateContinuingOperations": { "auth_ref": [ "r476" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-reconciliation-of-federal-statutory-income-tax-rate-to-effective-tax-rate-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "lang": { "en-us": { "role": { "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.", "label": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "terseLabel": "Effective Income Tax Rate Reconciliation, Percent, Total", "totalLabel": "Total" } } }, "localname": "EffectiveIncomeTaxRateContinuingOperations", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-details-textual", "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-reconciliation-of-federal-statutory-income-tax-rate-to-effective-tax-rate-details" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": { "auth_ref": [ "r114", "r476", "r505" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-reconciliation-of-federal-statutory-income-tax-rate-to-effective-tax-rate-details": { "order": 6.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss).", "label": "Federal tax statutory rate" } } }, "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-reconciliation-of-federal-statutory-income-tax-rate-to-effective-tax-rate-details" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance": { "auth_ref": [ "r476", "r505" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-reconciliation-of-federal-statutory-income-tax-rate-to-effective-tax-rate-details": { "order": 1.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the valuation allowance for deferred tax assets.", "label": "Valuation allowance against deferred tax assets" } } }, "localname": "EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-reconciliation-of-federal-statutory-income-tax-rate-to-effective-tax-rate-details" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential": { "auth_ref": [ "r476", "r505" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-reconciliation-of-federal-statutory-income-tax-rate-to-effective-tax-rate-details": { "order": 4.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to statutory income tax expense (benefit) outside of the country of domicile.", "label": "Foreign rate differential" } } }, "localname": "EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-reconciliation-of-federal-statutory-income-tax-rate-to-effective-tax-rate-details" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments": { "auth_ref": [ "r476", "r505" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-reconciliation-of-federal-statutory-income-tax-rate-to-effective-tax-rate-details": { "order": 8.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other adjustments.", "label": "Miscellaneous" } } }, "localname": "EffectiveIncomeTaxRateReconciliationOtherAdjustments", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-reconciliation-of-federal-statutory-income-tax-rate-to-effective-tax-rate-details" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes": { "auth_ref": [ "r476", "r505" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-reconciliation-of-federal-statutory-income-tax-rate-to-effective-tax-rate-details": { "order": 5.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to state and local income tax expense (benefit), net of federal tax expense (benefit).", "label": "State tax (net of federal benefit)" } } }, "localname": "EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-reconciliation-of-federal-statutory-income-tax-rate-to-effective-tax-rate-details" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies": { "auth_ref": [ "r476", "r505" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-reconciliation-of-federal-statutory-income-tax-rate-to-effective-tax-rate-details": { "order": 3.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to income tax contingencies. Includes, but not limited to, domestic tax contingency, foreign tax contingency, state and local tax contingency, and other contingencies.", "label": "Tax reserves" } } }, "localname": "EffectiveIncomeTaxRateReconciliationTaxContingencies", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-reconciliation-of-federal-statutory-income-tax-rate-to-effective-tax-rate-details" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch": { "auth_ref": [ "r476", "r505" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-reconciliation-of-federal-statutory-income-tax-rate-to-effective-tax-rate-details": { "order": 7.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to research tax credit.", "label": "us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch", "negatedLabel": "Research and development credit" } } }, "localname": "EffectiveIncomeTaxRateReconciliationTaxCreditsResearch", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-reconciliation-of-federal-statutory-income-tax-rate-to-effective-tax-rate-details" ], "xbrltype": "percentItemType" }, "us-gaap_EmployeeRelatedLiabilitiesCurrent": { "auth_ref": [ "r43" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-": { "order": 0.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accrued compensation" } } }, "localname": "EmployeeRelatedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": { "auth_ref": [ "r454" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement.", "label": "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized", "terseLabel": "Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount, Total" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": { "auth_ref": [ "r454" ], "lang": { "en-us": { "role": { "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1", "terseLabel": "Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition (Year)" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-details-textual" ], "xbrltype": "durationItemType" }, "us-gaap_EmployeeStockOptionMember": { "auth_ref": [ "r451" ], "lang": { "en-us": { "role": { "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time.", "label": "Share-based Payment Arrangement, Option [Member]" } } }, "localname": "EmployeeStockOptionMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-assumptions-used-in-the-blackscholes-option-pricing-model-details", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_EquipmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tangible personal property used to produce goods and services.", "label": "Equipment [Member]" } } }, "localname": "EquipmentMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-", "http://www.protolabs.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_EquityComponentDomain": { "auth_ref": [ "r0", "r68", "r69", "r70", "r119", "r120", "r121", "r123", "r129", "r131", "r149", "r229", "r315", "r316", "r457", "r458", "r459", "r497", "r498", "r548", "r561", "r562", "r563", "r564", "r565", "r566", "r662", "r663", "r664", "r703" ], "lang": { "en-us": { "role": { "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc.", "label": "Equity Component [Domain]" } } }, "localname": "EquityComponentDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-shareholders-equity-", "http://www.protolabs.com/20211231/role/statement-note-15-accumulated-other-comprehensive-income-loss-other-comprehensive-loss-details" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock": { "auth_ref": [ "r551", "r552" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of assets, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, by class that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3).", "label": "Fair Value, Assets Measured on Recurring Basis [Table Text Block]" } } }, "localname": "FairValueAssetsMeasuredOnRecurringBasisTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-7-fair-value-measurements-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain": { "auth_ref": [ "r555" ], "lang": { "en-us": { "role": { "documentation": "Class of asset.", "label": "Asset Class [Domain]" } } }, "localname": "FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-7-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueByAssetClassAxis": { "auth_ref": [ "r551", "r557" ], "lang": { "en-us": { "role": { "documentation": "Information by class of asset.", "label": "Asset Class [Axis]" } } }, "localname": "FairValueByAssetClassAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-7-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "auth_ref": [ "r303", "r309", "r310", "r356", "r358", "r359", "r360", "r361", "r362", "r363", "r402", "r552", "r593", "r594", "r595" ], "lang": { "en-us": { "role": { "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient.", "label": "Fair Value Hierarchy and NAV [Axis]" } } }, "localname": "FairValueByFairValueHierarchyLevelAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-7-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByMeasurementFrequencyAxis": { "auth_ref": [ "r551", "r552", "r553", "r554", "r558" ], "lang": { "en-us": { "role": { "documentation": "Information by measurement frequency.", "label": "Measurement Frequency [Axis]" } } }, "localname": "FairValueByMeasurementFrequencyAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-7-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueDisclosuresTextBlock": { "auth_ref": [ "r556" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information.", "label": "Fair Value Disclosures [Text Block]" } } }, "localname": "FairValueDisclosuresTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-7-fair-value-measurements" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueInputsLevel1Member": { "auth_ref": [ "r303", "r356", "r358", "r363", "r402", "r552", "r593" ], "lang": { "en-us": { "role": { "documentation": "Quoted prices in active markets for identical assets or liabilities that the reporting entity can access at the measurement date.", "label": "Fair Value, Inputs, Level 1 [Member]" } } }, "localname": "FairValueInputsLevel1Member", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-7-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueInputsLevel2Member": { "auth_ref": [ "r303", "r309", "r310", "r356", "r358", "r363", "r402", "r552", "r594" ], "lang": { "en-us": { "role": { "documentation": "Inputs other than quoted prices included within level 1 that are observable for an asset or liability, either directly or indirectly, including, but not limited to, quoted prices for similar assets or liabilities in active markets, or quoted prices for identical or similar assets or liabilities in inactive markets.", "label": "Fair Value, Inputs, Level 2 [Member]" } } }, "localname": "FairValueInputsLevel2Member", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-7-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueInputsLevel3Member": { "auth_ref": [ "r303", "r309", "r310", "r356", "r358", "r359", "r360", "r361", "r362", "r363", "r402", "r552", "r595" ], "lang": { "en-us": { "role": { "documentation": "Unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.", "label": "Fair Value, Inputs, Level 3 [Member]" } } }, "localname": "FairValueInputsLevel3Member", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-7-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementFrequencyDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Measurement frequency.", "label": "Measurement Frequency [Domain]" } } }, "localname": "FairValueMeasurementFrequencyDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-7-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": { "auth_ref": [ "r303", "r309", "r310", "r356", "r358", "r359", "r360", "r361", "r362", "r363", "r402", "r593", "r594", "r595" ], "lang": { "en-us": { "role": { "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value.", "label": "Fair Value Hierarchy and NAV [Domain]" } } }, "localname": "FairValueMeasurementsFairValueHierarchyDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-7-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementsRecurringMember": { "auth_ref": [ "r556", "r558" ], "lang": { "en-us": { "role": { "documentation": "Frequent fair value measurement. Includes, but is not limited to, fair value adjustment for impairment of asset, liability or equity, frequently measured at fair value.", "label": "Fair Value, Recurring [Member]" } } }, "localname": "FairValueMeasurementsRecurringMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-7-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details" ], "xbrltype": "domainItemType" }, "us-gaap_FinanceLeaseInterestExpense": { "auth_ref": [ "r570", "r577", "r586" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-14-leases-lease-expense-details": { "order": 0.0, "parentTag": "us-gaap_LeaseCost", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of interest expense on finance lease liability.", "label": "Interest on lease obligations" } } }, "localname": "FinanceLeaseInterestExpense", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-14-leases-lease-expense-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseInterestPaymentOnLiability": { "auth_ref": [ "r572", "r580" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of interest paid on finance lease liability.", "label": "Operating cash flows from finance leases" } } }, "localname": "FinanceLeaseInterestPaymentOnLiability", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-14-leases-lease-expense-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseLiability": { "auth_ref": [ "r569", "r585" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-14-leases-balance-sheet-information-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease.", "label": "Present value of lease liabilities", "totalLabel": "Total finance lease liabilities" } } }, "localname": "FinanceLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-14-leases-balance-sheet-information-details", "http://www.protolabs.com/20211231/role/statement-note-14-leases-maturities-of-operating-lease-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseLiabilityCurrent": { "auth_ref": [ "r569" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 }, "http://www.protolabs.com/20211231/role/statement-note-14-leases-balance-sheet-information-details": { "order": 1.0, "parentTag": "us-gaap_FinanceLeaseLiability", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as current.", "label": "Current finance lease liabilities" } } }, "localname": "FinanceLeaseLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-", "http://www.protolabs.com/20211231/role/statement-note-14-leases-balance-sheet-information-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseLiabilityNoncurrent": { "auth_ref": [ "r569" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-": { "order": 2.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 }, "http://www.protolabs.com/20211231/role/statement-note-14-leases-balance-sheet-information-details": { "order": 0.0, "parentTag": "us-gaap_FinanceLeaseLiability", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as noncurrent.", "label": "Long-term finance lease liabilities" } } }, "localname": "FinanceLeaseLiabilityNoncurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-", "http://www.protolabs.com/20211231/role/statement-note-14-leases-balance-sheet-information-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseLiabilityPaymentsDue": { "auth_ref": [ "r585" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-14-leases-maturities-of-operating-lease-liabilities-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payments for finance lease.", "label": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "totalLabel": "Total future minimum lease payments, finance lease" } } }, "localname": "FinanceLeaseLiabilityPaymentsDue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-14-leases-maturities-of-operating-lease-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive": { "auth_ref": [ "r585" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-14-leases-maturities-of-operating-lease-liabilities-details": { "order": 4.0, "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "After 2027, finance lease" } } }, "localname": "FinanceLeaseLiabilityPaymentsDueAfterYearFive", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-14-leases-maturities-of-operating-lease-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths": { "auth_ref": [ "r585" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-14-leases-maturities-of-operating-lease-liabilities-details": { "order": 3.0, "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "2022, finance lease" } } }, "localname": "FinanceLeaseLiabilityPaymentsDueNextTwelveMonths", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-14-leases-maturities-of-operating-lease-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive": { "auth_ref": [ "r585" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "2026, finance lease" } } }, "localname": "FinanceLeaseLiabilityPaymentsDueYearFive", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-14-leases-maturities-of-operating-lease-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour": { "auth_ref": [ "r585" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-14-leases-maturities-of-operating-lease-liabilities-details": { "order": 0.0, "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "2025, finance lease" } } }, "localname": "FinanceLeaseLiabilityPaymentsDueYearFour", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-14-leases-maturities-of-operating-lease-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree": { "auth_ref": [ "r585" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-14-leases-maturities-of-operating-lease-liabilities-details": { "order": 1.0, "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "2024, finance lease" } } }, "localname": "FinanceLeaseLiabilityPaymentsDueYearThree", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-14-leases-maturities-of-operating-lease-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo": { "auth_ref": [ "r585" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-14-leases-maturities-of-operating-lease-liabilities-details": { "order": 2.0, "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "2023, finance lease" } } }, "localname": "FinanceLeaseLiabilityPaymentsDueYearTwo", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-14-leases-maturities-of-operating-lease-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount": { "auth_ref": [ "r585" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for finance lease.", "label": "us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount", "negatedLabel": "Less interest, finance lease" } } }, "localname": "FinanceLeaseLiabilityUndiscountedExcessAmount", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-14-leases-maturities-of-operating-lease-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeasePrincipalPayments": { "auth_ref": [ "r571", "r580" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow for principal payment on finance lease.", "label": "Financing cash flows from finance leases", "negatedLabel": "Principal repayments of finance lease obligations" } } }, "localname": "FinanceLeasePrincipalPayments", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-", "http://www.protolabs.com/20211231/role/statement-note-14-leases-lease-expense-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseRightOfUseAsset": { "auth_ref": [ "r568" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-": { "order": 5.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after accumulated amortization, of right-of-use asset from finance lease.", "label": "Finance lease assets" } } }, "localname": "FinanceLeaseRightOfUseAsset", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-", "http://www.protolabs.com/20211231/role/statement-note-14-leases-balance-sheet-information-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseRightOfUseAssetAmortization": { "auth_ref": [ "r570", "r577", "r586" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-14-leases-lease-expense-details": { "order": 1.0, "parentTag": "us-gaap_LeaseCost", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization expense attributable to right-of-use asset from finance lease.", "label": "Amortization of right-of-use assets" } } }, "localname": "FinanceLeaseRightOfUseAssetAmortization", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-14-leases-lease-expense-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent": { "auth_ref": [ "r583", "r586" ], "lang": { "en-us": { "role": { "documentation": "Weighted average discount rate for finance lease calculated at point in time.", "label": "Weighted Average Discount Rate - finance leases" } } }, "localname": "FinanceLeaseWeightedAverageDiscountRatePercent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-14-leases-weighted-average-remaining-terms-and-discount-rates-details" ], "xbrltype": "percentItemType" }, "us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1": { "auth_ref": [ "r582", "r586" ], "lang": { "en-us": { "role": { "documentation": "Weighted average remaining lease term for finance lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Weighted Average Remaining Lease Term - finance leases (years) (Year)" } } }, "localname": "FinanceLeaseWeightedAverageRemainingLeaseTerm1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-14-leases-weighted-average-remaining-terms-and-discount-rates-details" ], "xbrltype": "durationItemType" }, "us-gaap_FinancialInstrumentAxis": { "auth_ref": [ "r214", "r218", "r222", "r223", "r224", "r231", "r232", "r233", "r234", "r235", "r237", "r238", "r239", "r240", "r307", "r314", "r547", "r590", "r591", "r592", "r593", "r594", "r595", "r596", "r597", "r598", "r599", "r600", "r601", "r602", "r603", "r604", "r605", "r606", "r607", "r608", "r609", "r610", "r611", "r612", "r613", "r614", "r615", "r616", "r617", "r618", "r619", "r694", "r695", "r696", "r697", "r698", "r699", "r700" ], "lang": { "en-us": { "role": { "documentation": "Information by type of financial instrument.", "label": "Financial Instrument [Axis]" } } }, "localname": "FinancialInstrumentAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities-shortterm-and-longterm-available-for-sale-securities-details", "http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities-shortterm-and-longterm-heldtomaturity-securities-details" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetUsefulLife": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Useful Life (Year)", "terseLabel": "Finite-Lived Intangible Asset, Useful Life (Year)" } } }, "localname": "FiniteLivedIntangibleAssetUsefulLife", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual", "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details" ], "xbrltype": "durationItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": { "auth_ref": [ "r260" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Accumulated Amortization", "negatedLabel": "Accumulated Amortization" } } }, "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive": { "auth_ref": [], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details": { "order": 1.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for asset, excluding financial asset and goodwill, lacking physical substance with finite life expected to be recognized after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive", "terseLabel": "Thereafter" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": { "auth_ref": [ "r262" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details": { "order": 4.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "terseLabel": "2022" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive": { "auth_ref": [ "r262" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details": { "order": 0.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive", "terseLabel": "2026" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFive", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": { "auth_ref": [ "r262" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details": { "order": 3.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour", "terseLabel": "2025" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": { "auth_ref": [ "r262" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details": { "order": 2.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree", "terseLabel": "2024" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": { "auth_ref": [ "r262" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details": { "order": 5.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo", "terseLabel": "2023" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": { "auth_ref": [ "r256", "r257", "r260", "r263", "r624", "r625" ], "lang": { "en-us": { "role": { "documentation": "Information by major type or class of finite-lived intangible assets.", "label": "Finite-Lived Intangible Assets by Major Class [Axis]" } } }, "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsGross": { "auth_ref": [ "r260", "r625" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Gross" } } }, "localname": "FiniteLivedIntangibleAssetsGross", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": { "auth_ref": [ "r256", "r259" ], "lang": { "en-us": { "role": { "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company.", "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]" } } }, "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details" ], "xbrltype": "domainItemType" }, "us-gaap_FiniteLivedIntangibleAssetsNet": { "auth_ref": [ "r260", "r624" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Net", "totalLabel": "Total estimated amortization expense" } } }, "localname": "FiniteLivedIntangibleAssetsNet", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details", "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1": { "auth_ref": [ "r624" ], "lang": { "en-us": { "role": { "documentation": "Remaining amortization period of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Weighted average useful life remaining (Year)" } } }, "localname": "FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details" ], "xbrltype": "durationItemType" }, "us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock": { "auth_ref": [ "r567" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for (1) transactions denominated in a currency other than the reporting enterprise's functional currency, (2) translating foreign currency financial statements that are incorporated into the financial statements of the reporting enterprise by consolidation, combination, or the equity method of accounting, and (3) remeasurement of the financial statements of a foreign reporting enterprise in a hyperinflationary economy.", "label": "Foreign Currency Transactions and Translations Policy [Policy Text Block]" } } }, "localname": "ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ForeignPlanMember": { "auth_ref": [ "r407", "r411", "r416" ], "lang": { "en-us": { "role": { "documentation": "Location of employer sponsoring plan, designed to provide retirement benefits, not determined as principal place of business. Includes, but is not limited to, defined benefit and defined contribution plans.", "label": "Foreign Plan [Member]" } } }, "localname": "ForeignPlanMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-12-employee-benefit-plans", "http://www.protolabs.com/20211231/role/statement-note-12-employee-benefit-plans-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_GeneralAndAdministrativeExpense": { "auth_ref": [ "r79" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-comprehensive-income-": { "order": 0.0, "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line.", "label": "General and administrative" } } }, "localname": "GeneralAndAdministrativeExpense", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-comprehensive-income-" ], "xbrltype": "monetaryItemType" }, "us-gaap_GeneralAndAdministrativeExpenseMember": { "auth_ref": [ "r76" ], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing general and administrative expense.", "label": "General and Administrative Expense [Member]" } } }, "localname": "GeneralAndAdministrativeExpenseMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-stockbased-compensation-expense-details" ], "xbrltype": "domainItemType" }, "us-gaap_Goodwill": { "auth_ref": [ "r245", "r247", "r589", "r627" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-": { "order": 1.0, "parentTag": "us-gaap_Assets", "weight": 1.0 }, "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details": { "order": 0.0, "parentTag": "prlb_BusinessCombinationRecognizedIdentifiableAssetsAcquiredIncludingGoodwillAndLiabilitiesAssumedAssetsTotal", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.", "label": "Goodwill", "periodEndLabel": "Goodwill, balance as of the end of the period", "periodStartLabel": "Goodwill, balance as of the beginning of the period", "terseLabel": "Goodwill" } } }, "localname": "Goodwill", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-", "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details", "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-changes-in-carrying-amount-of-goodwill-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillAcquiredDuringPeriod": { "auth_ref": [ "r248" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase in asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized resulting from a business combination.", "label": "Goodwill acquired during the period", "terseLabel": "Goodwill, Acquired During Period" } } }, "localname": "GoodwillAcquiredDuringPeriod", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-changes-in-carrying-amount-of-goodwill-details", "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock": { "auth_ref": [ "r266" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for goodwill and intangible assets.", "label": "Goodwill and Intangible Assets Disclosure [Text Block]" } } }, "localname": "GoodwillAndIntangibleAssetsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets" ], "xbrltype": "textBlockItemType" }, "us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy": { "auth_ref": [ "r252" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for goodwill. This accounting policy also may address how an entity assesses and measures impairment of goodwill, how reporting units are determined, how goodwill is allocated to such units, and how the fair values of the reporting units are determined.", "label": "Goodwill and Intangible Assets, Goodwill, Policy [Policy Text Block]" } } }, "localname": "GoodwillAndIntangibleAssetsGoodwillPolicy", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy": { "auth_ref": [ "r258" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for intangible assets. This accounting policy may address both intangible assets subject to amortization and those that are not. The following also may be disclosed: (1) a description of intangible assets (2) the estimated useful lives of those assets (3) the amortization method used (4) how the entity assesses and measures impairment of such assets (5) how future cash flows are estimated (6) how the fair values of such asset are determined.", "label": "Goodwill and Intangible Assets, Intangible Assets, Policy [Policy Text Block]" } } }, "localname": "GoodwillAndIntangibleAssetsIntangibleAssetsPolicy", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "us-gaap_GoodwillForeignCurrencyTranslationGainLoss": { "auth_ref": [ "r250" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of foreign currency translation gain (loss) which increases (decreases) an asset representing future economic benefits from other assets acquired in a business combination that are not individually identified and separately recognized.", "label": "Goodwill, foreign currency translation adjustment" } } }, "localname": "GoodwillForeignCurrencyTranslationGainLoss", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-changes-in-carrying-amount-of-goodwill-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillImpairmentLoss": { "auth_ref": [ "r99", "r246", "r249", "r253" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of loss from the write-down of an asset representing the future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.", "label": "us-gaap_GoodwillImpairmentLoss", "terseLabel": "Goodwill, Impairment Loss" } } }, "localname": "GoodwillImpairmentLoss", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillPurchaseAccountingAdjustments": { "auth_ref": [ "r251", "r513" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) from adjustments after acquisition date under purchase accounting of an asset representing the future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.", "label": "us-gaap_GoodwillPurchaseAccountingAdjustments", "terseLabel": "Goodwill, Purchase Accounting Adjustments" } } }, "localname": "GoodwillPurchaseAccountingAdjustments", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_GrossProfit": { "auth_ref": [ "r77", "r111", "r169", "r174", "r177", "r180", "r183", "r226", "r280", "r281", "r282", "r285", "r286", "r287", "r289", "r291", "r293", "r294", "r559" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-comprehensive-income-": { "order": 0.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.", "label": "us-gaap_GrossProfit", "totalLabel": "Gross profit" } } }, "localname": "GrossProfit", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-comprehensive-income-" ], "xbrltype": "monetaryItemType" }, "us-gaap_HeldToMaturitySecurities": { "auth_ref": [ "r201", "r210", "r230", "r233" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, before allowance for credit loss, of investment in debt security measured at amortized cost (held-to-maturity).", "label": "Amortized Cost" } } }, "localname": "HeldToMaturitySecurities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities-shortterm-and-longterm-heldtomaturity-securities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_HeldToMaturitySecuritiesAccumulatedUnrecognizedHoldingGain": { "auth_ref": [ "r212", "r216" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of accumulated unrecognized gain on investment in debt security measured at amortized cost (held-to-maturity).", "label": "Unrealized Gains" } } }, "localname": "HeldToMaturitySecuritiesAccumulatedUnrecognizedHoldingGain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities-shortterm-and-longterm-heldtomaturity-securities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_HeldToMaturitySecuritiesAccumulatedUnrecognizedHoldingLoss": { "auth_ref": [ "r213", "r217" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of accumulated unrealized loss on investment in debt security measured at amortized cost (held-to-maturity).", "label": "us-gaap_HeldToMaturitySecuritiesAccumulatedUnrecognizedHoldingLoss", "negatedLabel": "Unrealized Losses" } } }, "localname": "HeldToMaturitySecuritiesAccumulatedUnrecognizedHoldingLoss", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities-shortterm-and-longterm-heldtomaturity-securities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_HeldToMaturitySecuritiesFairValue": { "auth_ref": [ "r211", "r215", "r632" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Fair value of investment in debt security measured at amortized cost (held-to-maturity).", "label": "Fair Value" } } }, "localname": "HeldToMaturitySecuritiesFairValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities-shortterm-and-longterm-heldtomaturity-securities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_HeldToMaturitySecuritiesTextBlock": { "auth_ref": [ "r214", "r218", "r219" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of information about investment in debt security measured at amortized cost (held-to-maturity).", "label": "Debt Securities, Held-to-maturity [Table Text Block]" } } }, "localname": "HeldToMaturitySecuritiesTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock": { "auth_ref": [ "r267", "r274" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for recognizing and measuring the impairment of long-lived assets. An entity also may disclose its accounting policy for long-lived assets to be sold. This policy excludes goodwill and intangible assets.", "label": "Impairment or Disposal of Long-Lived Assets, Policy [Policy Text Block]" } } }, "localname": "ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic": { "auth_ref": [ "r113", "r504" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-components-of-income-loss-before-income-taxes-details": { "order": 1.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The portion of earnings or loss from continuing operations before income taxes that is attributable to domestic operations.", "label": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic", "terseLabel": "Domestic" } } }, "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-components-of-income-loss-before-income-taxes-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "auth_ref": [ "r72", "r169", "r174", "r177", "r180", "r183", "r626", "r634", "r639", "r655" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-comprehensive-income-": { "order": 1.0, "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0 }, "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-components-of-income-loss-before-income-taxes-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.", "label": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "totalLabel": "Income before income taxes" } } }, "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-comprehensive-income-", "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-components-of-income-loss-before-income-taxes-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign": { "auth_ref": [ "r113", "r504" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-components-of-income-loss-before-income-taxes-details": { "order": 0.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The portion of earnings or loss from continuing operations before income taxes that is attributable to foreign operations, which is defined as Income or Loss generated from operations located outside the entity's country of domicile.", "label": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign", "terseLabel": "Foreign" } } }, "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-components-of-income-loss-before-income-taxes-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeStatementAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Income Statement [Abstract]" } } }, "localname": "IncomeStatementAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationAxis": { "auth_ref": [ "r272", "r276" ], "lang": { "en-us": { "role": { "documentation": "Information by location in the income statement.", "label": "Income Statement Location [Axis]" } } }, "localname": "IncomeStatementLocationAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-stockbased-compensation-expense-details" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationDomain": { "auth_ref": [ "r276" ], "lang": { "en-us": { "role": { "documentation": "Location in the income statement.", "label": "Income Statement Location [Domain]" } } }, "localname": "IncomeStatementLocationDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-stockbased-compensation-expense-details" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeTaxDisclosureTextBlock": { "auth_ref": [ "r114", "r477", "r483", "r489", "r499", "r506", "r508", "r509", "r512" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.", "label": "Income Tax Disclosure [Text Block]" } } }, "localname": "IncomeTaxDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes" ], "xbrltype": "textBlockItemType" }, "us-gaap_IncomeTaxExpenseBenefit": { "auth_ref": [ "r115", "r130", "r131", "r167", "r475", "r500", "r507", "r656" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-comprehensive-income-": { "order": 0.0, "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0 }, "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-provision-for-income-taxes-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.", "label": "Provision for income taxes", "terseLabel": "Income Tax Expense (Benefit), Total", "totalLabel": "Total" } } }, "localname": "IncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-comprehensive-income-", "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-details-textual", "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-provision-for-income-taxes-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxPolicyTextBlock": { "auth_ref": [ "r67", "r471", "r472", "r483", "r484", "r488", "r495" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements.", "label": "Income Tax, Policy [Policy Text Block]" } } }, "localname": "IncomeTaxPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance": { "auth_ref": [ "r476" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-provision-for-income-taxes-details": { "order": 2.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to increase (decrease) in the valuation allowance for deferred tax assets.", "label": "Valuation Allowance" } } }, "localname": "IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-provision-for-income-taxes-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxesPaid": { "auth_ref": [ "r96", "r103" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income.", "label": "Cash paid for taxes" } } }, "localname": "IncomeTaxesPaid", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxesReceivable": { "auth_ref": [ "r47", "r633", "r651" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-": { "order": 3.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Carrying amount due within one year of the balance sheet date (or one operating cycle, if longer) from tax authorities as of the balance sheet date representing refunds of overpayments or recoveries based on agreed-upon resolutions of disputes.", "label": "Income taxes receivable" } } }, "localname": "IncomeTaxesReceivable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsPayable": { "auth_ref": [ "r98" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business.", "label": "Accounts payable" } } }, "localname": "IncreaseDecreaseInAccountsPayable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "auth_ref": [ "r98" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-": { "order": 10.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.", "label": "us-gaap_IncreaseDecreaseInAccountsReceivable", "negatedLabel": "Accounts receivable" } } }, "localname": "IncreaseDecreaseInAccountsReceivable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable": { "auth_ref": [ "r98" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-": { "order": 6.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the period in the amount due for taxes based on the reporting entity's earnings or attributable to the entity's income earning process (business presence) within a given jurisdiction.", "label": "Income taxes" } } }, "localname": "IncreaseDecreaseInAccruedIncomeTaxesPayable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities": { "auth_ref": [ "r98" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in accrued expenses, and obligations classified as other.", "label": "us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities", "terseLabel": "Accrued liabilities and other" } } }, "localname": "IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInInventories": { "auth_ref": [ "r98" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-": { "order": 9.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.", "label": "us-gaap_IncreaseDecreaseInInventories", "negatedLabel": "Inventories" } } }, "localname": "IncreaseDecreaseInInventories", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Changes in operating assets and liabilities, net of acquisitions:" } } }, "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-" ], "xbrltype": "stringItemType" }, "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": { "auth_ref": [ "r98" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-": { "order": 8.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other.", "label": "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "negatedLabel": "Prepaid expenses and other" } } }, "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": { "auth_ref": [ "r135", "r136", "r137", "r141" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-4-net-income-per-common-share-computation-of-basic-and-diluted-net-income-per-share-details": { "order": 0.0, "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method.", "label": "Employee stock options and other (in shares)" } } }, "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-4-net-income-per-common-share-computation-of-basic-and-diluted-net-income-per-share-details" ], "xbrltype": "sharesItemType" }, "us-gaap_InterestPaidNet": { "auth_ref": [ "r93", "r95", "r103" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount.", "label": "Cash paid for interest" } } }, "localname": "InterestPaidNet", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-" ], "xbrltype": "monetaryItemType" }, "us-gaap_InternalUseSoftwarePolicy": { "auth_ref": [ "r264", "r265" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for costs incurred when both (1) the software is acquired, internally developed, or modified solely to meet the entity's internal needs, and (2) during the software's development or modification, no substantive plan exists or is being developed to market the software externally.", "label": "Internal Use Software, Policy [Policy Text Block]" } } }, "localname": "InternalUseSoftwarePolicy", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "us-gaap_InventoryDisclosureTextBlock": { "auth_ref": [ "r244" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory.", "label": "Inventory Disclosure [Text Block]" } } }, "localname": "InventoryDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-10-inventory" ], "xbrltype": "textBlockItemType" }, "us-gaap_InventoryGross": { "auth_ref": [ "r48" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-10-inventory-inventory-details": { "order": 0.0, "parentTag": "us-gaap_InventoryNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Gross amount, as of the balance sheet date, of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.", "label": "Total inventory" } } }, "localname": "InventoryGross", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-10-inventory-inventory-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryNet": { "auth_ref": [ "r5", "r48", "r589" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-": { "order": 5.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 }, "http://www.protolabs.com/20211231/role/statement-note-10-inventory-inventory-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.", "label": "Inventory", "totalLabel": "Inventory, net of allowance" } } }, "localname": "InventoryNet", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-", "http://www.protolabs.com/20211231/role/statement-note-10-inventory-inventory-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryPolicyTextBlock": { "auth_ref": [ "r12", "r49", "r107", "r148", "r241", "r242", "r244", "r621" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost.", "label": "Inventory, Policy [Policy Text Block]" } } }, "localname": "InventoryPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "us-gaap_InventoryValuationReserves": { "auth_ref": [ "r48", "r243" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-10-inventory-inventory-details": { "order": 1.0, "parentTag": "us-gaap_InventoryNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of valuation reserve for inventory.", "label": "us-gaap_InventoryValuationReserves", "negatedLabel": "Allowance for obsolescence" } } }, "localname": "InventoryValuationReserves", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-10-inventory-inventory-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_InvestmentTextBlock": { "auth_ref": [ "r221", "r225", "r227", "r228" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for investment.", "label": "Investment [Text Block]" } } }, "localname": "InvestmentTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities" ], "xbrltype": "textBlockItemType" }, "us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of maturities of an entity's investments as well as any other information pertinent to the investments.", "label": "Investments Classified by Contractual Maturity Date [Table Text Block]" } } }, "localname": "InvestmentsClassifiedByContractualMaturityDateTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_Land": { "auth_ref": [ "r10", "r37" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-9-property-and-equipment-components-of-property-and-equipment-details": { "order": 5.0, "parentTag": "us-gaap_PropertyPlantAndEquipmentGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before accumulated depletion of real estate held for productive use, excluding land held for sale.", "label": "Land" } } }, "localname": "Land", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-9-property-and-equipment-components-of-property-and-equipment-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_LandBuildingsAndImprovementsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Real estate held and additions or improvements to real estate held and structures used in the conduct of business.", "label": "Land, Buildings and Improvements [Member]" } } }, "localname": "LandBuildingsAndImprovementsMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-", "http://www.protolabs.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_LeaseContractualTermAxis": { "auth_ref": [ "r576" ], "lang": { "en-us": { "role": { "documentation": "Information by contractual term of lease arrangement.", "label": "Lease Contractual Term [Axis]" } } }, "localname": "LeaseContractualTermAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-", "http://www.protolabs.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual" ], "xbrltype": "stringItemType" }, "us-gaap_LeaseContractualTermDomain": { "auth_ref": [ "r576" ], "lang": { "en-us": { "role": { "documentation": "Contractual term of lease arrangement.", "label": "Lease Contractual Term [Domain]" } } }, "localname": "LeaseContractualTermDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-", "http://www.protolabs.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_LeaseCost": { "auth_ref": [ "r584", "r586" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-14-leases-lease-expense-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of lease cost recognized by lessee for lease contract.", "label": "us-gaap_LeaseCost", "totalLabel": "Total lease cost" } } }, "localname": "LeaseCost", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-14-leases-lease-expense-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_LeaseholdImprovementsGross": { "auth_ref": [ "r11", "r269" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-9-property-and-equipment-components-of-property-and-equipment-details": { "order": 1.0, "parentTag": "us-gaap_PropertyPlantAndEquipmentGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before accumulated depreciation of additions or improvements to assets held under a lease arrangement.", "label": "Leasehold improvements" } } }, "localname": "LeaseholdImprovementsGross", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-9-property-and-equipment-components-of-property-and-equipment-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_LegalMattersAndContingenciesTextBlock": { "auth_ref": [ "r279" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for legal proceedings, legal contingencies, litigation, regulatory and environmental matters and other contingencies.", "label": "Legal Matters and Contingencies [Text Block]" } } }, "localname": "LegalMattersAndContingenciesTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-17-litigation" ], "xbrltype": "textBlockItemType" }, "us-gaap_LesseeLeasesPolicyTextBlock": { "auth_ref": [ "r574" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for leasing arrangement entered into by lessee.", "label": "Lessee, Leases [Policy Text Block]" } } }, "localname": "LesseeLeasesPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": { "auth_ref": [ "r585" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-14-leases-maturities-of-operating-lease-liabilities-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease.", "label": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "totalLabel": "Total future minimum lease payments, operating lease" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-14-leases-maturities-of-operating-lease-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive": { "auth_ref": [ "r585" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-14-leases-maturities-of-operating-lease-liabilities-details": { "order": 4.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease due after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "After 2027, operating lease" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-14-leases-maturities-of-operating-lease-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": { "auth_ref": [ "r585" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-14-leases-maturities-of-operating-lease-liabilities-details": { "order": 3.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "2022, operating lease" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-14-leases-maturities-of-operating-lease-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive": { "auth_ref": [ "r585" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-14-leases-maturities-of-operating-lease-liabilities-details": { "order": 5.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "2026, operating lease" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFive", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-14-leases-maturities-of-operating-lease-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": { "auth_ref": [ "r585" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-14-leases-maturities-of-operating-lease-liabilities-details": { "order": 0.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "2025, operating lease" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-14-leases-maturities-of-operating-lease-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": { "auth_ref": [ "r585" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-14-leases-maturities-of-operating-lease-liabilities-details": { "order": 1.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "2024, operating lease" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-14-leases-maturities-of-operating-lease-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": { "auth_ref": [ "r585" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-14-leases-maturities-of-operating-lease-liabilities-details": { "order": 2.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "2023, operating lease" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-14-leases-maturities-of-operating-lease-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": { "auth_ref": [ "r585" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.", "label": "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount", "negatedLabel": "Less interest, operating lease" } } }, "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-14-leases-maturities-of-operating-lease-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseTermOfContract": { "auth_ref": [ "r575" ], "lang": { "en-us": { "role": { "documentation": "Term of lessee's operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "us-gaap_LesseeOperatingLeaseTermOfContract", "terseLabel": "Lessee, Operating Lease, Term of Contract (Year)" } } }, "localname": "LesseeOperatingLeaseTermOfContract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual" ], "xbrltype": "durationItemType" }, "us-gaap_Liabilities": { "auth_ref": [ "r41", "r111", "r176", "r226", "r280", "r281", "r282", "r285", "r286", "r287", "r289", "r291", "r293", "r294", "r540", "r544", "r545", "r559", "r587", "r588" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.", "label": "us-gaap_Liabilities", "totalLabel": "Total liabilities" } } }, "localname": "Liabilities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquity": { "auth_ref": [ "r27", "r111", "r226", "r559", "r589", "r631", "r649" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.", "label": "us-gaap_LiabilitiesAndStockholdersEquity", "totalLabel": "Total liabilities and shareholders' equity" } } }, "localname": "LiabilitiesAndStockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesCurrent": { "auth_ref": [ "r44", "r111", "r226", "r280", "r281", "r282", "r285", "r286", "r287", "r289", "r291", "r293", "r294", "r540", "r544", "r545", "r559", "r587", "r588", "r589" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-": { "order": 4.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.", "label": "us-gaap_LiabilitiesCurrent", "totalLabel": "Total current liabilities" } } }, "localname": "LiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Current liabilities" } } }, "localname": "LiabilitiesCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-" ], "xbrltype": "stringItemType" }, "us-gaap_LineOfCredit": { "auth_ref": [ "r16", "r630", "r645" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The carrying value as of the balance sheet date of the current and noncurrent portions of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement.", "label": "us-gaap_LineOfCredit", "terseLabel": "Long-term Line of Credit, Total" } } }, "localname": "LineOfCredit", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-11-financing-obligations-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock": { "auth_ref": [ "r189" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of long-lived assets, excluding financial instruments, long-term customer relationships of a financial institution, mortgage rights, deferred policy acquisition costs, and deferred tax assets, by geographic areas located in the entity's country of domicile and foreign countries in which the entity holds assets.", "label": "Long-lived Assets by Geographic Areas [Table Text Block]" } } }, "localname": "LongLivedAssetsByGeographicAreasTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_MachineryAndEquipmentGross": { "auth_ref": [ "r11", "r269" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-9-property-and-equipment-components-of-property-and-equipment-details": { "order": 3.0, "parentTag": "us-gaap_PropertyPlantAndEquipmentGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before accumulated depreciation of tangible personal property used to produce goods and services, including, but is not limited to, tools, dies and molds, computer and office equipment.", "label": "Machinery and equipment" } } }, "localname": "MachineryAndEquipmentGross", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-9-property-and-equipment-components-of-property-and-equipment-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_MarketableSecuritiesCurrent": { "auth_ref": [ "r7", "r42" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-": { "order": 1.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of investment in marketable security, classified as current.", "label": "Short-term marketable securities" } } }, "localname": "MarketableSecuritiesCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-" ], "xbrltype": "monetaryItemType" }, "us-gaap_MarketableSecuritiesNoncurrent": { "auth_ref": [ "r35" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-": { "order": 7.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of investment in marketable security, classified as noncurrent.", "label": "Long-term marketable securities" } } }, "localname": "MarketableSecuritiesNoncurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-" ], "xbrltype": "monetaryItemType" }, "us-gaap_MarketableSecuritiesPolicy": { "auth_ref": [ "r641" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for investment classified as marketable security.", "label": "Marketable Securities, Policy [Policy Text Block]" } } }, "localname": "MarketableSecuritiesPolicy", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "us-gaap_MarketingRelatedIntangibleAssetsMember": { "auth_ref": [ "r519" ], "lang": { "en-us": { "role": { "documentation": "Marketing-related asset, including, but not limited to, internet domain name, newspaper mast head, and trademark.", "label": "Marketing-Related Intangible Assets [Member]" } } }, "localname": "MarketingRelatedIntangibleAssetsMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details" ], "xbrltype": "domainItemType" }, "us-gaap_MoneyMarketFundsMember": { "auth_ref": [ "r356" ], "lang": { "en-us": { "role": { "documentation": "Fund that invests in short-term money-market instruments, for example, but not limited to, commercial paper, banker's acceptances, repurchase agreements, government securities, certificates of deposit, and other highly liquid securities.", "label": "Money Market Funds [Member]" } } }, "localname": "MoneyMarketFundsMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-7-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details" ], "xbrltype": "domainItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "auth_ref": [ "r94" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-": { "order": 2.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.", "label": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "totalLabel": "Net cash used in financing activities" } } }, "localname": "NetCashProvidedByUsedInFinancingActivities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Financing activities" } } }, "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "auth_ref": [ "r94" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-": { "order": 3.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.", "label": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "totalLabel": "Net cash used in investing activities" } } }, "localname": "NetCashProvidedByUsedInInvestingActivities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Investing activities" } } }, "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "auth_ref": [ "r94", "r97", "r100" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-": { "order": 0.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.", "label": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "totalLabel": "Net cash provided by operating activities" } } }, "localname": "NetCashProvidedByUsedInOperatingActivities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Operating activities" } } }, "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-" ], "xbrltype": "stringItemType" }, "us-gaap_NetIncomeLoss": { "auth_ref": [ "r2", "r61", "r64", "r70", "r73", "r100", "r111", "r122", "r124", "r125", "r126", "r127", "r130", "r131", "r138", "r169", "r174", "r177", "r180", "r183", "r226", "r280", "r281", "r282", "r285", "r286", "r287", "r289", "r291", "r293", "r294", "r550", "r559", "r635", "r652" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-": { "order": 7.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 }, "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-comprehensive-income-": { "order": 1.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.", "label": "Net income", "totalLabel": "Net income" } } }, "localname": "NetIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-", "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-comprehensive-income-", "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-shareholders-equity-", "http://www.protolabs.com/20211231/role/statement-note-4-net-income-per-common-share-computation-of-basic-and-diluted-net-income-per-share-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.", "label": "New Accounting Pronouncements, Policy [Policy Text Block]" } } }, "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "us-gaap_NoncompeteAgreementsMember": { "auth_ref": [ "r521" ], "lang": { "en-us": { "role": { "documentation": "Agreement in which one party agrees not to pursue a similar trade in competition with another party.", "label": "Noncompete Agreements [Member]" } } }, "localname": "NoncompeteAgreementsMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details" ], "xbrltype": "domainItemType" }, "us-gaap_OciBeforeReclassificationsNetOfTaxAttributableToParent": { "auth_ref": [ "r60", "r71" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-15-accumulated-other-comprehensive-income-loss-other-comprehensive-loss-details": { "order": 0.0, "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after tax, before reclassification adjustments, of other comprehensive income (loss), attributable to parent.", "label": "Other comprehensive (loss) income before reclassifications" } } }, "localname": "OciBeforeReclassificationsNetOfTaxAttributableToParent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-15-accumulated-other-comprehensive-income-loss-other-comprehensive-loss-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingExpenses": { "auth_ref": [], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-comprehensive-income-": { "order": 1.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense.", "label": "us-gaap_OperatingExpenses", "totalLabel": "Total operating expenses" } } }, "localname": "OperatingExpenses", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-comprehensive-income-" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingExpensesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Operating expenses" } } }, "localname": "OperatingExpensesAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-comprehensive-income-" ], "xbrltype": "stringItemType" }, "us-gaap_OperatingIncomeLoss": { "auth_ref": [ "r169", "r174", "r177", "r180", "r183" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-comprehensive-income-": { "order": 0.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The net result for the period of deducting operating expenses from operating revenues.", "label": "us-gaap_OperatingIncomeLoss", "terseLabel": "Income from operations", "totalLabel": "Income from operations" } } }, "localname": "OperatingIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-comprehensive-income-", "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-income-from-operations-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseCost": { "auth_ref": [ "r578", "r586" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-14-leases-lease-expense-details": { "order": 2.0, "parentTag": "us-gaap_LeaseCost", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability.", "label": "Operating lease cost" } } }, "localname": "OperatingLeaseCost", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-14-leases-lease-expense-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiability": { "auth_ref": [ "r569" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-14-leases-balance-sheet-information-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease.", "label": "Present value of lease liabilities, operating lease", "totalLabel": "Total operating lease liabilities" } } }, "localname": "OperatingLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-14-leases-balance-sheet-information-details", "http://www.protolabs.com/20211231/role/statement-note-14-leases-maturities-of-operating-lease-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityCurrent": { "auth_ref": [ "r569" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-": { "order": 3.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 }, "http://www.protolabs.com/20211231/role/statement-note-14-leases-balance-sheet-information-details": { "order": 1.0, "parentTag": "us-gaap_OperatingLeaseLiability", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.", "label": "Current operating lease liabilities" } } }, "localname": "OperatingLeaseLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-", "http://www.protolabs.com/20211231/role/statement-note-14-leases-balance-sheet-information-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "auth_ref": [ "r569" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-": { "order": 3.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 }, "http://www.protolabs.com/20211231/role/statement-note-14-leases-balance-sheet-information-details": { "order": 0.0, "parentTag": "us-gaap_OperatingLeaseLiability", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.", "label": "Long-term operating lease liabilities" } } }, "localname": "OperatingLeaseLiabilityNoncurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-", "http://www.protolabs.com/20211231/role/statement-note-14-leases-balance-sheet-information-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasePayments": { "auth_ref": [ "r573", "r580" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.", "label": "Operating cash flows from operating leases" } } }, "localname": "OperatingLeasePayments", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-14-leases-lease-expense-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseRightOfUseAsset": { "auth_ref": [ "r568" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-": { "order": 6.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's right to use underlying asset under operating lease.", "label": "Operating lease assets" } } }, "localname": "OperatingLeaseRightOfUseAsset", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-", "http://www.protolabs.com/20211231/role/statement-note-14-leases-balance-sheet-information-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": { "auth_ref": [ "r583", "r586" ], "lang": { "en-us": { "role": { "documentation": "Weighted average discount rate for operating lease calculated at point in time.", "label": "Weighted Average Discount Rate - operating leases" } } }, "localname": "OperatingLeaseWeightedAverageDiscountRatePercent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-14-leases-weighted-average-remaining-terms-and-discount-rates-details" ], "xbrltype": "percentItemType" }, "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": { "auth_ref": [ "r582", "r586" ], "lang": { "en-us": { "role": { "documentation": "Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Weighted Average Remaining Lease Term - operating leases (years) (Year)" } } }, "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-14-leases-weighted-average-remaining-terms-and-discount-rates-details" ], "xbrltype": "durationItemType" }, "us-gaap_OperatingLossCarryforwards": { "auth_ref": [ "r490" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of operating loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws.", "label": "us-gaap_OperatingLossCarryforwards", "terseLabel": "Operating Loss Carryforwards, Total" } } }, "localname": "OperatingLossCarryforwards", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingSegmentsMember": { "auth_ref": [ "r173", "r174", "r175", "r176", "r177", "r183" ], "lang": { "en-us": { "role": { "documentation": "Identifies components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity.", "label": "Operating Segments [Member]" } } }, "localname": "OperatingSegmentsMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-income-from-operations-details", "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-longlived-assets-by-geographic-region-details", "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-revenue-from-operations-by-reportable-segment-details", "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-tables" ], "xbrltype": "domainItemType" }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock": { "auth_ref": [ "r3", "r546" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for organization, consolidation and basis of presentation of financial statements disclosure.", "label": "Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block]" } } }, "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-1-nature-of-business" ], "xbrltype": "textBlockItemType" }, "us-gaap_OtherAssetsNoncurrent": { "auth_ref": [ "r39" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-": { "order": 4.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of noncurrent assets classified as other.", "label": "Other long-term assets" } } }, "localname": "OtherAssetsNoncurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax": { "auth_ref": [ "r52", "r58" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount before tax, after reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.", "label": "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax", "terseLabel": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, before Tax, Total" } } }, "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": { "auth_ref": [ "r52" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-comprehensive-income-": { "order": 0.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.", "label": "Foreign currency translation adjustments", "terseLabel": "Foreign currency translation adjustment" } } }, "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-comprehensive-income-", "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-shareholders-equity-" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent": { "auth_ref": [ "r62", "r65", "r537", "r538", "r542" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-15-accumulated-other-comprehensive-income-loss-other-comprehensive-loss-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after tax of other comprehensive income (loss) attributable to parent entity.", "label": "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "totalLabel": "Net current-period other comprehensive (loss) income" } } }, "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-15-accumulated-other-comprehensive-income-loss-other-comprehensive-loss-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax": { "auth_ref": [ "r54", "r58" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-comprehensive-income-": { "order": 2.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after tax and before adjustment, of unrealized holding gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale). Excludes unrealized gain (loss) on investment in debt security measured at amortized cost (held-to-maturity) from transfer to available-for-sale.", "label": "Net unrealized gains (losses) on investments in securities" } } }, "localname": "OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-comprehensive-income-", "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-shareholders-equity-" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherIntangibleAssetsNet": { "auth_ref": [], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-": { "order": 0.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after accumulated amortization of finite-lived and indefinite-lived intangible assets classified as other.", "label": "Other intangible assets, net" } } }, "localname": "OtherIntangibleAssetsNet", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherLiabilitiesNoncurrent": { "auth_ref": [ "r45" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-": { "order": 0.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.", "label": "Other long-term liabilities" } } }, "localname": "OtherLiabilitiesNoncurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherNoncashIncomeExpense": { "auth_ref": [ "r100" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-": { "order": 11.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of income (expense) included in net income that results in no cash inflow (outflow), classified as other.", "label": "us-gaap_OtherNoncashIncomeExpense", "negatedLabel": "Other" } } }, "localname": "OtherNoncashIncomeExpense", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherNonoperatingIncomeExpense": { "auth_ref": [ "r80" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-comprehensive-income-": { "order": 1.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of income (expense) related to nonoperating activities, classified as other.", "label": "Other (expense) income, net" } } }, "localname": "OtherNonoperatingIncomeExpense", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-comprehensive-income-" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsForRepurchaseOfCommonStock": { "auth_ref": [ "r91" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-": { "order": 0.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow to reacquire common stock during the period.", "label": "us-gaap_PaymentsForRepurchaseOfCommonStock", "negatedLabel": "Repurchases of common stock" } } }, "localname": "PaymentsForRepurchaseOfCommonStock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": { "auth_ref": [ "r91" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement.", "label": "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation", "negatedLabel": "Purchases of shares withheld for tax obligations" } } }, "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt": { "auth_ref": [ "r82", "r85", "r205" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow to acquire investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt", "negatedLabel": "Purchases of marketable securities" } } }, "localname": "PaymentsToAcquireAvailableForSaleSecuritiesDebt", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireBusinessesGross": { "auth_ref": [ "r86", "r529" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details": { "order": 1.0, "parentTag": "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow associated with the acquisition of business during the period. The cash portion only of the acquisition price.", "label": "us-gaap_PaymentsToAcquireBusinessesGross", "terseLabel": "Payments to Acquire Businesses, Gross" } } }, "localname": "PaymentsToAcquireBusinessesGross", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details", "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired": { "auth_ref": [ "r86" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 }, "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details": { "order": 1.0, "parentTag": "us-gaap_BusinessCombinationConsiderationTransferred1", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase.", "label": "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired", "negatedLabel": "Cash used for acquisitions, net of cash acquired", "terseLabel": "Payments to Acquire Businesses, Net of Cash Acquired, Total", "totalLabel": "Net cash consideration" } } }, "localname": "PaymentsToAcquireBusinessesNetOfCashAcquired", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-", "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details", "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireOtherInvestments": { "auth_ref": [ "r88" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow to acquire investments classified as other.", "label": "us-gaap_PaymentsToAcquireOtherInvestments", "negatedLabel": "Purchases of other assets and investments" } } }, "localname": "PaymentsToAcquireOtherInvestments", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "auth_ref": [ "r87" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.", "label": "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment", "negatedLabel": "Purchases of property, equipment and other capital assets", "terseLabel": "Expenditures for additions to long-lived assets" } } }, "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-", "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-expenditures-for-additions-to-longlived-assets-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock": { "auth_ref": [ "r355", "r357", "r363", "r381", "r383", "r384", "r385", "r386", "r387", "r402", "r404", "r405", "r406", "r418" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for retirement benefits.", "label": "Retirement Benefits [Text Block]" } } }, "localname": "PensionAndOtherPostretirementBenefitsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-12-employee-benefit-plans" ], "xbrltype": "textBlockItemType" }, "us-gaap_PerformanceSharesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-based payment arrangement awarded for meeting performance target.", "label": "Performance Shares [Member]" } } }, "localname": "PerformanceSharesMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-assumptions-used-in-the-valuation-of-performance-stock-details", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-details-textual", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-performance-stock-details" ], "xbrltype": "domainItemType" }, "us-gaap_PlanNameAxis": { "auth_ref": [ "r422", "r455" ], "lang": { "en-us": { "role": { "documentation": "Information by plan name for share-based payment arrangement.", "label": "Plan Name [Axis]" } } }, "localname": "PlanNameAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-details-textual" ], "xbrltype": "stringItemType" }, "us-gaap_PlanNameDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Plan name for share-based payment arrangement.", "label": "Plan Name [Domain]" } } }, "localname": "PlanNameDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_PolicyTextBlockAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "us-gaap_PolicyTextBlockAbstract", "terseLabel": "Accounting Policies" } } }, "localname": "PolicyTextBlockAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "stringItemType" }, "us-gaap_PreferredStockParOrStatedValuePerShare": { "auth_ref": [ "r19", "r312" ], "lang": { "en-us": { "role": { "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.", "label": "Preferred stock, par value (in dollars per share)" } } }, "localname": "PreferredStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-parentheticals" ], "xbrltype": "perShareItemType" }, "us-gaap_PreferredStockSharesAuthorized": { "auth_ref": [ "r19" ], "lang": { "en-us": { "role": { "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.", "label": "Preferred stock, shares authorized (in shares)" } } }, "localname": "PreferredStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-parentheticals" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockSharesIssued": { "auth_ref": [ "r19", "r312" ], "lang": { "en-us": { "role": { "documentation": "Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt.", "label": "Preferred stock, shares issued (in shares)" } } }, "localname": "PreferredStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-parentheticals" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockValue": { "auth_ref": [ "r19", "r589" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-": { "order": 4.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.", "label": "Preferred stock, $0.001 par value, authorized 10,000,000 shares; issued and outstanding 0 shares as of December 31, 2021 and December 31, 2020, respectively" } } }, "localname": "PreferredStockValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-" ], "xbrltype": "monetaryItemType" }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "auth_ref": [ "r8", "r32", "r33" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-": { "order": 4.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.", "label": "Prepaid expenses and other current assets" } } }, "localname": "PrepaidExpenseAndOtherAssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions": { "auth_ref": [ "r89", "r456" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow from issuance of shares under share-based payment arrangement. Includes, but is not limited to, option exercised.", "label": "Proceeds from exercises of stock options" } } }, "localname": "ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities": { "auth_ref": [ "r83", "r205" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-": { "order": 5.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The cash inflow associated with the maturity, prepayments and calls (requests for early payments) of debt securities designated as held-to-maturity.", "label": "Proceeds from maturities of marketable securities" } } }, "localname": "ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromPaymentsForOtherFinancingActivities": { "auth_ref": [ "r90", "r92" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from financing activities classified as other.", "label": "us-gaap_ProceedsFromPaymentsForOtherFinancingActivities", "negatedLabel": "Other" } } }, "localname": "ProceedsFromPaymentsForOtherFinancingActivities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt": { "auth_ref": [ "r82", "r83", "r205" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-": { "order": 0.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow from sale of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Proceeds from sales of marketable securities" } } }, "localname": "ProceedsFromSaleOfAvailableForSaleSecuritiesDebt", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentByTypeAxis": { "auth_ref": [ "r38", "r271" ], "lang": { "en-us": { "role": { "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale.", "label": "Long-Lived Tangible Asset [Axis]" } } }, "localname": "PropertyPlantAndEquipmentByTypeAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-", "http://www.protolabs.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual" ], "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": { "auth_ref": [ "r275", "r671", "r672", "r673" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.", "label": "Property, Plant and Equipment Disclosure [Text Block]" } } }, "localname": "PropertyPlantAndEquipmentDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-9-property-and-equipment" ], "xbrltype": "textBlockItemType" }, "us-gaap_PropertyPlantAndEquipmentGross": { "auth_ref": [ "r37", "r269" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-9-property-and-equipment-components-of-property-and-equipment-details": { "order": 1.0, "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.", "label": "us-gaap_PropertyPlantAndEquipmentGross", "totalLabel": "Total" } } }, "localname": "PropertyPlantAndEquipmentGross", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-9-property-and-equipment-components-of-property-and-equipment-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentNet": { "auth_ref": [ "r14", "r15", "r271", "r589", "r642", "r650" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-": { "order": 2.0, "parentTag": "us-gaap_Assets", "weight": 1.0 }, "http://www.protolabs.com/20211231/role/statement-note-9-property-and-equipment-components-of-property-and-equipment-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.", "label": "Property and equipment, net", "terseLabel": "Long-lived assets", "totalLabel": "Property and equipment, net" } } }, "localname": "PropertyPlantAndEquipmentNet", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-", "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-longlived-assets-by-geographic-region-details", "http://www.protolabs.com/20211231/role/statement-note-9-property-and-equipment-components-of-property-and-equipment-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentPolicyTextBlock": { "auth_ref": [ "r36", "r271", "r671", "r672" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.", "label": "Property, Plant and Equipment, Policy [Policy Text Block]" } } }, "localname": "PropertyPlantAndEquipmentPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "us-gaap_PropertyPlantAndEquipmentTextBlock": { "auth_ref": [ "r14", "r271" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.", "label": "Property, Plant and Equipment [Table Text Block]" } } }, "localname": "PropertyPlantAndEquipmentTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-9-property-and-equipment-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_PropertyPlantAndEquipmentTypeDomain": { "auth_ref": [ "r14", "r269" ], "lang": { "en-us": { "role": { "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software.", "label": "Long-Lived Tangible Asset [Domain]" } } }, "localname": "PropertyPlantAndEquipmentTypeDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-", "http://www.protolabs.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_PropertyPlantAndEquipmentUsefulLife": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment.", "label": "us-gaap_PropertyPlantAndEquipmentUsefulLife", "terseLabel": "Property, Plant and Equipment, Useful Life (Year)" } } }, "localname": "PropertyPlantAndEquipmentUsefulLife", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual" ], "xbrltype": "durationItemType" }, "us-gaap_ResearchAndDevelopmentExpense": { "auth_ref": [ "r468", "r622", "r686" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-comprehensive-income-": { "order": 1.0, "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.", "label": "Research and development", "terseLabel": "Research and Development Expense, Total" } } }, "localname": "ResearchAndDevelopmentExpense", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-comprehensive-income-", "http://www.protolabs.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_ResearchAndDevelopmentExpenseMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption in which the reported facts about research and development expense have been included.", "label": "Research and Development Expense [Member]" } } }, "localname": "ResearchAndDevelopmentExpenseMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-stockbased-compensation-expense-details" ], "xbrltype": "domainItemType" }, "us-gaap_ResearchAndDevelopmentExpensePolicy": { "auth_ref": [ "r468" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for costs it has incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process.", "label": "Research and Development Expense, Policy [Policy Text Block]" } } }, "localname": "ResearchAndDevelopmentExpensePolicy", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Type of cash and cash equivalent. Cash is currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Cash and Cash Equivalents [Domain]" } } }, "localname": "RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities-shortterm-and-longterm-available-for-sale-securities-details", "http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities-shortterm-and-longterm-heldtomaturity-securities-details" ], "xbrltype": "domainItemType" }, "us-gaap_RestrictedStockMember": { "auth_ref": [ "r142" ], "lang": { "en-us": { "role": { "documentation": "Stock including a provision that prohibits sale or substantive sale of an equity instrument for a specified period of time or until specified performance conditions are met.", "label": "Restricted Stock [Member]" } } }, "localname": "RestrictedStockMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-details-textual", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-restricted-stock-options-details" ], "xbrltype": "domainItemType" }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "auth_ref": [ "r23", "r316", "r460", "r589", "r648", "r665", "r667" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-": { "order": 2.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.", "label": "Retained earnings" } } }, "localname": "RetainedEarningsAccumulatedDeficit", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-" ], "xbrltype": "monetaryItemType" }, "us-gaap_RetainedEarningsMember": { "auth_ref": [ "r0", "r119", "r120", "r121", "r123", "r129", "r131", "r229", "r457", "r458", "r459", "r497", "r498", "r548", "r662", "r664" ], "lang": { "en-us": { "role": { "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.", "label": "Retained Earnings [Member]" } } }, "localname": "RetainedEarningsMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-shareholders-equity-" ], "xbrltype": "domainItemType" }, "us-gaap_RetirementPlanSponsorLocationAxis": { "auth_ref": [ "r334", "r335", "r336", "r337", "r338", "r339", "r340", "r341", "r342", "r343", "r344", "r345", "r346", "r347", "r348", "r349", "r350", "r351", "r352", "r353", "r354", "r355", "r356", "r358", "r359", "r360", "r361", "r362", "r363", "r364", "r365", "r366", "r367", "r368", "r369", "r370", "r371", "r372", "r373", "r374", "r375", "r376", "r377", "r378", "r379", "r380", "r382", "r385", "r389", "r390", "r391", "r392", "r393", "r394", "r395", "r396", "r397", "r398", "r399", "r400", "r401", "r407", "r411", "r416" ], "lang": { "en-us": { "role": { "documentation": "Information by location of employer sponsoring plan designed to provide retirement benefits. Includes, but is not limited to, defined benefit and defined contribution plans.", "label": "Retirement Plan Sponsor Location [Axis]" } } }, "localname": "RetirementPlanSponsorLocationAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-12-employee-benefit-plans", "http://www.protolabs.com/20211231/role/statement-note-12-employee-benefit-plans-details-textual" ], "xbrltype": "stringItemType" }, "us-gaap_RetirementPlanSponsorLocationDomain": { "auth_ref": [ "r334", "r335", "r336", "r337", "r338", "r339", "r340", "r341", "r342", "r343", "r344", "r345", "r346", "r347", "r348", "r349", "r350", "r351", "r352", "r353", "r354", "r355", "r356", "r358", "r359", "r360", "r361", "r362", "r363", "r364", "r365", "r366", "r367", "r368", "r369", "r370", "r371", "r372", "r373", "r374", "r375", "r376", "r377", "r378", "r379", "r380", "r382", "r385", "r389", "r390", "r391", "r392", "r393", "r394", "r395", "r396", "r397", "r398", "r399", "r400", "r401", "r407", "r411", "r416" ], "lang": { "en-us": { "role": { "documentation": "Location of employer sponsoring plan designed to provide retirement benefits. Includes, but is not limited to, defined benefit and defined contribution plans.", "label": "Retirement Plan Sponsor Location [Domain]" } } }, "localname": "RetirementPlanSponsorLocationDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-12-employee-benefit-plans", "http://www.protolabs.com/20211231/role/statement-note-12-employee-benefit-plans-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_RetirementPlanTypeAxis": { "auth_ref": [ "r331", "r332", "r333", "r334", "r335", "r336", "r337", "r338", "r339", "r340", "r341", "r342", "r343", "r344", "r345", "r346", "r347", "r348", "r349", "r350", "r351", "r352", "r353", "r354", "r355", "r356", "r358", "r359", "r360", "r361", "r362", "r363", "r364", "r365", "r366", "r367", "r368", "r369", "r370", "r371", "r372", "r373", "r374", "r375", "r376", "r377", "r379", "r380", "r382", "r385", "r388", "r392", "r393", "r394", "r395", "r396", "r397", "r398", "r399", "r400", "r401", "r402", "r403", "r406", "r407", "r408", "r409", "r410", "r411", "r413", "r414", "r415", "r416" ], "lang": { "en-us": { "role": { "documentation": "Information by type of retirement benefit plan. Includes, but is not limited to, retirement benefit arrangement for defined benefit pension and other postretirement plans, retirement benefit arrangement for defined contribution pension and other postretirement plans, and special and contractual termination benefits payable upon retirement.", "label": "Retirement Plan Type [Axis]" } } }, "localname": "RetirementPlanTypeAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-12-employee-benefit-plans", "http://www.protolabs.com/20211231/role/statement-note-12-employee-benefit-plans-details-textual" ], "xbrltype": "stringItemType" }, "us-gaap_RetirementPlanTypeDomain": { "auth_ref": [ "r331", "r332", "r333", "r334", "r335", "r336", "r337", "r338", "r339", "r340", "r341", "r342", "r343", "r344", "r345", "r346", "r347", "r348", "r349", "r350", "r351", "r352", "r353", "r354", "r355", "r356", "r358", "r359", "r360", "r361", "r362", "r363", "r364", "r365", "r366", "r367", "r368", "r369", "r370", "r371", "r372", "r373", "r374", "r375", "r376", "r377", "r379", "r380", "r382", "r385", "r388", "r392", "r393", "r394", "r395", "r396", "r397", "r398", "r399", "r400", "r401", "r402", "r403", "r406", "r407", "r408", "r409", "r410", "r411", "r413", "r414", "r415", "r416" ], "lang": { "en-us": { "role": { "documentation": "Type of plan designed to provide participants with retirement benefits. Includes, but is not limited to, retirement benefit arrangement for defined benefit pension and other postretirement plans, retirement benefit arrangement for defined contribution pension and other postretirement plans, and special and contractual termination benefits payable upon retirement.", "label": "Retirement Plan Type [Domain]" } } }, "localname": "RetirementPlanTypeDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-12-employee-benefit-plans", "http://www.protolabs.com/20211231/role/statement-note-12-employee-benefit-plans-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax": { "auth_ref": [ "r160", "r161", "r173", "r178", "r179", "r185", "r186", "r191", "r325", "r326", "r623" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-comprehensive-income-": { "order": 1.0, "parentTag": "us-gaap_GrossProfit", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise.", "label": "Revenue" } } }, "localname": "RevenueFromContractWithCustomerIncludingAssessedTax", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-comprehensive-income-", "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-revenue-from-operations-by-reportable-segment-details", "http://www.protolabs.com/20211231/role/statement-note-3-revenue-disaggregation-of-revenue-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "auth_ref": [ "r317", "r318", "r319", "r320", "r321", "r322", "r323", "r324", "r327", "r330" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts.", "label": "Revenue from Contract with Customer [Text Block]" } } }, "localname": "RevenueFromContractWithCustomerTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-3-revenue" ], "xbrltype": "textBlockItemType" }, "us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock": { "auth_ref": [ "r188" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of revenue from external customers by geographic areas attributed to the entity's country of domicile and to foreign countries from which the entity derives revenue.", "label": "Revenue from External Customers by Geographic Areas [Table Text Block]" } } }, "localname": "RevenueFromExternalCustomersByGeographicAreasTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_RevenueRecognitionPolicyTextBlock": { "auth_ref": [ "r108", "r109" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for revenue. Includes revenue from contract with customer and from other sources.", "label": "Revenue [Policy Text Block]" } } }, "localname": "RevenueRecognitionPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "us-gaap_RevenuesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Statements of Operations:" } } }, "localname": "RevenuesAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-comprehensive-income-" ], "xbrltype": "stringItemType" }, "us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability": { "auth_ref": [ "r581", "r586" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase in right-of-use asset obtained in exchange for finance lease liability.", "label": "Lease assets obtained in exchange for new financing lease liabilities" } } }, "localname": "RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-14-leases-lease-expense-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": { "auth_ref": [ "r581", "r586" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase in right-of-use asset obtained in exchange for operating lease liability.", "label": "Lease assets obtained in exchange for new operating lease liabilities" } } }, "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-14-leases-lease-expense-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock": { "auth_ref": [ "r452" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of cost recognized for award under share-based payment arrangement by plan. Includes, but is not limited to, related tax benefit.", "label": "Share-based Payment Arrangement, Cost by Plan [Table Text Block]" } } }, "localname": "ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock": { "auth_ref": [ "r495" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years.", "label": "Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]" } } }, "localname": "ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfComprehensiveIncomeLossTableTextBlock": { "auth_ref": [ "r51" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of components of comprehensive income (loss). Includes, but is not limited to, foreign currency translation adjustments, foreign currency transactions designated as economic hedges of a net investment in foreign entity, gain (loss) and prior service cost (credit) for pension plans and other postretirement benefit plans.", "label": "Comprehensive Income (Loss) [Table Text Block]" } } }, "localname": "ScheduleOfComprehensiveIncomeLossTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-15-accumulated-other-comprehensive-income-loss-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock": { "auth_ref": [ "r487" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets.", "label": "Schedule of Deferred Tax Assets and Liabilities [Table Text Block]" } } }, "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": { "auth_ref": [ "r141" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.", "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]" } } }, "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-4-net-income-per-common-share-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": { "auth_ref": [ "r476" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations.", "label": "Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]" } } }, "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": { "auth_ref": [ "r256", "r259" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.", "label": "Schedule of Finite-Lived Intangible Assets [Table Text Block]" } } }, "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfGoodwillTextBlock": { "auth_ref": [ "r252", "r254" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule.", "label": "Schedule of Goodwill [Table Text Block]" } } }, "localname": "ScheduleOfGoodwillTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock": { "auth_ref": [ "r112" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of income before income tax between domestic and foreign jurisdictions.", "label": "Schedule of Income before Income Tax, Domestic and Foreign [Table Text Block]" } } }, "localname": "ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": { "auth_ref": [ "r12", "r29", "r30", "r31" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.", "label": "Schedule of Inventory, Current [Table Text Block]" } } }, "localname": "ScheduleOfInventoryCurrentTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-10-inventory-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock": { "auth_ref": [ "r434" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the changes in outstanding nonvested performance-based units.", "label": "Schedule of Nonvested Performance-based Units Activity [Table Text Block]" } } }, "localname": "ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock": { "auth_ref": [ "r517" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the amounts recognized as of the acquisition date for each major class of assets acquired and liabilities assumed. May include but not limited to the following: (a) acquired receivables; (b) contingencies recognized at the acquisition date; and (c) the fair value of noncontrolling interests in the acquiree.", "label": "Schedule of Recognized Identified Assets Acquired and Liabilities Assumed [Table Text Block]" } } }, "localname": "ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock": { "auth_ref": [ "r455" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of option exercise prices, by grouped ranges, including the upper and lower limits of the price range, the number of shares under option, weighted average exercise price and remaining contractual option terms.", "label": "Share-based Payment Arrangement, Option, Exercise Price Range [Table Text Block]" } } }, "localname": "ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": { "auth_ref": [ "r428", "r440", "r443" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value.", "label": "Share-based Payment Arrangement, Option, Activity [Table Text Block]" } } }, "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock": { "auth_ref": [ "r446" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions.", "label": "Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]" } } }, "localname": "ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of the number and weighted-average grant date fair value for restricted stock and restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock and restricted stock units that were granted, vested, or forfeited during the year.", "label": "Share-based Payment Arrangement, Restricted Stock and Restricted Stock Unit, Activity [Table Text Block]" } } }, "localname": "ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock": { "auth_ref": [ "r482", "r496" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the change in unrecognized tax benefits.", "label": "Schedule of Unrecognized Tax Benefits Roll Forward [Table Text Block]" } } }, "localname": "ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": { "auth_ref": [ "r259" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets.", "label": "Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]" } } }, "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_SegmentDomain": { "auth_ref": [ "r157", "r160", "r161", "r162", "r163", "r164", "r165", "r166", "r167", "r168", "r169", "r170", "r171", "r173", "r174", "r175", "r176", "r177", "r178", "r179", "r180", "r181", "r183", "r191", "r277", "r278", "r657" ], "lang": { "en-us": { "role": { "documentation": "Components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity.", "label": "Segments [Domain]" } } }, "localname": "SegmentDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-income-from-operations-details", "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-longlived-assets-by-geographic-region-details", "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-revenue-from-operations-by-reportable-segment-details" ], "xbrltype": "domainItemType" }, "us-gaap_SegmentReportingDisclosureTextBlock": { "auth_ref": [ "r157", "r158", "r159", "r169", "r172", "r177", "r181", "r182", "r183", "r184", "r185", "r190", "r191", "r192" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments.", "label": "Segment Reporting Disclosure [Text Block]" } } }, "localname": "SegmentReportingDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting" ], "xbrltype": "textBlockItemType" }, "us-gaap_SellingAndMarketingExpense": { "auth_ref": [], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-comprehensive-income-": { "order": 2.0, "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate total amount of expenses directly related to the marketing or selling of products or services.", "label": "Marketing and sales" } } }, "localname": "SellingAndMarketingExpense", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-comprehensive-income-" ], "xbrltype": "monetaryItemType" }, "us-gaap_SellingAndMarketingExpenseMember": { "auth_ref": [ "r76" ], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing selling and marketing expense.", "label": "Selling and Marketing Expense [Member]" } } }, "localname": "SellingAndMarketingExpenseMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-stockbased-compensation-expense-details" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedCompensation": { "auth_ref": [ "r98" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of noncash expense for share-based payment arrangement.", "label": "us-gaap_ShareBasedCompensation", "terseLabel": "Stock-based compensation expense" } } }, "localname": "ShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": { "auth_ref": [ "r423" ], "lang": { "en-us": { "role": { "documentation": "Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period (Year)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-details-textual" ], "xbrltype": "durationItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPriceOfferingDate": { "auth_ref": [ "r455" ], "lang": { "en-us": { "role": { "documentation": "Discount rate from fair value on offering date that participants pay for shares.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPriceOfferingDate", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Discount from Market Price, Offering Date" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPriceOfferingDate", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-details-textual" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": { "auth_ref": [ "r433" ], "lang": { "en-us": { "role": { "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod", "negatedLabel": "Forfeited (in shares)", "negatedTerseLabel": "Forfeited (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-performance-stock-details", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-restricted-stock-options-details" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": { "auth_ref": [ "r438" ], "lang": { "en-us": { "role": { "documentation": "Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue", "terseLabel": "Forfeited, weighted-average grant date fair value (in dollars per share)", "verboseLabel": "Forfeited, weighted-average grant date fair value (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-performance-stock-details", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-restricted-stock-options-details" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": { "auth_ref": [ "r436" ], "lang": { "en-us": { "role": { "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).", "label": "Granted (in shares)", "terseLabel": "Granted (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-performance-stock-details", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-restricted-stock-options-details" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r436" ], "lang": { "en-us": { "role": { "documentation": "The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "terseLabel": "Granted, weighted-average grant date fair value (in dollars per share)", "verboseLabel": "Granted, weighted-average grant date fair value (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-performance-stock-details", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-restricted-stock-options-details" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": { "auth_ref": [ "r435" ], "lang": { "en-us": { "role": { "documentation": "The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "periodEndLabel": "Restricted stock (in shares)", "periodStartLabel": "Restricted stock (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-restricted-stock-options-details" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": { "auth_ref": [ "r435" ], "lang": { "en-us": { "role": { "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue", "periodEndLabel": "Restricted stock, weighted-average grant date fair value (in dollars per share)", "periodStartLabel": "Restricted stock, weighted-average grant date fair value (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-performance-stock-details", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-restricted-stock-options-details" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": { "auth_ref": [ "r437" ], "lang": { "en-us": { "role": { "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod", "negatedLabel": "Restrictions lapsed (in shares)", "negatedTerseLabel": "Restrictions lapsed (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-performance-stock-details", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-restricted-stock-options-details" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r437" ], "lang": { "en-us": { "role": { "documentation": "The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue", "terseLabel": "Restrictions lapsed, weighted-average grant date fair value (in dollars per share)", "verboseLabel": "Restrictions lapsed, weighted-average grant date fair value (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-performance-stock-details", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-restricted-stock-options-details" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate": { "auth_ref": [ "r449" ], "lang": { "en-us": { "role": { "documentation": "The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term.", "label": "Expected dividend yield" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-assumptions-used-in-the-blackscholes-option-pricing-model-details", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-assumptions-used-in-the-valuation-of-performance-stock-details" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate": { "auth_ref": [ "r448" ], "lang": { "en-us": { "role": { "documentation": "The estimated measure of the percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.", "label": "Expected volatility" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-assumptions-used-in-the-blackscholes-option-pricing-model-details", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-assumptions-used-in-the-valuation-of-performance-stock-details" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate": { "auth_ref": [ "r450" ], "lang": { "en-us": { "role": { "documentation": "The risk-free interest rate assumption that is used in valuing an option on its own shares.", "label": "Risk-free interest rate" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-assumptions-used-in-the-blackscholes-option-pricing-model-details", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-assumptions-used-in-the-valuation-of-performance-stock-details" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": { "auth_ref": [ "r455" ], "lang": { "en-us": { "role": { "documentation": "The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Available for Grant (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-details-textual" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": { "auth_ref": [ "r431" ], "lang": { "en-us": { "role": { "documentation": "The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan.", "label": "Options exercisable (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-stock-option-activity-details" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": { "auth_ref": [ "r431" ], "lang": { "en-us": { "role": { "documentation": "The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan.", "label": "Options exercisable, weighted-average exercise price (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-stock-option-activity-details" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue": { "auth_ref": [ "r442" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period, Intrinsic Value" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod": { "auth_ref": [ "r433" ], "lang": { "en-us": { "role": { "documentation": "The number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod", "negatedLabel": "Cancelled (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-stock-option-activity-details" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Gross number of share options (or share units) granted during the period.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross", "terseLabel": "Granted (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-stock-option-activity-details" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r441" ], "lang": { "en-us": { "role": { "documentation": "The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.", "label": "Weighted average grant date fair value (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-assumptions-used-in-the-blackscholes-option-pricing-model-details" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": { "auth_ref": [ "r455" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Intrinsic Value" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": { "auth_ref": [ "r430", "r455" ], "lang": { "en-us": { "role": { "documentation": "Number of options outstanding, including both vested and non-vested options.", "label": "Options outstanding, vested and expected to vest, number outstanding (in shares)", "periodEndLabel": "Options outstanding (in shares)", "periodStartLabel": "Options outstanding (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-information-about-stock-options-outstanding-details", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-stock-option-activity-details" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": { "auth_ref": [ "r429" ], "lang": { "en-us": { "role": { "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.", "label": "Options outstanding, vested and expected to vest, weighted average exercise price (in dollars per share)", "periodEndLabel": "Options outstanding, weighted-average exercise price (in dollars per share)", "periodStartLabel": "Options outstanding, weighted-average exercise price (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-information-about-stock-options-outstanding-details", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-stock-option-activity-details" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "auth_ref": [ "r420", "r425" ], "lang": { "en-us": { "role": { "documentation": "Award under share-based payment arrangement.", "label": "Award Type [Domain]" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-assumptions-used-in-the-blackscholes-option-pricing-model-details", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-assumptions-used-in-the-valuation-of-performance-stock-details", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-details-textual", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-performance-stock-details", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-restricted-stock-options-details", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-stockbased-compensation-expense-details" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares.", "label": "Exercised, weighted-average exercise price (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-stock-option-activity-details" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Weighted average price at which grantees could have acquired the underlying shares with respect to stock options that were terminated.", "label": "Cancelled, weighted-average exercise price (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-stock-option-activity-details" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.", "label": "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice", "terseLabel": "Granted, weighted-average exercise price (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-stock-option-activity-details" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis": { "auth_ref": [ "r445" ], "lang": { "en-us": { "role": { "documentation": "Information by range of option prices pertaining to options granted.", "label": "Exercise Price Range [Axis]" } } }, "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-information-about-stock-options-outstanding-details" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain": { "auth_ref": [ "r451" ], "lang": { "en-us": { "role": { "documentation": "Supplementary information on outstanding and exercisable share awards as of the balance sheet date which stratifies outstanding options by ranges of exercise prices.", "label": "Exercise Price Range [Domain]" } } }, "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-information-about-stock-options-outstanding-details" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit": { "auth_ref": [ "r451" ], "lang": { "en-us": { "role": { "documentation": "The floor of a customized range of exercise prices for purposes of disclosing shares potentially issuable under outstanding stock option awards on all stock option plans and other required information pertaining to awards in the customized range.", "label": "Range of exercise prices, lower limit (in dollars per share)" } } }, "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-information-about-stock-options-outstanding-details" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions": { "auth_ref": [ "r439" ], "lang": { "en-us": { "role": { "documentation": "The number of shares reserved for issuance pertaining to the outstanding exercisable stock options as of the balance sheet date in the customized range of exercise prices for which the market and performance vesting condition has been satisfied.", "label": "Options exercisable, number exercisable (in shares)", "periodEndLabel": "Performance stock (in shares)", "periodStartLabel": "Performance stock (in shares)" } } }, "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-information-about-stock-options-outstanding-details", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-performance-stock-details" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit": { "auth_ref": [ "r451" ], "lang": { "en-us": { "role": { "documentation": "The ceiling of a customized range of exercise prices for purposes of disclosing shares potentially issuable under outstanding stock option awards on all stock option plans and other required information pertaining to awards in the customized range.", "label": "Range of exercise prices, upper limit (in dollars per share)" } } }, "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-information-about-stock-options-outstanding-details" ], "xbrltype": "perShareItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod": { "auth_ref": [ "r424" ], "lang": { "en-us": { "role": { "documentation": "Period from grant date that an equity-based award expires, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period (Year)" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-details-textual" ], "xbrltype": "durationItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1": { "auth_ref": [ "r447", "r461" ], "lang": { "en-us": { "role": { "documentation": "Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Expected life (Year)" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-assumptions-used-in-the-blackscholes-option-pricing-model-details", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-assumptions-used-in-the-valuation-of-performance-stock-details" ], "xbrltype": "durationItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1": { "auth_ref": [ "r455" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of difference between fair value of the underlying shares reserved for issuance and exercise price of vested portions of options outstanding and currently exercisable.", "label": "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Intrinsic Value" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1": { "auth_ref": [ "r455" ], "lang": { "en-us": { "role": { "documentation": "Weighted average remaining contractual term for vested portions of options outstanding and currently exercisable or convertible, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term (Year)" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-details-textual" ], "xbrltype": "durationItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": { "auth_ref": [ "r444" ], "lang": { "en-us": { "role": { "documentation": "Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term (Year)" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-details-textual" ], "xbrltype": "durationItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1": { "auth_ref": [ "r444" ], "lang": { "en-us": { "role": { "documentation": "Weighted average remaining contractual term for fully vested and expected to vest options outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.", "label": "Options outstanding, vested and expected to vest, weighted average remaining contractual life (Year)" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-information-about-stock-options-outstanding-details" ], "xbrltype": "durationItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1": { "auth_ref": [ "r427" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Fair value of options vested. Excludes equity instruments other than options, for example, but not limited to, share units, stock appreciation rights, restricted stock.", "label": "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested in Period, Fair Value" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Purchase price of common stock expressed as a percentage of its fair value.", "label": "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Purchase Price of Common Stock, Percent" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-details-textual" ], "xbrltype": "percentItemType" }, "us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1": { "auth_ref": [ "r431" ], "lang": { "en-us": { "role": { "documentation": "Weighted average exercise price as of the balance sheet date for those equity-based payment arrangements exercisable and outstanding.", "label": "Options exercisable, weighted average exercise price (in dollars per share)" } } }, "localname": "SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-information-about-stock-options-outstanding-details" ], "xbrltype": "perShareItemType" }, "us-gaap_SignificantAccountingPoliciesTextBlock": { "auth_ref": [ "r105", "r118" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for all significant accounting policies of the reporting entity.", "label": "Significant Accounting Policies [Text Block]" } } }, "localname": "SignificantAccountingPoliciesTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-" ], "xbrltype": "textBlockItemType" }, "us-gaap_StatementBusinessSegmentsAxis": { "auth_ref": [ "r1", "r157", "r160", "r161", "r162", "r163", "r164", "r165", "r166", "r167", "r168", "r169", "r170", "r171", "r173", "r174", "r175", "r176", "r177", "r178", "r179", "r180", "r181", "r183", "r191", "r252", "r273", "r277", "r278", "r657" ], "lang": { "en-us": { "role": { "documentation": "Information by business segments.", "label": "Segments [Axis]" } } }, "localname": "StatementBusinessSegmentsAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-income-from-operations-details", "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-longlived-assets-by-geographic-region-details", "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-revenue-from-operations-by-reportable-segment-details" ], "xbrltype": "stringItemType" }, "us-gaap_StatementEquityComponentsAxis": { "auth_ref": [ "r0", "r46", "r68", "r69", "r70", "r119", "r120", "r121", "r123", "r129", "r131", "r149", "r229", "r315", "r316", "r457", "r458", "r459", "r497", "r498", "r548", "r561", "r562", "r563", "r564", "r565", "r566", "r662", "r663", "r664", "r703" ], "lang": { "en-us": { "role": { "documentation": "Information by component of equity.", "label": "Equity Components [Axis]" } } }, "localname": "StatementEquityComponentsAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-shareholders-equity-", "http://www.protolabs.com/20211231/role/statement-note-15-accumulated-other-comprehensive-income-loss-other-comprehensive-loss-details" ], "xbrltype": "stringItemType" }, "us-gaap_StatementLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Statement [Line Items]" } } }, "localname": "StatementLineItems", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-", "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-parentheticals", "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-", "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-comprehensive-income-", "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-shareholders-equity-", "http://www.protolabs.com/20211231/role/statement-note-1-nature-of-business", "http://www.protolabs.com/20211231/role/statement-note-10-inventory", "http://www.protolabs.com/20211231/role/statement-note-10-inventory-inventory-details", "http://www.protolabs.com/20211231/role/statement-note-10-inventory-tables", "http://www.protolabs.com/20211231/role/statement-note-11-financing-obligations", "http://www.protolabs.com/20211231/role/statement-note-11-financing-obligations-details-textual", "http://www.protolabs.com/20211231/role/statement-note-12-employee-benefit-plans", "http://www.protolabs.com/20211231/role/statement-note-12-employee-benefit-plans-details-textual", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-assumptions-used-in-the-blackscholes-option-pricing-model-details", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-assumptions-used-in-the-valuation-of-performance-stock-details", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-details-textual", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-information-about-stock-options-outstanding-details", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-performance-stock-details", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-restricted-stock-options-details", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-stock-option-activity-details", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-stockbased-compensation-expense-details", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-tables", "http://www.protolabs.com/20211231/role/statement-note-14-leases", "http://www.protolabs.com/20211231/role/statement-note-14-leases-balance-sheet-information-details", "http://www.protolabs.com/20211231/role/statement-note-14-leases-lease-expense-details", "http://www.protolabs.com/20211231/role/statement-note-14-leases-maturities-of-operating-lease-liabilities-details", "http://www.protolabs.com/20211231/role/statement-note-14-leases-tables", "http://www.protolabs.com/20211231/role/statement-note-14-leases-weighted-average-remaining-terms-and-discount-rates-details", "http://www.protolabs.com/20211231/role/statement-note-15-accumulated-other-comprehensive-income-loss", "http://www.protolabs.com/20211231/role/statement-note-15-accumulated-other-comprehensive-income-loss-other-comprehensive-loss-details", "http://www.protolabs.com/20211231/role/statement-note-15-accumulated-other-comprehensive-income-loss-tables", "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes", "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-components-of-income-loss-before-income-taxes-details", "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-details-textual", "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-reconciliation-of-beginning-and-ending-amount-of-unrecognized-tax-benefits-details", "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-reconciliation-of-federal-statutory-income-tax-rate-to-effective-tax-rate-details", "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-deferred-tax-assets-and-liabilities-details", "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-provision-for-income-taxes-details", "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-tables", "http://www.protolabs.com/20211231/role/statement-note-17-litigation", "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting", "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-depreciation-and-amortization-details", "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-expenditures-for-additions-to-longlived-assets-details", "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-income-from-operations-details", "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-longlived-assets-by-geographic-region-details", "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-revenue-from-operations-by-reportable-segment-details", "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-tables", "http://www.protolabs.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-", "http://www.protolabs.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual", "http://www.protolabs.com/20211231/role/statement-note-3-revenue", "http://www.protolabs.com/20211231/role/statement-note-3-revenue-disaggregation-of-revenue-details", "http://www.protolabs.com/20211231/role/statement-note-3-revenue-tables", "http://www.protolabs.com/20211231/role/statement-note-4-net-income-per-common-share", "http://www.protolabs.com/20211231/role/statement-note-4-net-income-per-common-share-computation-of-basic-and-diluted-net-income-per-share-details", "http://www.protolabs.com/20211231/role/statement-note-4-net-income-per-common-share-details-textual", "http://www.protolabs.com/20211231/role/statement-note-4-net-income-per-common-share-tables", "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations", "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details", "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-details-textual", "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-tables", "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets", "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-changes-in-carrying-amount-of-goodwill-details", "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-details-textual", "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details", "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details", "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-tables", "http://www.protolabs.com/20211231/role/statement-note-7-fair-value-measurements", "http://www.protolabs.com/20211231/role/statement-note-7-fair-value-measurements-details-textual", "http://www.protolabs.com/20211231/role/statement-note-7-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details", "http://www.protolabs.com/20211231/role/statement-note-7-fair-value-measurements-tables", "http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities", "http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities-balance-of-heldtomaturity-debt-securities-by-contractual-maturity-details", "http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities-shortterm-and-longterm-available-for-sale-securities-details", "http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities-shortterm-and-longterm-heldtomaturity-securities-details", "http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities-tables", "http://www.protolabs.com/20211231/role/statement-note-9-property-and-equipment", "http://www.protolabs.com/20211231/role/statement-note-9-property-and-equipment-components-of-property-and-equipment-details", "http://www.protolabs.com/20211231/role/statement-note-9-property-and-equipment-details-textual", "http://www.protolabs.com/20211231/role/statement-note-9-property-and-equipment-tables", "http://www.protolabs.com/20211231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "stringItemType" }, "us-gaap_StatementOfCashFlowsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Statement of Cash Flows [Abstract]" } } }, "localname": "StatementOfCashFlowsAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementOfFinancialPositionAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Statement of Financial Position [Abstract]" } } }, "localname": "StatementOfFinancialPositionAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementOfStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Statement of Stockholders' Equity [Abstract]" } } }, "localname": "StatementOfStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementTable": { "auth_ref": [ "r119", "r120", "r121", "r149", "r623" ], "lang": { "en-us": { "role": { "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed.", "label": "Statement [Table]" } } }, "localname": "StatementTable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-", "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-parentheticals", "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-", "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-comprehensive-income-", "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-shareholders-equity-", "http://www.protolabs.com/20211231/role/statement-note-1-nature-of-business", "http://www.protolabs.com/20211231/role/statement-note-10-inventory", "http://www.protolabs.com/20211231/role/statement-note-10-inventory-inventory-details", "http://www.protolabs.com/20211231/role/statement-note-10-inventory-tables", "http://www.protolabs.com/20211231/role/statement-note-11-financing-obligations", "http://www.protolabs.com/20211231/role/statement-note-11-financing-obligations-details-textual", "http://www.protolabs.com/20211231/role/statement-note-12-employee-benefit-plans", "http://www.protolabs.com/20211231/role/statement-note-12-employee-benefit-plans-details-textual", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-assumptions-used-in-the-blackscholes-option-pricing-model-details", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-assumptions-used-in-the-valuation-of-performance-stock-details", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-details-textual", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-information-about-stock-options-outstanding-details", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-performance-stock-details", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-restricted-stock-options-details", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-stock-option-activity-details", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-stockbased-compensation-expense-details", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-tables", "http://www.protolabs.com/20211231/role/statement-note-14-leases", "http://www.protolabs.com/20211231/role/statement-note-14-leases-balance-sheet-information-details", "http://www.protolabs.com/20211231/role/statement-note-14-leases-lease-expense-details", "http://www.protolabs.com/20211231/role/statement-note-14-leases-maturities-of-operating-lease-liabilities-details", "http://www.protolabs.com/20211231/role/statement-note-14-leases-tables", "http://www.protolabs.com/20211231/role/statement-note-14-leases-weighted-average-remaining-terms-and-discount-rates-details", "http://www.protolabs.com/20211231/role/statement-note-15-accumulated-other-comprehensive-income-loss", "http://www.protolabs.com/20211231/role/statement-note-15-accumulated-other-comprehensive-income-loss-other-comprehensive-loss-details", "http://www.protolabs.com/20211231/role/statement-note-15-accumulated-other-comprehensive-income-loss-tables", "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes", "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-components-of-income-loss-before-income-taxes-details", "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-details-textual", "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-reconciliation-of-beginning-and-ending-amount-of-unrecognized-tax-benefits-details", "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-reconciliation-of-federal-statutory-income-tax-rate-to-effective-tax-rate-details", "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-deferred-tax-assets-and-liabilities-details", "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-significant-components-of-provision-for-income-taxes-details", "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-tables", "http://www.protolabs.com/20211231/role/statement-note-17-litigation", "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting", "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-depreciation-and-amortization-details", "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-expenditures-for-additions-to-longlived-assets-details", "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-income-from-operations-details", "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-longlived-assets-by-geographic-region-details", "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-revenue-from-operations-by-reportable-segment-details", "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-tables", "http://www.protolabs.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-", "http://www.protolabs.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual", "http://www.protolabs.com/20211231/role/statement-note-3-revenue", "http://www.protolabs.com/20211231/role/statement-note-3-revenue-disaggregation-of-revenue-details", "http://www.protolabs.com/20211231/role/statement-note-3-revenue-tables", "http://www.protolabs.com/20211231/role/statement-note-4-net-income-per-common-share", "http://www.protolabs.com/20211231/role/statement-note-4-net-income-per-common-share-computation-of-basic-and-diluted-net-income-per-share-details", "http://www.protolabs.com/20211231/role/statement-note-4-net-income-per-common-share-details-textual", "http://www.protolabs.com/20211231/role/statement-note-4-net-income-per-common-share-tables", "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations", "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details", "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-details-textual", "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-tables", "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets", "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-changes-in-carrying-amount-of-goodwill-details", "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-details-textual", "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details", "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details", "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-tables", "http://www.protolabs.com/20211231/role/statement-note-7-fair-value-measurements", "http://www.protolabs.com/20211231/role/statement-note-7-fair-value-measurements-details-textual", "http://www.protolabs.com/20211231/role/statement-note-7-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details", "http://www.protolabs.com/20211231/role/statement-note-7-fair-value-measurements-tables", "http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities", "http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities-balance-of-heldtomaturity-debt-securities-by-contractual-maturity-details", "http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities-shortterm-and-longterm-available-for-sale-securities-details", "http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities-shortterm-and-longterm-heldtomaturity-securities-details", "http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities-tables", "http://www.protolabs.com/20211231/role/statement-note-9-property-and-equipment", "http://www.protolabs.com/20211231/role/statement-note-9-property-and-equipment-components-of-property-and-equipment-details", "http://www.protolabs.com/20211231/role/statement-note-9-property-and-equipment-details-textual", "http://www.protolabs.com/20211231/role/statement-note-9-property-and-equipment-tables", "http://www.protolabs.com/20211231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "stringItemType" }, "us-gaap_StockIssuedDuringPeriodSharesAcquisitions": { "auth_ref": [ "r19", "r20", "r316" ], "lang": { "en-us": { "role": { "documentation": "Number of shares of stock issued during the period pursuant to acquisitions.", "label": "Common shares issued for Hubs acquisition (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesAcquisitions", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-shareholders-equity-" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation": { "auth_ref": [ "r19", "r20", "r315", "r316" ], "lang": { "en-us": { "role": { "documentation": "Number, after forfeiture, of shares or units issued under share-based payment arrangement. Excludes shares or units issued under employee stock ownership plan (ESOP).", "label": "Common shares issued on exercise of options and other, net of shares withheld for tax obligations (in shares)", "terseLabel": "Shares Issued, Shares, Share-based Payment Arrangement, after Forfeiture, Total (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-shareholders-equity-", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-details-textual" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": { "auth_ref": [ "r19", "r20", "r315", "r316", "r432" ], "lang": { "en-us": { "role": { "documentation": "Number of share options (or share units) exercised during the current period.", "label": "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised", "negatedLabel": "Exercised (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-stock-option-activity-details" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodValueAcquisitions": { "auth_ref": [ "r46", "r315", "r316" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Value of stock issued pursuant to acquisitions during the period.", "label": "Common shares issued for Hubs acquisition" } } }, "localname": "StockIssuedDuringPeriodValueAcquisitions", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-shareholders-equity-" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": { "auth_ref": [ "r46", "r315", "r316" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Value of stock issued as a result of the exercise of stock options.", "label": "Common shares issued on exercise of options and other, net of shares withheld for tax obligations" } } }, "localname": "StockIssuedDuringPeriodValueStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-shareholders-equity-" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockRepurchasedAndRetiredDuringPeriodShares": { "auth_ref": [ "r19", "r20", "r315", "r316" ], "lang": { "en-us": { "role": { "documentation": "Number of shares that have been repurchased and retired during the period.", "label": "us-gaap_StockRepurchasedAndRetiredDuringPeriodShares", "negatedLabel": "Repurchases of Common Stock (in shares)" } } }, "localname": "StockRepurchasedAndRetiredDuringPeriodShares", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-shareholders-equity-" ], "xbrltype": "sharesItemType" }, "us-gaap_StockRepurchasedAndRetiredDuringPeriodValue": { "auth_ref": [ "r19", "r20", "r315", "r316" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Equity impact of the value of stock that has been repurchased and retired during the period. The excess of the purchase price over par value can be charged against retained earnings (once the excess is fully allocated to additional paid in capital).", "label": "us-gaap_StockRepurchasedAndRetiredDuringPeriodValue", "negatedLabel": "Repurchases of Common Stock" } } }, "localname": "StockRepurchasedAndRetiredDuringPeriodValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-shareholders-equity-" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquity": { "auth_ref": [ "r20", "r25", "r26", "r111", "r202", "r226", "r559", "r589" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-": { "order": 0.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.", "label": "us-gaap_StockholdersEquity", "periodEndLabel": "Balance at end of period", "periodStartLabel": "Balance at beginning of period", "totalLabel": "Total shareholders' equity" } } }, "localname": "StockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-", "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-shareholders-equity-", "http://www.protolabs.com/20211231/role/statement-note-15-accumulated-other-comprehensive-income-loss-other-comprehensive-loss-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Shareholders' equity" } } }, "localname": "StockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-balance-sheets-" ], "xbrltype": "stringItemType" }, "us-gaap_SupplementalCashFlowInformationAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Supplemental cash flow disclosure" } } }, "localname": "SupplementalCashFlowInformationAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-cash-flows-" ], "xbrltype": "stringItemType" }, "us-gaap_TableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "us-gaap_TableTextBlock", "terseLabel": "Notes Tables" } } }, "localname": "TableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-10-inventory-tables", "http://www.protolabs.com/20211231/role/statement-note-13-stockbased-compensation-tables", "http://www.protolabs.com/20211231/role/statement-note-14-leases-tables", "http://www.protolabs.com/20211231/role/statement-note-15-accumulated-other-comprehensive-income-loss-tables", "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-tables", "http://www.protolabs.com/20211231/role/statement-note-18-segment-reporting-tables", "http://www.protolabs.com/20211231/role/statement-note-3-revenue-tables", "http://www.protolabs.com/20211231/role/statement-note-4-net-income-per-common-share-tables", "http://www.protolabs.com/20211231/role/statement-note-5-business-combinations-tables", "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-tables", "http://www.protolabs.com/20211231/role/statement-note-7-fair-value-measurements-tables", "http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities-tables", "http://www.protolabs.com/20211231/role/statement-note-9-property-and-equipment-tables" ], "xbrltype": "stringItemType" }, "us-gaap_TradeAndOtherAccountsReceivablePolicy": { "auth_ref": [ "r195", "r196", "r197", "r198", "r200", "r203" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for accounts receivable.", "label": "Accounts Receivable [Policy Text Block]" } } }, "localname": "TradeAndOtherAccountsReceivablePolicy", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "us-gaap_TradeNamesMember": { "auth_ref": [ "r520" ], "lang": { "en-us": { "role": { "documentation": "Rights acquired through registration of a business name to gain or protect exclusive use thereof.", "label": "Trade Names [Member]" } } }, "localname": "TradeNamesMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-6-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details" ], "xbrltype": "domainItemType" }, "us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain": { "auth_ref": [ "r214", "r218", "r222", "r223", "r224", "r307", "r314", "r547", "r590", "r591", "r592", "r593", "r594", "r595", "r596", "r597", "r598", "r599", "r600", "r601", "r602", "r603", "r604", "r605", "r606", "r607", "r608", "r609", "r610", "r611", "r612", "r613", "r614", "r615", "r616", "r617", "r618", "r619", "r694", "r695", "r696", "r697", "r698", "r699", "r700" ], "lang": { "en-us": { "role": { "documentation": "Instrument or contract that imposes a contractual obligation to deliver cash or another financial instrument or to exchange other financial instruments on potentially unfavorable terms and conveys a contractual right to receive cash or another financial instrument or to exchange other financial instruments on potentially favorable terms.", "label": "Financial Instruments [Domain]" } } }, "localname": "TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities-shortterm-and-longterm-available-for-sale-securities-details", "http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities-shortterm-and-longterm-heldtomaturity-securities-details" ], "xbrltype": "domainItemType" }, "us-gaap_USGovernmentAgenciesDebtSecuritiesMember": { "auth_ref": [ "r116", "r356", "r640" ], "lang": { "en-us": { "role": { "documentation": "Debentures, notes, and other debt securities issued by US government agencies, for example, but not limited to, Government National Mortgage Association (GNMA or Ginnie Mae). Excludes US treasury securities and debt issued by government-sponsored Enterprises (GSEs), for example, but is not limited to, Federal Home Loan Mortgage Corporation (FHLMC or Freddie Mac), Federal National Mortgage Association (FNMA or Fannie Mae), and the Federal Home Loan Bank (FHLB).", "label": "US Government Agencies Debt Securities [Member]" } } }, "localname": "USGovernmentAgenciesDebtSecuritiesMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities-shortterm-and-longterm-available-for-sale-securities-details", "http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities-shortterm-and-longterm-heldtomaturity-securities-details" ], "xbrltype": "domainItemType" }, "us-gaap_USStatesAndPoliticalSubdivisionsMember": { "auth_ref": [ "r356", "r669" ], "lang": { "en-us": { "role": { "documentation": "Bonds or similar securities issued by state, city, or local US governments or the agencies operated by state, city, or local governments. Debt securities issued by state governments may include bond issuances of US state authorities including, for example, but not limited to, housing authorities, dormitory authorities, and general obligations while debt securities issued by political subdivisions of US states would include, for example, debt issuances by county, borough, city, or municipal governments.", "label": "US States and Political Subdivisions Debt Securities [Member]" } } }, "localname": "USStatesAndPoliticalSubdivisionsMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities-shortterm-and-longterm-available-for-sale-securities-details", "http://www.protolabs.com/20211231/role/statement-note-8-marketable-securities-shortterm-and-longterm-heldtomaturity-securities-details" ], "xbrltype": "domainItemType" }, "us-gaap_UndistributedEarningsOfForeignSubsidiaries": { "auth_ref": [ "r469", "r510", "r643", "r668" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of undistributed earnings of foreign subsidiaries intended to be permanently reinvested outside the country of domicile.", "label": "us-gaap_UndistributedEarningsOfForeignSubsidiaries", "terseLabel": "Undistributed Earnings of Foreign Subsidiaries" } } }, "localname": "UndistributedEarningsOfForeignSubsidiaries", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_UnrecognizedTaxBenefits": { "auth_ref": [ "r470", "r478" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of unrecognized tax benefits.", "label": "us-gaap_UnrecognizedTaxBenefits", "periodEndLabel": "Balance", "periodStartLabel": "Balance", "terseLabel": "Unrecognized Tax Benefits, Ending Balance" } } }, "localname": "UnrecognizedTaxBenefits", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-details-textual", "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-reconciliation-of-beginning-and-ending-amount-of-unrecognized-tax-benefits-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions": { "auth_ref": [ "r480" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase in unrecognized tax benefits resulting from tax positions that have been or will be taken in current period tax return.", "label": "Additions for tax positions of current year" } } }, "localname": "UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-reconciliation-of-beginning-and-ending-amount-of-unrecognized-tax-benefits-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions": { "auth_ref": [ "r479" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase in unrecognized tax benefits resulting from tax positions taken in prior period tax returns.", "label": "Additions for tax positions of prior years" } } }, "localname": "UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-reconciliation-of-beginning-and-ending-amount-of-unrecognized-tax-benefits-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations": { "auth_ref": [ "r481" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of decrease in unrecognized tax benefits resulting from lapses of applicable statutes of limitations.", "label": "us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations", "negatedLabel": "Decrease related to expiration of statutes of limitations" } } }, "localname": "UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-16-income-taxes-reconciliation-of-beginning-and-ending-amount-of-unrecognized-tax-benefits-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_UseOfEstimates": { "auth_ref": [ "r150", "r151", "r152", "r153", "r154", "r155", "r156" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.", "label": "Use of Estimates, Policy [Policy Text Block]" } } }, "localname": "UseOfEstimates", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "us-gaap_VariableLeaseCost": { "auth_ref": [ "r579", "r586" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-14-leases-lease-expense-details": { "order": 3.0, "parentTag": "us-gaap_LeaseCost", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of variable lease cost, excluded from lease liability, recognized when obligation for payment is incurred for finance and operating leases.", "label": "Variable lease cost" } } }, "localname": "VariableLeaseCost", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-note-14-leases-lease-expense-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "auth_ref": [ "r133", "r141" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-4-net-income-per-common-share-computation-of-basic-and-diluted-net-income-per-share-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "lang": { "en-us": { "role": { "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.", "label": "Diluted (in shares)", "totalLabel": "Diluted - weighted-average shares outstanding: (in shares)" } } }, "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-comprehensive-income-", "http://www.protolabs.com/20211231/role/statement-note-4-net-income-per-common-share-computation-of-basic-and-diluted-net-income-per-share-details" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "auth_ref": [ "r132", "r141" ], "calculation": { "http://www.protolabs.com/20211231/role/statement-note-4-net-income-per-common-share-computation-of-basic-and-diluted-net-income-per-share-details": { "order": 1.0, "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.", "label": "Basic (in shares)", "terseLabel": "Basic - weighted-average shares outstanding: (in shares)" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-comprehensive-income-", "http://www.protolabs.com/20211231/role/statement-note-4-net-income-per-common-share-computation-of-basic-and-diluted-net-income-per-share-details" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Shares used to compute net income per share:" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.protolabs.com/20211231/role/statement-consolidated-statements-of-comprehensive-income-" ], "xbrltype": "stringItemType" } }, "unitCount": 8 } }, "std_ref": { "r0": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "105", "URI": "http://asc.fasb.org/extlink&oid=124434974&loc=SL124442142-165695" }, "r1": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "205", "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=d3e1361-107760" }, "r10": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6812-107765" }, "r100": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3602-108585" }, "r101": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3044-108585" }, "r102": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123431023&loc=d3e4273-108586" }, "r103": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123431023&loc=d3e4297-108586" }, "r104": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123431023&loc=SL98516268-108586" }, "r105": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=123372394&loc=d3e18726-107790" }, "r106": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=123372394&loc=d3e18823-107790" }, "r107": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=123372394&loc=d3e18823-107790" }, "r108": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=123372394&loc=d3e18823-107790" }, "r109": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=123372394&loc=d3e18823-107790" }, "r11": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6812-107765" }, "r110": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(c))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r111": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r112": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r113": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(h)(1))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r114": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(h)(2))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r115": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(h))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r116": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(m)(1)(ii)(A))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r117": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-04(a))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e24072-122690" }, "r118": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "235", "URI": "http://asc.fasb.org/topic&trid=2122369" }, "r119": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124436220&loc=d3e21914-107793" }, "r12": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6361739&loc=d3e7789-107766" }, "r120": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124436220&loc=d3e21930-107793" }, "r121": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124436220&loc=d3e21711-107793" }, "r122": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794" }, "r123": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(3)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794" }, "r124": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794" }, "r125": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794" }, "r126": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22583-107794" }, "r127": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22595-107794" }, "r128": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794" }, "r129": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794" }, "r13": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(1))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r130": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22658-107794" }, "r131": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22663-107794" }, "r132": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1448-109256" }, "r133": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1505-109256" }, "r134": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1252-109256" }, "r135": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1707-109256" }, "r136": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1757-109256" }, "r137": { "Name": "Accounting Standards Codification", "Paragraph": "28A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1500-109256" }, "r138": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=SL5780133-109256" }, "r139": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=SL5780133-109256" }, "r14": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(13))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r140": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1337-109256" }, "r141": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257" }, "r142": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257" }, "r143": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=124432515&loc=d3e3630-109257" }, "r144": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=109243012&loc=SL65017193-207537" }, "r145": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=125512782&loc=d3e3842-109258" }, "r146": { "Name": "Accounting Standards Codification", "Paragraph": "52", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=125512782&loc=d3e4984-109258" }, "r147": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "260", "URI": "http://asc.fasb.org/topic&trid=2144383" }, "r148": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "270", "URI": "http://asc.fasb.org/extlink&oid=124437754&loc=d3e543-108305" }, "r149": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "272", "URI": "http://asc.fasb.org/extlink&oid=125520817&loc=d3e70191-108054" }, "r15": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(14))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r150": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592" }, "r151": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592" }, "r152": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6161-108592" }, "r153": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6191-108592" }, "r154": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6061-108592" }, "r155": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6132-108592" }, "r156": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6143-108592" }, "r157": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8657-108599" }, "r158": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8721-108599" }, "r159": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8721-108599" }, "r16": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(22))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r160": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599" }, "r161": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599" }, "r162": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599" }, "r163": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599" }, "r164": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599" }, "r165": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599" }, "r166": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599" }, "r167": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599" }, "r168": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(j)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599" }, "r169": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599" }, "r17": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(26)(a))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r170": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8813-108599" }, "r171": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8813-108599" }, "r172": { "Name": "Accounting Standards Codification", "Paragraph": "26", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8844-108599" }, "r173": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8906-108599" }, "r174": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8906-108599" }, "r175": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8906-108599" }, "r176": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8906-108599" }, "r177": { "Name": "Accounting Standards Codification", "Paragraph": "31", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8924-108599" }, "r178": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599" }, "r179": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599" }, "r18": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(26)(b))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r180": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599" }, "r181": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599" }, "r182": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599" }, "r183": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599" }, "r184": { "Name": "Accounting Standards Codification", "Paragraph": "34", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8981-108599" }, "r185": { "Name": "Accounting Standards Codification", "Paragraph": "40", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e9031-108599" }, "r186": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e9038-108599" }, "r187": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e9038-108599" }, "r188": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "a", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e9038-108599" }, "r189": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "b", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e9038-108599" }, "r19": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(28))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r190": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e9038-108599" }, "r191": { "Name": "Accounting Standards Codification", "Paragraph": "42", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e9054-108599" }, "r192": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "280", "URI": "http://asc.fasb.org/topic&trid=2134510" }, "r193": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=124259787&loc=d3e4428-111522" }, "r194": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=124259787&loc=d3e4531-111522" }, "r195": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=123577603&loc=d3e4975-111524" }, "r196": { "Name": "Accounting Standards Codification", "Paragraph": "11B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=123577603&loc=SL6953423-111524" }, "r197": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=123577603&loc=d3e5212-111524" }, "r198": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=123577603&loc=d3e5033-111524" }, "r199": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=123577603&loc=d3e5074-111524" }, "r2": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "205", "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=SL51721683-107760" }, "r20": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(29))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r200": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=123577603&loc=d3e5093-111524" }, "r201": { "Name": "Accounting Standards Codification", "Paragraph": "7A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=123577603&loc=SL6953401-111524" }, "r202": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 4.E)", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=122038336&loc=d3e74512-122707" }, "r203": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=84159169&loc=d3e10133-111534" }, "r204": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=124260329&loc=d3e26610-111562" }, "r205": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=124260329&loc=d3e26853-111562" }, "r206": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=123581744&loc=d3e27161-111563" }, "r207": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(aa)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=123581744&loc=d3e27161-111563" }, "r208": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=123581744&loc=d3e27161-111563" }, "r209": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=123581744&loc=d3e27161-111563" }, "r21": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(3))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r210": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=123581744&loc=d3e27232-111563" }, "r211": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(aa)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=123581744&loc=d3e27232-111563" }, "r212": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=123581744&loc=d3e27232-111563" }, "r213": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=123581744&loc=d3e27232-111563" }, "r214": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=123581744&loc=d3e27232-111563" }, "r215": { "Name": "Accounting Standards Codification", "Paragraph": "5A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=123581744&loc=SL120269820-111563" }, "r216": { "Name": "Accounting Standards Codification", "Paragraph": "5A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=123581744&loc=SL120269820-111563" }, "r217": { "Name": "Accounting Standards Codification", "Paragraph": "5A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=123581744&loc=SL120269820-111563" }, "r218": { "Name": "Accounting Standards Codification", "Paragraph": "5A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=123581744&loc=SL120269820-111563" }, "r219": { "Name": "Accounting Standards Codification", "Paragraph": "5B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=123581744&loc=SL120269825-111563" }, "r22": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(1))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r220": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=123581744&loc=d3e27357-111563" }, "r221": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "320", "URI": "http://asc.fasb.org/topic&trid=2196928" }, "r222": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "321", "URI": "http://asc.fasb.org/extlink&oid=123583765&loc=SL75117539-209714" }, "r223": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "321", "URI": "http://asc.fasb.org/extlink&oid=123583765&loc=SL75117539-209714" }, "r224": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "321", "URI": "http://asc.fasb.org/extlink&oid=123583765&loc=SL75117539-209714" }, "r225": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "321", "URI": "http://asc.fasb.org/topic&trid=75115024" }, "r226": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "323", "URI": "http://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571" }, "r227": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "323", "URI": "http://asc.fasb.org/topic&trid=2196965" }, "r228": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "325", "URI": "http://asc.fasb.org/topic&trid=2197064" }, "r229": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437" }, "r23": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(3))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r230": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=124255206&loc=SL82895884-210446" }, "r231": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=124255953&loc=SL82919244-210447" }, "r232": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447" }, "r233": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=124255953&loc=SL82919253-210447" }, "r234": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=124255953&loc=SL82919258-210447" }, "r235": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=124255953&loc=SL82919230-210447" }, "r236": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=124258926&loc=SL82898722-210454" }, "r237": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=124269663&loc=SL82922888-210455" }, "r238": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=124269663&loc=SL82922895-210455" }, "r239": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=124269663&loc=SL82922900-210455" }, "r24": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(4))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r240": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "55", "SubTopic": "30", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121590138&loc=SL82922954-210456" }, "r241": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "330", "URI": "http://asc.fasb.org/extlink&oid=116847112&loc=d3e4492-108314" }, "r242": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "330", "URI": "http://asc.fasb.org/extlink&oid=116847112&loc=d3e4556-108314" }, "r243": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 5.BB)", "Topic": "330", "URI": "http://asc.fasb.org/extlink&oid=27011343&loc=d3e100047-122729" }, "r244": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "330", "URI": "http://asc.fasb.org/topic&trid=2126998" }, "r245": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=99380562&loc=d3e13770-109266" }, "r246": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=99380562&loc=d3e13777-109266" }, "r247": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=120320667&loc=SL49117168-202975" }, "r248": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267" }, "r249": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267" }, "r25": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r250": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(f)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267" }, "r251": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267" }, "r252": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267" }, "r253": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13854-109267" }, "r254": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13854-109267" }, "r255": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=6388964&loc=d3e16225-109274" }, "r256": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275" }, "r257": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275" }, "r258": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275" }, "r259": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r26": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(31))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r260": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(1)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r261": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(2)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r262": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(3)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r263": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r264": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "30", "SubTopic": "40", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=118172244&loc=d3e17916-109280" }, "r265": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "25", "SubTopic": "50", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=16397303&loc=d3e19379-109286" }, "r266": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "350", "URI": "http://asc.fasb.org/topic&trid=2144416" }, "r267": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "05", "SubTopic": "10", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=109226317&loc=d3e202-110218" }, "r268": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229" }, "r269": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229" }, "r27": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(32))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r270": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229" }, "r271": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229" }, "r272": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230" }, "r273": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230" }, "r274": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.CC)", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=27011434&loc=d3e125687-122742" }, "r275": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "360", "URI": "http://asc.fasb.org/topic&trid=2155823" }, "r276": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869" }, "r277": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869" }, "r278": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.P.4(d))", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747" }, "r279": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "450", "URI": "http://asc.fasb.org/topic&trid=2127136" }, "r28": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(4)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r280": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(i))", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756" }, "r281": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(ii))", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756" }, "r282": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756" }, "r283": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(B))", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756" }, "r284": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iii))", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756" }, "r285": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iv))", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756" }, "r286": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(5))", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756" }, "r287": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(i))", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756" }, "r288": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756" }, "r289": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756" }, "r29": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r290": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756" }, "r291": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756" }, "r292": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(C))", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756" }, "r293": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iv))", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756" }, "r294": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(5))", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756" }, "r295": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611" }, "r296": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611" }, "r297": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611" }, "r298": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(i)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611" }, "r299": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611" }, "r3": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "205", "URI": "http://asc.fasb.org/topic&trid=2122149" }, "r30": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(b))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r300": { "Name": "Accounting Standards Codification", "Paragraph": "1C", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495334-112611" }, "r301": { "Name": "Accounting Standards Codification", "Paragraph": "1C", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495334-112611" }, "r302": { "Name": "Accounting Standards Codification", "Paragraph": "1C", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495334-112611" }, "r303": { "Name": "Accounting Standards Codification", "Paragraph": "1D", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611" }, "r304": { "Name": "Accounting Standards Codification", "Paragraph": "1E", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611" }, "r305": { "Name": "Accounting Standards Codification", "Paragraph": "1I", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611" }, "r306": { "Name": "Accounting Standards Codification", "Paragraph": "1I", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611" }, "r307": { "Name": "Accounting Standards Codification", "Paragraph": "1I", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611" }, "r308": { "Name": "Accounting Standards Codification", "Paragraph": "1I", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611" }, "r309": { "Name": "Accounting Standards Codification", "Paragraph": "69B", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466577&loc=SL123495735-112612" }, "r31": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(c))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r310": { "Name": "Accounting Standards Codification", "Paragraph": "69C", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466577&loc=SL123495737-112612" }, "r311": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "470", "URI": "http://asc.fasb.org/topic&trid=2208564" }, "r312": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644" }, "r313": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644" }, "r314": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496189-112644" }, "r315": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=d3e21463-112644" }, "r316": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.3-04)", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770" }, "r317": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130551-203045" }, "r318": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130554-203045" }, "r319": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130554-203045" }, "r32": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(7))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r320": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130554-203045" }, "r321": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130554-203045" }, "r322": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130554-203045" }, "r323": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130556-203045" }, "r324": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130558-203045" }, "r325": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130543-203045" }, "r326": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130545-203045" }, "r327": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130550-203045" }, "r328": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123410239&loc=SL49130690-203046-203046" }, "r329": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123410239&loc=SL49130690-203046-203046" }, "r33": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(8))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r330": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "606", "URI": "http://asc.fasb.org/topic&trid=49130388" }, "r331": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "15", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "712", "URI": "http://asc.fasb.org/extlink&oid=6410066&loc=d3e79218-111664" }, "r332": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "15", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "712", "URI": "http://asc.fasb.org/extlink&oid=6410066&loc=d3e79218-111664" }, "r333": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123453770&loc=d3e1703-114919" }, "r334": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r335": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(1)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r336": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(10)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r337": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(2)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r338": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(3)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r339": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(4)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r34": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.1)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r340": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(5)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r341": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(6)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r342": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(7)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r343": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(8)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r344": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(9)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r345": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r346": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(1)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r347": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r348": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(3)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r349": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(4)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r35": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.12)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r350": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(5)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r351": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(6)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r352": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(7)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r353": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(8)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r354": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r355": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(i)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r356": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(ii)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r357": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iii)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r358": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(01)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r359": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r36": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.13(a))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r360": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(A)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r361": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(B)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r362": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(C)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r363": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(03)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r364": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r365": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(f)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r366": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r367": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r368": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)(1)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r369": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)(2)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r37": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.13)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r370": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)(3)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r371": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)(4)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r372": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)(5)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r373": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)(6)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r374": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)(7)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r375": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(i)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r376": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(j)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r377": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(k)(1)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r378": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(k)(2)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r379": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(k)(3)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r38": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.14)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r380": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(k)(4)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r381": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(l)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r382": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(n)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r383": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(o)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r384": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(p)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r385": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(q)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r386": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(r)(1)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r387": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(r)(2)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r388": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e2410-114920" }, "r389": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e2417-114920" }, "r39": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.17)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r390": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e2417-114920" }, "r391": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e2439-114920" }, "r392": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920" }, "r393": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(1)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920" }, "r394": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(2)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920" }, "r395": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(3)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920" }, "r396": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(4)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920" }, "r397": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(5)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920" }, "r398": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(6)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920" }, "r399": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(7)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920" }, "r4": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765" }, "r40": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19(a))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r400": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920" }, "r401": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e2919-114920" }, "r402": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123450688&loc=d3e4179-114921" }, "r403": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123450688&loc=d3e4587-114921" }, "r404": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "20", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=21916913&loc=d3e273930-122802" }, "r405": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "60", "Subparagraph": "(c)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=6414203&loc=d3e39689-114964" }, "r406": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "70", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=49170846&loc=d3e28014-114942" }, "r407": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "35", "SubTopic": "80", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=29639808&loc=d3e29008-114946" }, "r408": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(a)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450702-114947" }, "r409": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(b)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450702-114947" }, "r41": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19-26)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r410": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(c)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450702-114947" }, "r411": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450702-114947" }, "r412": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(d)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947" }, "r413": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(a)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450673-114947" }, "r414": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(b)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450673-114947" }, "r415": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(c)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450673-114947" }, "r416": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(b)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450691-114947" }, "r417": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "55", "SubTopic": "80", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=35742348&loc=SL14450788-114948" }, "r418": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "715", "URI": "http://asc.fasb.org/topic&trid=2235017" }, "r419": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=123468992&loc=d3e4534-113899" }, "r42": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.2)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r420": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901" }, "r421": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901" }, "r422": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901" }, "r423": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r424": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r425": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a),(g)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r426": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b),(f(1))", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r427": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r428": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r429": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(i)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r43": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.20)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r430": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(i)-(ii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r431": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r432": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r433": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(3)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r434": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r435": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(i)-(ii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r436": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r437": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r438": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(3)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r439": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(iii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r44": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.21)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r440": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r441": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r442": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r443": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r444": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r445": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r446": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r447": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(i)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r448": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(ii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r449": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r45": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.24)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r450": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iv)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r451": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r452": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r453": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(1)(i)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r454": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(i)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r455": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r456": { "Name": "Accounting Standards Codification", "Paragraph": "2A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=SL79508275-113901" }, "r457": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333" }, "r458": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(f)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333" }, "r459": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(f)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333" }, "r46": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.29-31)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r460": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(g)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333" }, "r461": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 14.D.2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=122041274&loc=d3e301413-122809" }, "r462": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 14.F)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=122041274&loc=d3e301413-122809" }, "r463": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=122142933&loc=d3e11149-113907" }, "r464": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=122142933&loc=d3e11178-113907" }, "r465": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "718", "URI": "http://asc.fasb.org/topic&trid=2228938" }, "r466": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "35", "Subparagraph": "(a)", "Topic": "720", "URI": "http://asc.fasb.org/extlink&oid=6420018&loc=d3e36677-107848" }, "r467": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "35", "Subparagraph": "(b)", "Topic": "720", "URI": "http://asc.fasb.org/extlink&oid=6420018&loc=d3e36677-107848" }, "r468": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "730", "URI": "http://asc.fasb.org/extlink&oid=6420194&loc=d3e21568-108373" }, "r469": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "25", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=123452999&loc=d3e28200-109314" }, "r47": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.3(a)(4))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r470": { "Name": "Accounting Standards Codification", "Paragraph": "10B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=123427490&loc=SL37586934-109318" }, "r471": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=123427490&loc=d3e32247-109318" }, "r472": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=123427490&loc=d3e32280-109318" }, "r473": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=123427490&loc=d3e31917-109318" }, "r474": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=123427490&loc=d3e31931-109318" }, "r475": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32672-109319" }, "r476": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32687-109319" }, "r477": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32705-109319" }, "r478": { "Name": "Accounting Standards Codification", "Paragraph": "15A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=SL6600010-109319" }, "r479": { "Name": "Accounting Standards Codification", "Paragraph": "15A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=SL6600010-109319" }, "r48": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.6(a))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r480": { "Name": "Accounting Standards Codification", "Paragraph": "15A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(2)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=SL6600010-109319" }, "r481": { "Name": "Accounting Standards Codification", "Paragraph": "15A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(4)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=SL6600010-109319" }, "r482": { "Name": "Accounting Standards Codification", "Paragraph": "15A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=SL6600010-109319" }, "r483": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32809-109319" }, "r484": { "Name": "Accounting Standards Codification", "Paragraph": "19", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32840-109319" }, "r485": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319" }, "r486": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319" }, "r487": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319" }, "r488": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32847-109319" }, "r489": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32857-109319" }, "r49": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.6(b))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r490": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32559-109319" }, "r491": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32621-109319" }, "r492": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32632-109319" }, "r493": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319" }, "r494": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319" }, "r495": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319" }, "r496": { "Name": "Accounting Standards Codification", "Paragraph": "217", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=124434304&loc=d3e36027-109320" }, "r497": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=123459177&loc=SL121830611-158277" }, "r498": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)(3)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=123459177&loc=SL121830611-158277" }, "r499": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 6.I.5.Q1)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817" }, "r5": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765" }, "r50": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.9)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r500": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 6.I.7)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817" }, "r501": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.7)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817" }, "r502": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.Fact.1)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817" }, "r503": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.Fact.2)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817" }, "r504": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.Fact.3)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817" }, "r505": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.Fact.4)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817" }, "r506": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 11.C)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330215-122817" }, "r507": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=123586238&loc=d3e38679-109324" }, "r508": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "270", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=6424409&loc=d3e44925-109338" }, "r509": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=6424122&loc=d3e41874-109331" }, "r51": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=d3e526-108580" }, "r510": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=6424122&loc=d3e41874-109331" }, "r511": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(c)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=6424122&loc=d3e41874-109331" }, "r512": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "740", "URI": "http://asc.fasb.org/topic&trid=2144680" }, "r513": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "25", "SubTopic": "10", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=123586518&loc=d3e961-128460" }, "r514": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463" }, "r515": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1486-128463" }, "r516": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=123413009&loc=d3e4845-128472" }, "r517": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=123413009&loc=d3e4845-128472" }, "r518": { "Name": "Accounting Standards Codification", "Paragraph": "4A", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=123413009&loc=SL65897772-128472" }, "r519": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=123410050&loc=d3e5227-128473" }, "r52": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669646-108580" }, "r520": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=123410050&loc=d3e5263-128473" }, "r521": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=123410050&loc=d3e5263-128473" }, "r522": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=123410050&loc=d3e5333-128473" }, "r523": { "Name": "Accounting Standards Codification", "Paragraph": "38", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=123410050&loc=d3e5504-128473" }, "r524": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "25", "SubTopic": "30", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=6911189&loc=d3e6408-128476" }, "r525": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "30", "SubTopic": "30", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=116859721&loc=d3e6578-128477" }, "r526": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "30", "SubTopic": "30", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=116859721&loc=d3e6613-128477" }, "r527": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "35", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=116859824&loc=d3e6819-128478" }, "r528": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=120321790&loc=d3e6927-128479" }, "r529": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(b)(1)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=120321790&loc=d3e6927-128479" }, "r53": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a),(b),(c)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669646-108580" }, "r530": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(b)(4)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=120321790&loc=d3e6927-128479" }, "r531": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(c)(1)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=120321790&loc=d3e6927-128479" }, "r532": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(c)(3)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=120321790&loc=d3e6927-128479" }, "r533": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(1)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=120321790&loc=d3e7008-128479" }, "r534": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "25", "SubTopic": "740", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=123403335&loc=d3e9972-128506" }, "r535": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "25", "SubTopic": "740", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=123403335&loc=d3e9979-128506" }, "r536": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "805", "URI": "http://asc.fasb.org/topic&trid=2303972" }, "r537": { "Name": "Accounting Standards Codification", "Paragraph": "19", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=123454820&loc=SL4569616-111683" }, "r538": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=123454820&loc=SL4569643-111683" }, "r539": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988" }, "r54": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669646-108580" }, "r540": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988" }, "r541": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=d3e5614-111684" }, "r542": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(3)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684" }, "r543": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c),(3)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684" }, "r544": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bb)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685" }, "r545": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685" }, "r546": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "810", "URI": "http://asc.fasb.org/topic&trid=2197479" }, "r547": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(f)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=123477628&loc=d3e90205-114008" }, "r548": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)(3)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=123482062&loc=SL123482106-238011" }, "r549": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)(4)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=123482062&loc=SL123482106-238011" }, "r55": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669646-108580" }, "r550": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=123482062&loc=SL123482106-238011" }, "r551": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19207-110258" }, "r552": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19207-110258" }, "r553": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bbb)(1)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19207-110258" }, "r554": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bbb)(2)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19207-110258" }, "r555": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19207-110258" }, "r556": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19207-110258" }, "r557": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19279-110258" }, "r558": { "Name": "Accounting Standards Codification", "Paragraph": "6A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=SL6742756-110258" }, "r559": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=123596393&loc=d3e14064-108612" }, "r56": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(h)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669646-108580" }, "r560": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "230", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=123444420&loc=d3e33268-110906" }, "r561": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32136-110900" }, "r562": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900" }, "r563": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900" }, "r564": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(c)", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900" }, "r565": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900" }, "r566": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=6450520&loc=d3e32583-110901" }, "r567": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "830", "URI": "http://asc.fasb.org/topic&trid=2175825" }, "r568": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123391704&loc=SL77918627-209977" }, "r569": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123391704&loc=SL77918627-209977" }, "r57": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669646-108580" }, "r570": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123391704&loc=SL77918638-209977" }, "r571": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123391704&loc=SL77918643-209977" }, "r572": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123391704&loc=SL77918643-209977" }, "r573": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123391704&loc=SL77918643-209977" }, "r574": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918666-209980" }, "r575": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(3)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918673-209980" }, "r576": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918673-209980" }, "r577": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918686-209980" }, "r578": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918686-209980" }, "r579": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918686-209980" }, "r58": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=d3e637-108580" }, "r580": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(1)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918686-209980" }, "r581": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(2)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918686-209980" }, "r582": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(3)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918686-209980" }, "r583": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(4)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918686-209980" }, "r584": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918686-209980" }, "r585": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918701-209980" }, "r586": { "Name": "Accounting Standards Codification", "Paragraph": "53", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123414884&loc=SL77918982-209971" }, "r587": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "852", "URI": "http://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765" }, "r588": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "852", "URI": "http://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765" }, "r589": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "852", "URI": "http://asc.fasb.org/extlink&oid=84165509&loc=d3e56426-112766" }, "r59": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=d3e681-108580" }, "r590": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)(i)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r591": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)(ii)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r592": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(3)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r593": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(1)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r594": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(2)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r595": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(3)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r596": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(1)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r597": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(2)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r598": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(3)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r599": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(1)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719" }, "r6": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765" }, "r60": { "Name": "Accounting Standards Codification", "Paragraph": "14A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669686-108580" }, "r600": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719" }, "r601": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(3)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719" }, "r602": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719" }, "r603": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=66007379&loc=d3e113888-111728" }, "r604": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=109249958&loc=SL34722452-111729" }, "r605": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(1)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=125521744&loc=d3e122625-111746" }, "r606": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(2)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=125521744&loc=d3e122625-111746" }, "r607": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(3)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=125521744&loc=d3e122625-111746" }, "r608": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(4)(i)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=125521744&loc=d3e122625-111746" }, "r609": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(1)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=125521744&loc=d3e122739-111746" }, "r61": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669619-108580" }, "r610": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(2)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=125521744&loc=d3e122739-111746" }, "r611": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(3)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=125521744&loc=d3e122739-111746" }, "r612": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(4)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=125521744&loc=d3e122739-111746" }, "r613": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(5)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=125521744&loc=d3e122739-111746" }, "r614": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(6)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=125521744&loc=d3e122739-111746" }, "r615": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(7)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=125521744&loc=d3e122739-111746" }, "r616": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(b)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=125521744&loc=d3e122739-111746" }, "r617": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(e)(1)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=125521744&loc=d3e122739-111746" }, "r618": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(e)(2)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=125521744&loc=d3e122739-111746" }, "r619": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(e)(3)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=125521744&loc=d3e122739-111746" }, "r62": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669619-108580" }, "r620": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "910", "URI": "http://asc.fasb.org/extlink&oid=123353855&loc=SL119991595-234733" }, "r621": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "330", "Topic": "912", "URI": "http://asc.fasb.org/extlink&oid=6471895&loc=d3e55923-109411" }, "r622": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "25", "SubTopic": "730", "Topic": "912", "URI": "http://asc.fasb.org/extlink&oid=6472174&loc=d3e58812-109433" }, "r623": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 11.L)", "Topic": "924", "URI": "http://asc.fasb.org/extlink&oid=6472922&loc=d3e499488-122856" }, "r624": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "926", "URI": "http://asc.fasb.org/extlink&oid=120154696&loc=d3e54445-107959" }, "r625": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "340", "Topic": "928", "URI": "http://asc.fasb.org/extlink&oid=6473545&loc=d3e61844-108004" }, "r626": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "25", "SubTopic": "20", "Topic": "940", "URI": "http://asc.fasb.org/extlink&oid=123384075&loc=d3e41242-110953" }, "r627": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(10)(1))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r628": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(11))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r629": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(15)(2))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r63": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669619-108580" }, "r630": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(16))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r631": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(23))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r632": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(6))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r633": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03.10)", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r634": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(15))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r635": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(22))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r636": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(26))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r637": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(27))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r638": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "230", "Subparagraph": "b.", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=123398031&loc=d3e60009-112784" }, "r639": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.9-05(b)(2))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399901&loc=d3e537907-122884" }, "r64": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669625-108580" }, "r640": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "320", "Subparagraph": "(b)", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=123599081&loc=d3e62557-112803" }, "r641": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "320", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=123599081&loc=d3e62652-112803" }, "r642": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=124429447&loc=SL124453093-239630" }, "r643": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "740", "Subparagraph": "(b)", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=6479915&loc=d3e66715-112838" }, "r644": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(15)(b)(2))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r645": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(16))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r646": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(12))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r647": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r648": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r649": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(25))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r65": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669625-108580" }, "r650": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(8))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r651": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03.5(c))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r652": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(18))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r653": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(22))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r654": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(23))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r655": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(8))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r656": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(9))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r657": { "Name": "Accounting Standards Codification", "Paragraph": "4H", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=116884468&loc=SL65671331-158438" }, "r658": { "Name": "Accounting Standards Codification", "Paragraph": "7A", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(d)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=124506351&loc=SL117782755-158439" }, "r659": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(a)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=124504033&loc=SL117783719-158441" }, "r66": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=d3e557-108580" }, "r660": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(b)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=124504033&loc=SL117783719-158441" }, "r661": { "Name": "Accounting Standards Codification", "Paragraph": "29F", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=124504033&loc=SL117819544-158441" }, "r662": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641" }, "r663": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)(1)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641" }, "r664": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)(2)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641" }, "r665": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(i)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641" }, "r666": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(ii)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641" }, "r667": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(h)(2)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641" }, "r668": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "740", "Subparagraph": "(b)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=6487024&loc=d3e29054-158556" }, "r669": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(e)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=124508989&loc=d3e19393-158473" }, "r67": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124431353&loc=SL116659661-227067" }, "r670": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "310", "Subparagraph": "(SX 210.12-29(Footnote 4))", "Topic": "948", "URI": "http://asc.fasb.org/extlink&oid=120402547&loc=d3e617274-123014" }, "r671": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Subparagraph": "(d)", "Topic": "958", "URI": "http://asc.fasb.org/extlink&oid=120429125&loc=d3e99779-112916" }, "r672": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Topic": "958", "URI": "http://asc.fasb.org/extlink&oid=120429125&loc=d3e99893-112916" }, "r673": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Topic": "958", "URI": "http://asc.fasb.org/extlink&oid=120429125&loc=SL120174063-112916" }, "r674": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column B))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r675": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column C))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r676": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column D))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r677": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column E))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r678": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column F))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r679": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column G))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r68": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124431353&loc=SL124442407-227067" }, "r680": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column H))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r681": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column I))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r682": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Footnote 2))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r683": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "310", "Subparagraph": "(c)", "Topic": "976", "URI": "http://asc.fasb.org/extlink&oid=6497875&loc=d3e22274-108663" }, "r684": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "310", "Subparagraph": "(b)", "Topic": "978", "URI": "http://asc.fasb.org/extlink&oid=123360121&loc=d3e27327-108691" }, "r685": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "985", "URI": "http://asc.fasb.org/extlink&oid=6501960&loc=d3e128462-111756" }, "r686": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "985", "URI": "http://asc.fasb.org/extlink&oid=6501960&loc=d3e128462-111756" }, "r687": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b" }, "r688": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b-2" }, "r689": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "d1-1" }, "r69": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124431353&loc=SL124442411-227067" }, "r690": { "Name": "Form 10-K", "Number": "249", "Publisher": "SEC", "Section": "310" }, "r691": { "Name": "Form 20-F", "Number": "249", "Publisher": "SEC", "Section": "220", "Subsection": "f" }, "r692": { "Name": "Form 40-F", "Number": "249", "Publisher": "SEC", "Section": "240", "Subsection": "f" }, "r693": { "Name": "Forms 10-K, 10-Q, 20-F", "Number": "240", "Publisher": "SEC", "Section": "13", "Subsection": "a-1" }, "r694": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(a)", "Publisher": "SEC", "Section": "1402" }, "r695": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(b)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(1)" }, "r696": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(b)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(2)" }, "r697": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(b)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(3)" }, "r698": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(c)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(2)(i)" }, "r699": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(c)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(2)(ii)" }, "r7": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765" }, "r70": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124431353&loc=SL124452729-227067" }, "r700": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(c)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(2)(iii)" }, "r701": { "Name": "Regulation S-T", "Number": "232", "Publisher": "SEC", "Section": "405" }, "r702": { "Name": "Securities Act", "Number": "230", "Publisher": "SEC", "Section": "405" }, "r703": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(a)(3)(iii)(03)", "Topic": "848" }, "r71": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124507222&loc=d3e1436-108581" }, "r72": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(10))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227" }, "r73": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(20))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227" }, "r74": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(24))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227" }, "r75": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(25))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227" }, "r76": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(4))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227" }, "r77": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.1,2)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227" }, "r78": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.2(a),(d))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227" }, "r79": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.4)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227" }, "r8": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765" }, "r80": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.9)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227" }, "r81": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "220", "URI": "http://asc.fasb.org/topic&trid=2134417" }, "r82": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3151-108585" }, "r83": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3179-108585" }, "r84": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3179-108585" }, "r85": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3213-108585" }, "r86": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3213-108585" }, "r87": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3213-108585" }, "r88": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3213-108585" }, "r89": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3255-108585" }, "r9": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6801-107765" }, "r90": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3255-108585" }, "r91": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3291-108585" }, "r92": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3291-108585" }, "r93": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3367-108585" }, "r94": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3521-108585" }, "r95": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3536-108585" }, "r96": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3536-108585" }, "r97": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3536-108585" }, "r98": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3602-108585" }, "r99": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3602-108585" } }, "version": "2.1" } ZIP 108 0001437749-22-003779-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001437749-22-003779-xbrl.zip M4$L#!!0 ( /A;4E0< $NOLV< (&( & 83$N:G!G[+P'5%3KMB:Z M" J"B.2D@ *"1,E(*A#)(I(SB(!DD)PI!0%!@H" Y)PD2C[WEV,.<;Z6=^<_YQ_FM^L6H">1B\!=Y7D%.4 M+"PLX#7F!T O YRRGM9O 4!%!6 ' ?\XP7P,;<$6"$%B. O+.%A8.+E:,K M@)X#9 "\&S=NWL#%NWGC)CX>'CX!"2'!K5L$%,1W;Y-04]#24%-04]'1LSZ@ MN\]RGXKZ(?=#%K;'')PWAZ>0=^# H.^10:%A/[-2X^X5MB4E9V3FY>?D'A M]XK*JNJ:VKKZAK;VCLZN[I[>7Z-CXQ.34],SL\LKJVOK&YM;VSNPXY/3L_,+ M^"7BC[BP !RL/Z__;EPDF+BP<7%Q\-TFEU?!,G<@> M\GW )W\6G5G>>HN)7_V(XHWS" $EL\ R"^R/T/X6V5\++.!_*;*_!_:/N&:! MVSA8F,G#(0% $(NC&.Y(:>4Z4")8\,Q@!9[A_Y)@FZ#R:G10[+'K"CON\]0 M'R!*""KI4%3;1>QM9:\'BZ=:#XX?2+D3(U+?Q,35/-UUC3VG*)M(8V%\*\!;IPTTI];JFJOD:OSWU#O?U9 PYP6ETKUZ53QH&7H3HGYB246Y;(BZUC)6QMK M-5ERX.^B$O,\6"C&4G=$3N_;$M:."M_B!F'=\YK8;G'S)7$':H:.5[A5:K( M^3^)YNK$Z8P#+HD-91FOV'-;T7C6,9H!P# KF;.\E4R1O]BIH$\L!9 8D+8M MU(6*<<7M-[>S]>'GZC#ZWWS/.?)[]_]W1$M00KM=KL*G6?V 0]GU7E,Q@"#6 MV./H0NK!%C83JPYQ9L5'RV>YH&:PC)4JS)[Z<(:)^-:?+3[D.W=4MV8CPH9@G0JK5*%V1C#.8R29A7Y.K M*6"'L67\2VDB6PJ.ND[-LFEYG";>@P:V:MY'ZEXPP420'(N[7X8%J$]]5*C: M?RQUYTFQUC%E]TU?>YBC!'.$QP>S;40=7!LLTJ<%>KA"^[+6YZX&O/D76BY1CN;S)728B@>%K2SC[B\4+2,:1X+!>\Y/2 MC,*O=7P,B%FVC0>(JY&ZUVS8W@&D E!/8+@)OHN. M()]289=KMLGW4:MY*7;PZ#CQ_99OFZ @MDZK=+7>9OTM=TEJ6%Q9:'Y+@)AU MR=L*OPKF#LNZ(?JE,7&QU60&DEV/!OLJTDZ6/']+)E)@FOE-G<3;$]3=J%#: MJOF2EDR;P?=@KQ T0-%08+W<1%1HE=1QB8WJTDZ6@,: DM2UK4$\W2;'MX22 MC<'!Z1O>%-"PJNLW%/:S70UDY(GY89K#F.1G)1:PH$]FV MK^K6.L1!B7F2#&A[&7NW.N,O?A% MNS8YXPP[XZ\O^Q*Y/Q"V:".2"&&BME!)>ZKVVJG)5Z3TRWCW/ J;<+[;M# G MV;\]U)2OY>P]QWWAQ5H#)MCPO>=K8+H<>^<#9:I$4!^_#$M'H_D+6(R8_]/2 ML9_TY&#"K>.2_EW!@?$T\SQ00_ZPEAY'K/N>-3Q;']4Z_*A9:,S0;.T6\2+- MH2%#VQ!%XZ9B74U#FG)R2,+^\W6J]7MD4]7>+TO0 */M$&()#?1,I2.?\!$' M-T2'2+Z.L?]V=MS%_G O!_IFK72E:8!+9\6BN:6(.SUKNU:TZ@>XQ KO5]WN M64D9 ;RMO=-]5###T^&!2/RB25/Z"D<ZW(U!FT!E6@. U&K M\7DUAL^TD,/-_%&PHG7%XTN3,];$N>3![D((H@9!>SF2%=^&\//'AFYY5S*M M#I-"J&M6O^4:>"0J6_J\^ MD)%4G@X5PWFXZ.!H9R5W.:=3!EYY*VC87W (R5I-:2PPQ:49\^ 3XU#E! .6 MBLN*(ZG5Y)3-"]%[=^8OGJZ>=:_K0^^ UK+@R5O@4]%&Y]I-CTO=C_,Q$&7_ M6E'5N[[/:D;=S'*W)X5I1W7E^NUEC2*Y2G@Y"(Q.=B6+F!MF. MZ.?88GGX6Z)HX*Q0EH/C3";6PWW+WO/SRHW2B.]$W%V__%ZB 1HK^RYW/VL4 M'>PL#2)^[JP_8 '&CK>U;OAQWPE%\=-3F^'N KS/R(_T>'%V3V'1NB[\*4X\%.Z^BW^0+CT5]C N#O$QN;%6AF"H>U#RH9&- MHZD?,Y_<0V4IN2TX#K-KF468JA!Y[ V/ COZ;,&-!CQD I$EJCY]C6/LL74O M@W312=_XIJ_6JA@Q08ZBJ**+!PA19-5RXG.E;?P9]G#Q2B?JQ<3I;@3[AN.9 ML>=/9V]BF[9Z;).H^)6K.%TTX$R7/V_G7U\HR?=1MRKTXQ4T?YMC,&>?1S^;+W(IOA8D\;*+IB@^E-]=3RX M1G&]+%YJUG-M<]?0,IP0W#9V5!][:*\"->K*@T,>7F>WP]8(#I' V\;:U;?[/' C:X=^B'[!]7OZ='] N W%6P/36CC6DWXH8].J M+8\&XM.6=!A@S@]$CDZYVGH?R$3)5.GD6I]KGU/>G9M]%OW\$Z!I>.G"Q*[-R9/ %Z3L73;+(>\4VUT@O 0YRN2U;ZZNU+ MG.IQFWCOOPN=@ZT4>58J51Q=!!I+T#)45O[ZS#S3'X,S3GEZ7I;AYV(LOUKT M/$IN8B6.XJ--I_#MI/TK@:^YWN*66/),!#1O/A#F\:CD[OMM[5(?NVQFCFU?/T M8@F3Q9O)'[(3+P,:=L1\1U'=!>9NY;#4\JJ4^WD[S&**:,#:.VK=&.+A9VN* ME73L&OQ@8GZ)X!*ZVMG$ZYFN',\6S9RT$![^'KE_P?#E_-Z\[/?J=9L= CYTLQ-V-V0Q)YFZCE^KC0"Y_'V9K$ MJB;N,QS%;X%.*:K1 "0@"J[LRH @F$4#T%9CUC45B&7LHV,^*M-!R:^;U6DB M9HDK;I'JSY[>X[VG@0@";5"=YYJLRU>#VPPRT,"P]A0*10!:YAH&;W'8H@'P M#2^:HX,\;GH;E F3BZK=%>;7I M/_[-"=8K];+C[#GP;QW_'E*39!AXYNB@\[I(XU)M7[A%]*@E9:3DO-X"*\XC MPTMJO@6B5(0&"/E;TT_YK-' !5)GB($4O'J%F:XR"I1;YU0BNPV?U<7C@4$" MU>^2C6@@*'%I"$$C@ :N4&R85L(?+=?#*Q3'FA*[%TGNT ][_P>>2N<'' 8F M=W65Q0>9(@6_D>Z]!.C7IN1-R+:FTF<0^T$'3N<^W]:'KHJ)3\NJL^UA3& O MZ<*8'W>RPMCE*.(R'B MA3HUQ>YQD:NIJX6LE!',>)8I7[%L6RWW6"[4#7G<^*.[ B8WY[:T:4M24UN/>182R?,17W2H=X>VU3V% MVZ!'G[;*3,^'J@^^]6UX&?!^N+GL7PZ)7IB:WQOPD2Y*?;:BC#.91?EHHWD6M(4LS#3"Q_Z^07>LC+XMNF*:NE_<+AKY$8N[ ,M8+$UR/R< _>YXFE[G'F=/S!')K_IY3FX MXC67#M;?<*C2$[]Q5*M1'3JEP=G?T60 $%6_E&+-XY]LQDYFMN:TBV%S-0W6 MIL%5CUM =M-Q>-'S9L+%VI/2HF[T^W/:ZECT?ZD*2Z:K:WU8(TG;ZV&[LJ#Q MHFK/N-=9;>DF?.5<5CC5/!#KCM3_V08+=VEKR:@5PJ2UL9!F@/ M(\[I:KK-@57Q9'"4QM"A_SWC.5LJJD6*2:BR07:BZ4PT'(R T,X=105R-7'= M&TU.X M93!89+&W"3O9MWIM?\=E,O,(&@!9IH?1YWZ_ANPS. P=-*4V2MJ=S;M<$O3] M@*??1O'9DQ[W&^2GF.HA^]<;S,=$SMFU^*CGQ7 M,CHEXAX)*4%*)MF[JUBVZQ=MZ[B 2["<2WW23Y(JE].Q(YBT8G4G#J&:$_?= M0U/?W?4AV+$[D)PRN]%JU&)G<^4RQB0H*&&6416?3U;F"XK?-;2W;6_(WM89 M!9?,UNM-ZW:#94BC4AN?+VZNVU4C ^;ZXKIW1#-N+UFYH03JZZM&GI6N0R] M,[]CBY_R$^NXS^RIR*[2N?;]T@,+.*25Q#/>P*?/-N_'N#UD8IYQ4#YS6V_6 MI+TQ?C)S0ERC6+)$L+Z?]VM;X?U;9\BBPB/4=[20+Z>S"K'$RQZXQJ4H]KB4H9+*"%6[B4E#2W%6TM;[?LZ@5Z GET DLD7G?G^] [ 6A:9N&>%VZ(Y+W%A2^%SU(8S2\3"N,]N< MENQT6Z?B4]/>_MLK2.B^84(G/*<);NEN3Y*/K;LFJ;L0A+L&F_T^H#<=Q%8S M:@$.;*#H2EC*0,1][V89:*W[6'.+-\Z0P2&XF>"'.$E!:X$GE6)=+==Z[G>Y MSO%2 J+\,KO(ZFS;XAD3DUYKRR>)*T:#O;\BG<)'WIY)K<4J5G:U2()[.K/! M4Y68NOM-L\D*,?*#)8+UI.P1_.PA*+3JJ[RV:XW]#C%'//50KG=W)'.P@5<) M-S?IM+B5MKPV$^/II;2@ZVSX"M1%%.: ]R4F M)Y!^C4)RI8283/_]IS=Q&;*?.&_?'-9^U@VY>,FO9S(3#SZEJ\(D/'4T !, MO]7#)&2',=2U,AKHF"K>,9UKC%Z2B^3F75<3ABP_KA!^\?+XMH6V(_.!3-T] ML_[>>V:'Q+D6-HA^_8AB]C+V*I?&2Y]W'_G-28;P9HO^V=K(=:(EAG(TJEZ= M\: !,B7^]LX%A4*-SEZ!U?HZ7R.;D:^\RCVNT"KS/.A7-]2)\+9*5"=E>:;-2!/2YIOOO3H8QBD[T^$()H%@PM!,.30)5VF*$3QJ1@_UPTL&+M M8@KYYOMM:%TH T:9ZFB[?M#P-<5A/E7AW5P+2LS;7UY6Z%@JYE MZ:TB\/]H!":Z2O ;"VD&@]EM!F_:4^1>)_\>@ORY1?KUS7W0X3@$J6)]E@3J MMS@3ES].X>E(AU^/@G<[P:E.;O.^KR(>CI_F1%JDRG[J^(1/-%1WL\X;EC<6 M:X6P>=R5HK$7$,96*'CWF&.?AP@*MH:;J#3OGG\V!P_(^AJ9Z"%96ZX\VHEH M0I#E[Z71@*_3-?LC 77P'^[ MT0S2'-VO]GOD)[GO@MO[X\/)#]?$B8Y,<5?P;OR>/?R$KC!P1 M!%PNLJ=H($!4E<+F'(2W[VC6D*3<%QJNXL9$:4Y?#XH#*0^?W0JJO@CQ=78X M""7B=%&.D\R^CPI.D)VP=X4$GD<56'-]U^MC8B[(_TASU8VT_08CI[\EZFT( M5]_9=J.TX#4H9&5(9[PF,AAU' \JULD<1NK_@%#IV_^ M+<^XY':QD@_K.$<].5)IR5^^))HZM\OX%9;/3G#274LA5&$[9*)"L)"_CC+7 M6:2%R44MCZTPPUCF$\H9TW3U>I\U*US\+%$QZ?30SV_C+YX98,F=F2T]*E0G2%8A'5>(^59Z(*XV+T)=+V;G9[NJ.TR'B,MT$(5V^$O M>7049O3& )\+Y#XFBZI8;HCH'B8>;(BZPP"O.M^LG3:XI.V& 8]& MH0+8TSL%YY"])K<9P,N9VT8$!?#XNNNT&Z5T- MG7L)+8]0[6,9?E^>Q>Q97EP4M>!H):_HA&:S'C(5=E^UE?N*,80@GQ;MB.I$ M7>D7YFW$O:FXI$IJ- ?_OMKN,9NU,WP#:N_.X.Z) M1X-@&/VQ,BZN5>:9K3?L6O+2E?CI(ST6D0!!9E,__NBQT0:3FXM6WF6A^8[$ M<&<1>ZZ$M7%ICM@M/#1@7.@KQHA\#A-ZHN""!C*3;/4XSM_,#2S6(;12W'^];=3FV*@AUCAC*'&E)QNI]A/6@3JN"$Y4!;]4UUE,S_(3I*_T'9X#+(8]ULVK[J6\F93[/BMUZ)GUJX46=6> 2@>^E=92.R M;ZT\6;I#F"?S8;+K:8?5VQ?/M @G$E*G+P[AVHOE*TXK)A\YWYJ>]UEG13K- MI[83P2>GVGV%P\0U19CVV?&1NY_@(#R6&Y]/5$'H M,,6F4=?/ ;NQ U+O)3TF:%5;&#!.C.$Z.MJ1<;5CI"0#*R$9L'[R, MV(9)1F>V@_UXL>PI\!G3.B;.[!V=19G/R\M7(/0#>(&N?1&/X^F:-8$*^N@[ MX6#1#3<94 M/2S^^-KH:^V+$M+DE%LL>UUS(;PBN?C#E=*JS9P,O MZT[@6#+BVU625-GXCAUL7)Z^TKVJV\)\U-*2K7O?D+ZJYYQ MW66>MA9&J!#GRY"U0YGD.!TST-YG%>(10X=7-IG0B9(8/4,#.,K6N9>QAKVD M5;NUV !^K]G92N[>/O2(=L&D=D6^8'=JEJ<-3-R=_V(R[Y"DU[G9S# MI!8- MZ)=8TU+F)&C7IM'""B!B'](>K\\7B\&2U(JFK:&$ @*3KB'CQ:PJ%7QI#R^C M).MWMPW!G^R1++0&0TM%?37C^M(5Y,S[2*E5#4>^Y[^!HO>RW'OUU/YMK24B673U7GE%D3SG))[GV-: MEL[PYG7"X>E+]J@X5S=5+!.E^W?6:[V$>B '=;NGH%1[@E+V!3'7)X7/^#UV MH86U10N$7!*/8&\S*2/RV5>X)*$A[\1NW)LB=H,1:D\^0G7"'7-ZK6)\6^RL M&[SP"D'M9[OZJ/OPQR7PX%.;- E(DD3W(P9^WWX)PGM!].V">PCBX*JHVS.$ M1I1=')I=-%\Q>7ICQRI5A\4A->CEQ]>7M7Z+FS&>&DOB"61$,MU440*E'H+% MZJ1_?-2"0&EMISWX$7 @?_)%Z*X92']K-VTB7W;<,DQ/_8FI>N,NJ#:MR-UTW?VL^R%LM#>K7T6!V MYZO9-J]P/[-4]T$#H<@!^7.))PHF*):KZ=E/$U5LHJ0D?FW%ZDBXGKC9K!.Z.^]W[^52PU MJ70'7L M2O1Y%RUO\XOA?3>##^[J,5[2&*JM @VD*5]J]:R4?W:,8XFQWZX>-PO7;#%G M.#FSQQ1H0=CC@W^"U*Z#+-" >,)Q"0,?\26B!L.OVJ+^?O=>7'F5^9;CBC)^ M%K56)35#A->Z-ZBK(K]3B$7/T"_<.9_QQ-A)O^0]6U;8:XK3_)\<(Z#VFNI# M6S=&T!%3(V)JP.T 6AFW=45?_<;_(BF6.&^AFF^:9']<3=;\U9]?MD5^?D@> M+<-QF\+TB\U'VCNQ]DZ;<]N3(WTI![K!\G#M('(@/&Q+:YSO1RNN.6VN?=9V M?+",O:DCR5?3\RY)T^W3HO%7N(JVCO?K/S"&FC+=?/*>9WWTNW2&M= 4O5]+ MLOV]^L'U3^;@("LU*9)Y@W8W0AD74A4Z-_E7TDAV#A71P;;Y5@M[WN>O ML! 326S8'_4IXVY,S9J.E<38;7IW\!$9)N&7,O'./X_)W"G-_( DD@P#WK23 M/GN@,/(&!PO[?=UIIQ"A+M>KW&*2MIRU8BMR,KAFU2M<7GT#&7YEHB:U'C3@ M-0)PG0E2',29%JSNG[^;I]@REU) VBR08U%4%U.^^U1B&DG=+1OQ+&KT4PG7 M4MQ:\"+;&KBEYSTE(NV,BQS+^+AM[-7GOI::L&6Q6W>%'M?H6T2FY-K9/ZC% M*XM__[;DWZHL$EE;W#N'N"1=H_?JGP.U4_>MZJIK&U_5OI+E*^PA9;1CZ,K- M>D_[1NYS'UN>N)GI/;,Q"B6HS&@)]^WS6;\J]=C476ICQ7DG]@)75CF# M'L5F3,@_NOK'MZYJ$]6I8L_*;0>,C^D4J(I^_;2<]DZW 9KUDKH_G?IAF8D. M9CM:;CS1)&TA-%_--_0Y+:.'F73;)L]@:(%@#94O#6!/L"W^,ELU%Q H? MS*.!"NCPB*%\2P[*OO.>N8E R2-O8\3/JTSY3\:(Z@;#W#H2](CN>Y.W% M>CE6H[](4O9G)'6P/C_\K:_YA<98I']* MI+>+-A=/R:%61%5RVSUZ7OBU2%:K2\$_X*#:$D@]SQJHJQ[!1IB*=WY6>\&" M#(&/7#?;7_>"'Z $AT:D#+?^CHKZT]=2_S#L3>D_40)@1P.PLTD/.,+E]!65 M*/&?J&(N&S$N=[W +FACA&H_7@E?85^AWG8M&=UE^&-.&XJ/=LC +3:/T=.YS:P31Z*%]ZSS8? M#7R,E4(#&:%HX*<>J"W+S['=0FE"_;VP+1+,7.+1?X M,J:ZV$#KX532?/7165!GB@9U+!^CV8\UERV;81AQB!ROK\@V*I25 ;XOXADK MI18TKH"305D!#KJ/A1F>-EY,;T,/+M4PW*8K'7,BAJQK8'ZK_,<'WXJ0(TK5 MHVP4J1$>*D %#;S'* '2_P#*(YEHPS)[JAI>^\0(_OEEVJBJ$&4EG8FUXPW.M*M_HJ+/F&&MO>W48XKV<-F/QT99.079%JO&)) MW0?K3(5<3?@SQ5P>SGZB^3S]FWS$Y MN\3L+RY-=S(,VR2H8:ZX8JE.-FB38^A+"4[ D /_5(ZN)K7Q%EBFNK$DYO>*- MR[4!W9^*'1Q'+,@,ALK-PUQHC/EG&P8,EA VT6^I_3LQ];E$=$49ZA@-J 7N M&B=F6^F;A)3X=V?/=MO2W>\DC]%%I*0DC1PJ+7DFM!MY="S>@ZG4CD M)\'ZR.[OU(6FV+%&#[_C6#QPH^:B>9[;8K=J-:1TQ,6/>AD'WMU1O7YD<\[U M8CWV^@+UYFO8E@W8?@8!N3Z1/U](+T(#4,$!&C-2_/Y/S$P/A&]'GV:R1!I> MJC/M[U9_Z&2L'T4#_RW::X1&O/RA5_K\//^E1BW1G+.PF(>N2K@#O2 M/1O?2T/>5(8J*0S>D;O4"_9[I]JL29OPR4#,K$)$1"0L]7$H;] MCO 1'YA,BI*N/9Z(7?C0_7OR?H"KJP^?R&FW]TN0 M68+BK41KFG!(:ZA-FH_]H&7BKVZ>47P4!-T5R@&Z..^1 MO=?B'\K7!Q:SRD%5XK*8C6N'&:"1/P[&?VX"<_\:\?U"Z)71ATU&.^])R_.0 M3Y#-B/1K!&A5_K=[*4I(.2=D,P:E"7ZC!QYB07XO^]^)[#.9CC;X"7L09,#[ 3Z5JI.)?.,3 MZC; >XC-V36T@?]$="I-N\@40T=>8-?Z$KMS^OID&=:WR?O0..8=V!+DU$9G M-H0]%S%W8T2X2#&\4U,S>)D@%*U*]9@=SR23IM 6.^"OO CU%^6.3S?T6-5M M"'$<>ZD3[TL$J:HXRD4#<]P/0]RVYS:>T%Q2-IMUQ5="/9ETJRM#\](,%$E% MALW+F=YS; P1> 8,2=6FR\-N?(T&I9F32BZOUV!_^>F"?%B=E[606QZGPT*Y M5#J4<2!XA45[G7;^ZYGN36(1!AY?GRMMHH-<\UGQQQ0=:L]K:TKN%[IQD1;_ MTHVA7C-+MUE;T3W@TMZ84JU-6ZBLL=KD+(%/^A:7/;!:)>&YD&9E2/5^TMIF M .HY9OVF&1S) 9/@JFY4.%QSK:NJ2_VZEYJG&4'F@>_%G.ZK_6VJ*AV!/P>& MCAAK6%2C ;=S@51$P*#\<9Y-4EY")C$\>4Z&<)4#^]< 4Y3IM$\:NV50/A%T MS4C M]/2%[M]Z&[2JHPYENZPS.RV=NC+N0WD984XU[*A]'Y[+=0_,X42@..VH$1W; M[M$0$NJF/ !]&RE6'?_TMOV&Y'0WODLX62?OT*?LFNHZJ!?+?'RI7C\K;WGB MS7FSJWJ1TN[_OKT9 \3LSS.1[=4)U)SC>6+U8U*:@X=RTZK?GK@[_%RC3]Q6 M"=LUJ:J)7%YK"F-[P?LMB9-1!CO>+'KF!!K8Z0Z>/3X*\^E.%:))^YP;(ZY';5UMMN_F:Q/NTA2.:8RM M&)7/+3 .OF/"2?+0::!('++2SS\WLRDLU#=YMK&CUXU@+DX6/;IR3Q_,AI74 M)VV,KI-Z>*[81R<+ISV^A2(EBW-T,7HZ8:>G8.70(R$M+7_>G( \;D0#+3/[Q2]4>@7MKP7]<5)]9OV M:#?-"H=0LLE$V_9%I;$*^<,VSRR_@F7O0P:VUMU833\!A>U!$3@](ISS_F!_1WVZP6IF=3FCJ-821T,M9,KA^P MVLVL& -;F4:S1CL[:Q+>1<_%D1@:^*6M&2@ZC DAG[ AUVZO13X5G$,#MC/@ M(0[(U9*&@<;8?*&/3QZ;*^9TSM6Z2?,M&'N"3EZO2XN-[85SC?QQ5+ M^JUH(*A^&7IY/@XZ_"!%*Z,W,?9&L*BVIS'W2LQME>O#EC/O?E+,QJZ:D5"7 MT12]Z;RY9FC@TX6?(AJ18O>(O7M^5U=& X0N[9"3_0(P%/N]0++V) E3J> MNEVP8T7*XT&\=<0H=VV1EWVRXIV%INO4BO9Q8K!,N+8CDFOH#H:VUF3^;?"6 M'3P]4'[5Q%=+:@56[L/U,?@+7PLM;FL%X_=LJY;2H2@W0\";RWZ[/T#1#FZ;/SI$7MDP7/S, M_KT;RM<> CI$OP<7!3=(PS"[='L9S"[2^]#KZ\ 4[>&G&U>VPYPM,!+BN9L M:QLD,\TKF/EF[V=)!R^%K0H,8.BT?HNR!/NH05&(.+-MK#Y7L&96LTW?,B0$ M2?,V*;^C1%9\5%@^3VKFK63(O?3VL)1II#@\[JJ$B9YF$J^/_"5V3H;KTCOP M'6M#8OKL7%=C]B/NQF7"B*3J;*_;3O?[S5P=X><('3%-O.G%FPU4+5C#FT1U MU>'245?24J "P69#AE;;LFI?SC%INR853OO]4#J&/(ZF8N/U&W_UW=U_5_(0 M+*<.RHG_ROK3$O,7_28*:;P7/ M*G3+F@0@08BG.E9CG3>(S7>U=(&SK:_ MN_.B9NH6':A\#YSJ^+)J>V_0N\Y;*Z$EBE3%1P=VX^(<'"BPG3B].CC7\$S" M901O]Q!S;G]LP6%-$B2F71 <[_>@TTU92C^'%B)YC1.R6I<=[TR7Y$4\2K-*378<8G5-_F]^Q<[2@Y[#:Z9+\7+M9E_C!6?%@E4C=EG57^X22GRA8TB MT-;^-O1NM1FS#73KBQO]1@VDI@J"P)\%0\\P[*ZCLKDJJBLI;G51_[.7?>;S MV*$7O#0]NX=Z271H8.8<-H,+7QVB 7^,]:"H)>@AY!I1 M1M"37:;T]*Y+Y7B3Y8H$7H^'3;92@G:EROH1;F;/5;VO M,8]BQ30!D>40T(<"@69YU#C)[VOI_B3Z3[^H)/6&1?VY&3G@>EK MI1[R4MC\G<#"S1:;_.3E,L1M(_ 2,6:&Y%.72V<[IU &CAW/2S0'8UM]_:J MX^T&,3H\T#4-EMS9A-07;A[EI=#0<#^W.2"/^+5H(O(460F?%$[^3=.KA1:S MV_YLW8@P759FT7RTVL^X=K:)=6VZXSAV'Y$-2=;EU!Z51 R, M1#[6"\ VN9T-8G,@=JC;%(S=@-NB JE,X#B8Q3S^91'N/],G76K\@ F/4@(, M0V#W9SK9DNOP==U]'ZEY\]Z1SYCX-S30P'YEZ.DT7[FK8]?OK%C1RXJZROGG MD565LE6/BF6XD*5_ 5Z@\!G\]SS-=^7@^RNXK"W.?BAM@1%("GCM%X<&3A\8 M.;81]IX>WH2WG0\@&[]QU78S G$//$L-NNUM)D5OE:=NANR-FBY*?$2VUZBX M,=SBLFP^ H67E#RT?AL__?WAV1N=#^KG@L\EZ:J/*JS=4>RPSK.N^B+C2FJ! M8>5&BC?9[W:\/5;Q'(_&R]E]=YM/]O,^*OVR7/*ED?PJ.+>,AN- MKD7']\GEG==R\'>=:T MMJ8G.K5(4$5#X#)/)/[[=5'/!&3"H'II*7 M!IXM)']S?(F7]54#>6)<:TQT]=0(G&\;'U1WO!(M7]B'@PSR&7A>2TO EI7S ME_YXZ=7"PMST;// 'FRNE;JOE^F&%OW:% V,9X4/3O!K6M;<^4KM!>/!5XIPXG,RR&32L_IIS_;5@=1LB82/C%=^ MK6*R?0%,>-?1$Y XKW%Z'MA96@7BY[AY_"Y=;A4?Q]U4*:O*+T]/5YK5^Y;I M/YAF*5K:7) L*CUQNPMM83@XQYG6B?%T7-Y'E:\^YKP8L#>[T?_)H7=VC>,N MP6;ADE81_EG43:3KJ& Z]UB'E4!1>W?22U.7,Q1#5[/Z8[,TEG@J/2;3.(NG MN#ZTQR4NRS<#B[;+<^RYFI'6M?L9Z[F2%<0KB+-2(M6H%A)#Q]"!Q1BZM#(< M8B?DS;RI:0_)V)Q%R")#ZCL4*>S8$]H6LW-7OSGGR\"YUY<:N?T/%<3Y@BL> M.AYRB'>5_:I)\SQ& M*&7Y)=")00<$)7?&>RK4,H &;E%FGC# X?ZH,^F.Z'J=^6(1QC42?=K)(;BB MH^_"G.3P7,U9EX]VE?_#L?D>YII$PD81^]::M YBXPD__!T7NN2K@D@3 M6'1KKB/>6$%W+^<$)WB^'Y^9[,1L?))B_6=# _\-CGK->Q M.!XR#$8,7*]>CJJ]N#$/702E8NQTG^1DO:=R 7NB7!W^ ,2$ 49_8/[-NA(; MEH?P1=2FW 8*AMQFR_A_3LWM?KOP#'1#@MC;CT\+2L93D'$GUB">VM>-.4$9 M4R0IAUL^S(O2'$,I5--];) T=4]]P$1M+&8>.1'EMI+76,=O!'=HL_Y&=$R3 M:]0]A56N!FZ3H;HF: "C<%700*?F*4=AKEM!![==;L"VWD.WAX*? @F69; 5 M-B$E8ONB6N.CAM"^%E4!9"X=9^/4?3P&[IT^#$T)YD%0N*(!)'XR&@C+1I%2 M0[:TQM# T4-'%/M[ 6TC4J,T5Z5 *V@Y\5.-Z,N57%K_STZ9"X:M]PB= C*I MS1QQ<"TS46ZQF/F];7+*CBFOX"3":(!"'LG,"QXNRD<#2\^A2"WB5_I\IX^7 MQZN#^NVXW5%'%,S8FE$;F*/WPY6&VZ.1S4KS +:/'X0?1/+5V>4SQ._D_PM[ M=!_\'?=HOB2HZZF%+>/WF;]VW0YC4<&6,&:RB4Y6#R\VYN\6-_=>;7[U+R-$ MIA.%'R721]<(G72K-E]X;:LD7-U\^U/V[3LJSIP;EP9S4N'/K^Z"VUJJBW/KAM5D*9@P.>;]OQ)QCO.H*P35 M525XKWHGR0,9L _:#0.S'T-F08=;)@>8TZUBZKLU])BP"@V4Q5%C]N87,G:?JEH".ON %NE>R3[L5#80^A@0Z-X51EVL[%!"='@NWX_5L:)S>-4^Y<7_9N M5,2H.8KS?]&595>0.L#!N68_&,!!!2N CBC!J(=?NC/H6YC^;G!8\%'+A"^O M3X&JLT.U)O]39XB91OCY(")PWY\*4WX/Z* ! %.!?,XY_J.NEZ& H+ QL]"A M=@Z^@P:&.QW1P/M*- C!R"V1Q DR@8"QX4@C1A^;[#.(/]4'?I/U?]4_0^@ MBOV[*O9_JOZGZO^\*I9RM[->;ZZGW^GE(T_QQ!]C720MQ^>X4W31X9MAIS-+ MY;$=+4#PHN=AB?$IAW!\JR%-=L^#]Z!&M!.A7&[S8G9^DS;:^J3/O#\4B3W$6O] M["J;9C,E=DAPTK/BUR1#D+LPB4%'3.J;?5I9J3O#R-L('8OE?>Z?.VDD"Y:6 MB0(Q,O$V[(6YG:*3G\Q5>WY?93N$'NQSX?^ M0Z&AM!MQ FO(3RYL*JS:R*9(/&,5&ZB!WH[0A;=_K&6&R?;#D:9449*U'=Z[ M$!_BP.A#^2?TK,MS-3]@0LFN(43WQ\T9X)2@$K]\$S*K8<')>E,"9_.ZC-@@<Y] M*X4_HOBER54R9+89W)%&/H+4,STWZHY9) )CT9$5L^Z\G3X3+DQA*<*:9T0/AL MT(NU8:-"P$^UPWIU9@G#>+4-K/2=Q?OM(YA8$[B&8\.G;N1YCI!NOYE\X\>' MP/ [X[!GFPO>9>,8NZYI3.,QX_,J)7'568'K;R/*FQNGN$IW:ZV7&\\F!&EP=2@KY&F5 M61&3[%* QT9]8QFEHH?;.0^A7J^7ZR:V1Y03,QIP$_5G%9SR-%OR+RPQ+,U? M+9K1\'@T+[FMZ\U/GRXMJS2>>4>!YYMZNW:JJJVV]C$KG(>V]VA51P<(+ 3O M4Y0*#2E\UH"QZ\*HDY8R[5QIGI9E, \+#-WQ]-3=BG>:E6YD,;M7W\7772BY MT42KS/42JAGCR<4=H[#!&5XNC"N,E^LD731_:NE#)R1)=;18XN5VHRI!J 37 M(7 (Q_J+:-8]!.E\Y/A,TX/<;:$*(UO>>8I04[E@SIND(KT@::TR-U52DPZ8 MBB-[]\,XU[!^.3I.ZA3V2$6U(6-VV4GD*^XT+]-XCV@2:I6W]Q5,&M[IT- W M6\]\?L9#[&FF/"DH\6QF+;8OU,GNRCW^C8)1^U&11PMV3:2$*+6YU8%%Q,"( MU4P;W_X2^TG7GC]%PKV&4QTJLAQA8_L^A[A^W/BG@][>$ZW%GLDN5,'6,H>< M%;,WB9H"9FYXK>'LR[\^D!$.D.PZ]FLY6+P;ZZ46C,=_%^>>]SMYXTT*FY.? MDY,7)Y]8(WW;XAS6&@5L'VM72_JB2_/=,N!,?WM>C13#^^/5^VQ M4P&BFJP_U1,9(\4:+;V8=1>D0(VYM/FA,DIM'.&_.M.OR9W=@U"' M&122J<6V\0T!0VX63D[T2_T!4&OF1S^]W>]'X373?LY,+/5\2T030/2)<=]A]'>^$@]X)N*V?^<.Q;0TLW;'=U=!K22*'R,?A'C5$S M%$8]0\S?WXN>=]D4)A@*[1+//"(HK'PXA1M.$N 4VRK ,>TPQ1Y%./_M@M-I MC5<]]SUC9/[VH9I*AK*CS=B\7/GWAM)1N9>*- C?_*2QL),.$E[S -\8KROA MPMY]-4/%D@7IM2%K?NZE>8/71XKW5D7ZZ"6VSUCS$\E1Y#$4OZI4C_&>7HI^ M$1DR:7I*0>;Y9OO9!EM%QY)7X/N;+J<71=M>9;*5?971V)M8=C]IF.]=+T+8 M-E*O,U=XA/NOQ*_*PZ\3:G@CTTYO=S:-Y/RP,*A[;M%:OD00.;79LH9"W\U8W_ M2-YY_.Y=WSCHO\+4APG^YEC4'V!,>5)Q1OSWKL 6.PQ_U_G_'0[_K/%\A.G( M/]>>MBG>65F4R?5-#!, 9O\UBE0N0 -M[29W]0WD69!37$\^UMRMI$\\+5I\ M&JPK +J3 VMRK-A<=V.\/BT5BOX^?1J!TT'/..HZ]XV[RDA,:XR'5?C9[+%T MC;"#LUAD=E@: QF\QI$FPJDJ^>D+H72+L#%/7;/0RI]G6[9]6UGM$D(G'=[G MN=F&VPW"P:?-#QQ^)>94,HH%B848IX35NJQ&D1K,JGBC[H^:3N ^>BSHQC30 M]>2EJ"7%VJGZC_NJ[6+2'C .F4^E:P9?^B7>@ZYM$,@R2$3\9)EO2"N-7I67)-6^S984!?T76D3I')^V+3X(@57MMAJOK#2&$C$@? ME.#Z.1JHK)XZ'TKP*.ERC;/_I4:3P1V#HAH8Z&LC(G;I& XZP[-_A MC>QL./_?!!3;FA#;1*URR4U=Z1\5NP__8+#RQ7:9$]QV&YP&]SZ;@.R.$F^, M=UAB5O?C0O"P^BX*#=3"1] ?EXN&I!6+KM"05>-XLB#G2!'838FI^0-F(VS MCQ( _PZ?LI %_J,_]Y3O5":RE!NUSPG4:PFO7NS/[2NCN[5G._30A%+UMG-K M\4X,1^ERS;GJ(07JPC"PT_NB&_M.D'7D%!)S$F<;*]J7&,VVWW:B/F^3-BSU MYG4 4PJ>>M+RQM.(V?@.FAJ_ZJB#*C](T_E\P1>AH\WYGA+[;)!_[M!M"3:9 M_E_:^^ZHIK:MWR@J"D(401"0J" @59I4B>4 4B,HO42:(!&0)IV-(B((1%2* M*$::- &1$GKH191>I/?>$FJ E+^_[8X^Q5L9<<\T] MRV_.N;/+!L JU)W3E#DGEM_YUL0[GW:^WD3ZI)():$JLSLK&'@=6N]2]BC'- MT)X7-XWUB]R#ORF;G=!([_=^8X,?T3>JGO^@74,0Z5-]<3$H]/GY:8/.9FO; M G*QQL,R+ZS:99MQ:$R6+ M52%H)9X6/O4 P\9H.0'5RBO/HD(BH?/J2:]T[4D6[0(B&>F3E8*OIT]P>F%/ MJB"-DK:#GD3TPLPZJ\^=0A>H5E(AY1GN"()&=X]XHQN=!H]F#'U'(*R1MOWC MI!-/\US)5;'3+F]$Q@POPH\ K< -*J2B$4Y,A^>1+H/N M1D90(31@!3Z6QI^IF*V>$]V=OLFZ@ZB!K<$ZJ1"\.((B@/YQH1K_=IE(Y7IZ M62VE@T!+IEV'DPZ_V+U\_N.JYR$@NX^^=ME.P$\[I?ZX+BD!G=&^ #/*&,". M!6>EX+%!/.5%L7/(M7=6L5<6E-?&^6(GYU,)<%+(6X[M02IDYHY)F4_=:?ZN MYZ:]Z]\,9:\'^#[35F();M^]6=M;=&'6%F;2[?#*,^1@&[2S 'B6#61SD>,^ M="E(I \=#7J^VD3;=>4!:&!SG=_9WM"R+F_ MQ7W!N(]4R// #* G"?8U(R&+NX:+KUV!92Q---_SO>,BA]NU\< .42$=FV0B;%SE^XDQ&7&4%#J]O03; M:INYJ?\6!)YY/(8,!X8?[$;EGV/?73K%DB"*JQ<+RS0.7TSBHT(0PYLC0!CL MA\F-&H ;FC5*A<1Q!?[=SBJ=!%A#]7PA,*T2KVWF38709U%,$8OG> ;L=:%W,*$5B?92#(4I4\4!R,F[ MZT6%V-136&:03#Z&[XG8JAR3647W:,:DHZ2)/F<+OLX>F'E&K_&L6+581$$= MH2P[^F7$JV"F8V_?<;HN=I>].7L@5<1JV:6FSN)8UI91?F@+46T=NDTS@R/N M@1%W7XED%@^ZD2\K%0+A!DO-/KGH(*93IW,M<\+W1="4/&0);ND(CV3VR@K] MY8Z3U7N%L!US2$2E AF5T2OR96(C:Z-8'#UIKO'YQ.;^,<7"]4.ERKE)=".W2_MC,X.)188.'%^756(6-N" M<$X_>+.6O-"U8;X8E^UJ#II"/Q5HA2F!X7\0G*"_%UD7P^0;,W_X;NCMDT_S MSNRO/UDQ?I&X_N&-7D3\":6+&M-/WEB-Q[M3F,JN4ORW12D0%;#^^Y%=FD6H MKJ\9#]G.]RD.'SD'6Z-M _![X;N/I/RYB$6=V0*=4:.8KU@[_/<:2PX14^D: M@QEA+)9)9[V"R'O6D"0(FL0/ GOV=3 0%9]2(?Y'J9! G5JVQ#D"-!.1$S_6 MW^L&I2#KP&[2>8;T*^BT,FNK7H)I^T!SCP_3+TS2,+@(?9(>F529R9]Q^^HC_^DX MC-%5YJ6EVQMG3$98_5:/ND'99SK^A&?_%;S9/9BEAK=8EZF0>1 (R6J@16! M6?CZ))3B?VY[F?1T\S&'O3 ]$73=#ZAT>3E(NFN2):FT"ABQ726AI"2K$+;II589> MDVEJR391.O6PGU+&$WV+W.JH^GC):*_)]07GL]7QJHQJ@16T3@X792V1&N1D$CK2 MK"G:M'$"WYS(_OD^]\'GTEO&R[2SZ![%F-1$/"6>)T?YS)XDBT07R(&#)UJT MDER_JBEHISWI4FCXG/X2\FXGA=,/D[8>[X-(%3Q=L]]RYXD%A_XS9=J,HJ[A)/6EW4=[)-S"VT=F(6>/KQTRRLT7(4E S6& M*G0<+8S3T3YF8VL"'%^>OBDE7XOK/%MTC93#>PCIX^R;.ZO+JHA2M^");W)= M%P"](#[FY^M\7BU(=K]7%^*-AA,#3RQBP@QTTY!J2J '@#\+MJ0_TNYG8RX+VL0,P3\ M;KX-9:#KLP21Z?!@H*L#@3!\A '0F@VE[,,2=3GISO-OP(8 #U_+G8PEI>7O M^?#_L$7JB/8#E8^4U9WJ>=@@TED4J%(" _Y**9S(-#RJ0N+1@ZT)5E,A#X0I M+"I[0^DN[NX/,Z#,[41X4Y@$H=LL(,!6_-H4CYX!DU>\&8QTR!&?+L-\2WL! M7DK!;]=OZ@\\'?Y...T?Y=:N2-R+-B=/;P9UPXO+_ZD"O*'+\%+%''+7)K=* M+=9IB(BH=KE\NT"U'.^I-ADTC'X3.X%*(XB2@H,VH@C*ON7]4F1$58>2$\V6&UJ30+IA=:[VSK M9L:N80.Y8?Y[/[3*)'SD_U<;MN^/^"R7=TB@IX0*X=; 3W.QM.=6[C"#O5.: ME&J6 5[3_ M%G)&CL*/K\OF?=7[+"M9(M\)R$9DT5C[63>PG2F"$0VX!,%<,=DS!:^*KF&/ MG,H<#:.;URGT#NY33Q:'Z]#P"AK)^LQT/7VQ4W8X8^IZIK*:V Y9.QIT;4[, MFM!LG,0F+&4:#!]GH#7W/3 ,I4CEL#[)6^O0X7N(R!-.Z;WZB*UN.#L;IA9# MQ&@*("+X8LN=$[Q^FRC M*.B1ZHFK#--QJ6%H.C \(<)*5\%0M)53Z#*,?S_'WAWM,LWVSF*%H63H ME-C*T7H%GWX$UTOOB_8V(-]/CHC"SS](!Y:$&L",<3L5L@PJG;V5H/I1O)]! M;,PV\F#5*=IL'S>N5]/='P5&E=2D2W8:XCR5]3[M1 4)DL0VX; %3ZXW?+S MD!B(6([J8"N%)-D%LB#UT>Z;$>NO[B.=_B"-_('41>UW4F9?4W<07&^;1@\@ M_Q.Y3-IQOXH5KP33-QT>@AE&6V^>Q 5P(YE*QQ",L]6?K6EN.?40LF8\]@[# M5D0-J9#QX7$S\\0Y]UA$H)1@G-SHXA3KD;#9GA/O=I'!@ IY-M@"NF+I7(S1 M:IJHC?S9J1:MMZ)0K3>^R?+8"328MQ_M':8$SL-)WK^:\1\3U!=@%$[0)Q]8 M GZ-!6 L>YMA@&))$E!,! LA#.:IZ,Y56BI$$;?/RYUTZC@5LO:[.+KKT'V7 M[[P?,!$-NML8(EYQDHQC7\40$23=W9=/8(ADC>/>HQ?CY'XY3FGX]*[[9W=YC![$2Q-S'*I MD'I<76D%R$4@7M^H"'(8(E8_J_YK9"/7.(MV(WN=$TDBD0P VUM4R'3/"%H+ MK-L 1] PZQC*18HD[D=6U93CM"&X&5F7+318/?XV=ML=S\G@MK:(.53('WP0 M/_(!JG @O,1[M5 A7*#95J%@_ O\$?_H'R:I8R"'Z;'J?V@-( GN -NL'Z@0 MPC(AD<)"QI'INP'B)K$G9A=Z]+^#H3_&OBI@L0J''X?UL<&WUHG<'53(*+(? M]*$R&RH$#83Q?<\R&W2\P >@V1A-_2QWD_=O$Q/0AOS;X:(4/S\A>-YY8'4> M?[6T%Z@U4C%5GA)E/MH[9M;DCZK0Z4;)7#V.?U8[.-2N'MJ<\^QO&CS MI%OB?E9K6>*EZ1$O>=@GE$)>L-L#.74X-M67V% MD_$2)J9>T17TL#SB]M@TC#!K:TS9EK]ST7];#Y5X:(\VB_R/C]-=)Z MLQ?STB1U#B=%?+0VGSN8C9'$!&QO!IMIJM=Y)16L?I$6$%L]VTC9\((ZY%_O M]]@'!!EFNO[A7V"0[C.0(#1"Z5?B\;:ET-M18U[_O_K14E_XS MTCTP[*0P9 !&9C65,7)*,SL?]66R[F:D -,;]RM@CMG.![U":'AS;3<;S?50 M_'-W'U?43+S39B=]++,FC/TJO=HU:Y/Q N.06%%HBUQI3D/PP>NC;S;.^L\. M3TJM06D>:7WU$]JJC;%D+P8>7D106+NRR7MN4R&X!#01J8=;V_^:0@E9A1&5 MEJXUO#U#?]>L% <3G9.=O;ENSS6N$LE=;"W2VX SSZB&)9B"W=^][ I1@^/),8(9>FDQF&>/KQ<[[ GHYRE\&%/;;$/UJ7>\8@SNZ&!0-;-T.=>=)='I^C@8R[QP$@W MC)"B%<.U9W)Y BE0LKF;\)'88[;AV>01*F@7^'.!XP=&] DE4GP\9O) MZEM4"!,GRI@(/'AU[PRK^%-G#>/F*N]0@G8WCL0]30F08Z4PG-Y]\GD4!E\[ MT8K#WX$2NS_G\Y3S6.#77^/.12BA0/,J C,2H+#ML-T+OJL@Z,714R$'GE$A M87!']:UGY=G&6X;_C))K*'KUU':9X^1M)99L*N0@*-F[YD J). :4(8$',;?J!A^9WDB4O 501-!$-2L0HU%* M8'B(@DFQ*YNH@B8?D/Q-?T"5 C C]ML9)G0"& )]#P51D0'F;0W,FK M;G.2 M"B$6PT?/O: $9K)22#@JA%4/-\H%7V/[7;6@=0B@=>I^M\[374%$D5OPO=FD ML^) :WX"%3(,YO2Q&5#3[Q';Q_.0.RM4",D4M,,C,$FW6OZA>1)W/26 _7?K M":N )C]2!DR0Z/XGU&*;#YLF7?E_4BONBCS%Y1W]"%-11,Y#U>.J#'EW3SR9 M$3<@Z HB?]/(]R[W#W]'V;DD[K<6K:E*EEL_.: 1LDO\LW_^28P S8"TS4/ M"(KS9P+?QQWP?63TMX/=@7XFZ4-# @CMW\?=SZ&["P"^9MB5W#,A/3]'W@_1 M>[%,=.KRNM?PYR]_+Z+MQAKN%>W_ @D_I03#)S3QFV0WL EM?5YDM^!CCMJ MTQ']N)WLG7::$LN[W2(55YR*/%KRG;I6B(_C[D@-[!P6L'MT;(%96^F6:Z!W MT,*DY2NIS*N<#,_ ^H0K&YJ=B+/I/^8X@LHH=7*[7^.]R $D:Q3L\\IGUC9D M9AGSXD5;)C('J.0?B3HEB?%2V<8BJU/RO:WO\5YS1="!.;NOEF-@X4:T[$17 ME8A60W/22U:)&5=%QPBN^4:+*\80]$O8EV[W)PWL>@O7E D8H8U*LF#3^DF] MU1LQ7WUE_49LZ'"7=3R ,8E^5+?1&?4-XM)M T.#">5#]0QDV:R^&!4MSF85 MC IGQLW)4-,0N06?)>>C9(>92&&4%4:XD"[N$1X(=0\@*@U%7=JF3NVTH M2TJY1S57@(B2(%%%SY!'T,%L2%;C]JVF!NC'CR83H>-8)S.R N.)CJ=1BR(I MS;I?Q-227E[0ZN$_WI'-L'#/CI(8D+],C%@GH>YC M1[R&2:(7:2@^R_#E")4_AV9PIU%3/=&\4KVO0A?J&;=T^?RUF-^\L;(YD=Y3 MS)B28I \.)D60BM XWBCT^$$9,+*]:N4?]5%G)A"/5NQ'VT>B$NKK?#IYE7* M%ECL_C%DF8H"H**BO.UZ\@V_>(4J(\X'/$%8.[KT?5HDG4O7,@>XK4L_/:FI M#3HAPX"5SWE+K%6KO-4/^C9L/@E?_/6J=4I%D43X VO MX8*S8Y$/%N#XTC7HUFHIV-4I.5$A1Q60UN-0^EIW<^8<'KGP.J9UGMK8\:Q2 MP0Q# XZ2&!86!#^/WBU((\_A<:X@VK>1.BTZA./1=FTS*T\64W@MT(Z<\2&A MQ_=TCI^420]G"N--U^G*%K<.S=83B;,_MB)H;(:P.?V\?>P:9UAR@G,26B,D M(E^^)^BS=V\??.F$%EQH)[9 06E<6<^'S'M4:&3O79 M-$V!KT#IILL@B[1$HYAVX-#D1SA[IZECW>(^YZ1GQ0W2_*:*WW+8^.2OV'!R M.6D#52KCESED(_;R[X^9O7>+IH-BV*YK[7NJ'$P0-*Z6]K,Y7,$USY M"11^PB.[+ZLU\5K=PN^-0V%7=\KS821>KG.@@_8[DEC[ 4(QSO[&%AQ&W.=- MI[Y(@>'5#+GRK+RZAHD:"C? UJ=@F"A: ':9KD"5^1AFBPR.*WW!#HPCL:^3 M@JBG0,K"1*=)\)%7*P(-)6 JH%1"\^_^!UK*,2@SV&DN8BGTBSCBH/J;(3P) M&&%E=QW/1U13#J$W#OJF[NQ3[ +[OD-!(<#T!MAB[=\8)CF@?Q8C6W1K7 M,"%@>GH45&4]N*[3]R',[AN([M6U\-4=>RKDX8XC15KEIQ,5_7TI(]BDM[3\ MU[8U0ZXN@]G5GS-GMQ,/(AV#+1S9T0;79UC^=&XP?(Q'"@6PQ^&1H"!U,Z6X MZ6$P-T)D+7<;22B1%_[M]$8BN%JO_B?YX*/G"0@2I1\8*0?E"&OS!%IPH(*= MZ\'&$8;7 #Y>750!UV;^!^%^5G<"F-)"= M)1DTBN*_X@ZLT:0=T!UH_^\QZ8O_[0O_VXG^39VH\?]+2(F8SQ%2/(3?3D'( M+8.=DMH4*HN@%^^=1E2IWF1_$\Q#L6]?NO9;7UNI#R2^*F]#W/C M,>6P6_D#)68]ODOZ71C:NV'HJD%A \MF!IEM>9OMGL^Z&\B #Z^U\%KHV]4' MZ&5:T0DAP7FKST&!>IWG6%2CWNZ:?PF/#'3ZZ0')3K-YG-) M^U*4@8D_3^"GS$6C&Z\#BB72M*3.C','$7[1Z9O1)WP)8TZ/$:C>YRQ(/XH+ M.P%(_'W^HS9N?/V"PUR')G M3VK/M67%)23).:G+=#[29E^DNWA T&N=G*%5+\(*7?N7ECK*V MZ6@NA6?&ID;]5W;85368#MT?169-UL-CTE>)58>6EJ;E+NF5*[/*%#G&]1.# M.*%V:SCB]6UI\GZPW./Y]?_$JS/#:\=QI!>D*G@& M-/*^P=CJ4"$VSS2_L*QO[)T]?WIJ6 MFH?AX]<3JS;Y&A01" M$X%6L--=V7U_)K-B&-C

&;&O-P,K46+ODHBZIE4&1U).H>&AJL8S1=P#]O5E7OHD?E\.RD.P ML7R^^^_9G[(+F8%J<*0-]Z;$,4)K_]IQ>6XGQ_H7 MN6P:0QWZ0RV>6)Z/0 LX$E@T&,6=I^[XT;ZN'PL^F+^2FE(20,D231UWIT*X&Q=]5#90!Q?# MTGQ#;CC%X ^>6F0;S]0:$OY"*/7RL4*JNGQZTV6QKTSE1XW^X!N.' $. M5,B4:*JE/==7'#OI V^SO3A7:W[AN MSL0JL-?E 48-K47D2["3,\V0;7'D/&4,MBOJ_T!Z[$2/[X0 M;;/9'T-'Y8==OZ<-;/MOVO]YVINGB++QB*S!.P':G5?[?WE^@O'+^;N$CC[T MHI T4 '_1##%':M+S7;]NTC^CK1JYK])_]U(WS?A!95"6)_-82?.1%4<:H;3 MP?,^@LTPA-)4>Y^$8$@H2[Q&%(N?VU8JB.=*3OT%>S3H8/\ADXU9_>_R"S^E MO=J=1+,CRM)/4! )V43\52+Z=R&TK %6>&UAZWWSNV72)&KF/E$U ?4@[P*N M\PR[Y*-@Y98AS]*U>ON\8:*-*3TE0 Z]FZCW>T7$&:K>[5W[YN4A0AZ[M>)F)%)WL0\M+ITSW).9FG: M?$[O?OTBX&IY&3ZCUFQ_L2^B^=L@VY>8=9L9 MW&-HF3<]Q277 /@(=!=W1[,*IK7W5]PL:-ISPGO64*T07SH(R>ONLX*LYZD3@5-C9MWJS154CHCJ>\^VIQ(!:?:_[ MV6[VAS?TTE![OQR?E\\*IC!/^,JTM$=M!T5@\)@;7=FN&0U2\O>OF;\LU9&T MII?(E0CU/H:I*]M;*(@[:;*'9Z/%VN;PA1P3X;)FGZ:X<:=##^5<1[B46"GR M1<%9#A;/FX?H;1->&@W8-!<=%K_OJQB48F;O<2#)\9B=DTEC$KSW]?/XX6)CE4K$8FU0"& .O1+1G[>\_>=W1";ROZ),VD4"J_-CL-Y)C^E/)2?'J5;> MZAW9K&.@U[_E)1BE "I=X88BZ-5_;]*6%RH6A((>O@M59$#:</K8EV@0GKO#7,H8\4P8B\OM._DSOA;L1[/GX_NT34JEWYY& MLEQ-4?'>L6/OBR'J8T@=5QZN\N#C$542S8O;NSZC]]'Z*@O(&]QE6F M66''HS;DA=6P*IYZTZ(3I%J(;4\4T=N8<)@*.2XR7O+1ZO'=6GZQ(ZE/#NEP MD*:EBBS'XF[H8'/SL-[6)44EL2PE*\%AB:%[340\FYU"-Q0Z'$H-/RB->C>5 M>/-SK32K/!ZS<&)?7&)-:_;RR[]FG%N84(1F)K[UA:DVOXWXZF>^&H(;#*/5 M@[>Z9SUNOW'QY;$+TJKL.?4:$6I])J(Y4LS:U_[I:[4,_,3+<1T^Y[Q=DB]/ M#PC<$AG\1IM6[Z,'!$O%.2J+#V48)J>K153:?3923]!B/ @_MU&9ZDC23/^E M+SS>?L,I919[YM ICT9/)_\O' K.'FR2W;B>E*W@4**A;YJ9QS65-..8J#Z$ M *U5G^EY*,+"JP?T!I37:V*5\/F^6GN;LWG/?_GB+O_L$L.#"LZU>K]^4/C+.\"=&Q[G4@R$2-E;G%1L;^VO='?N.%YL^U2Y MK>[20$;$9O#)'7;4=2^VMP=[%"Z[$X[IA%!J$Q]/O) 58SEZ=Q\O%$#4E2D7 MT=L[&G2NN19AO07WT%_#8F^4; MN.E>SEY6_E#F?7>2X^"6BQCVBHD7>NGM@+Z2TDFADPXN?4&!F@-.QL;#^?G/ MJSY*[F6QS /#O68]#W"T^<7"B MF-4Y+>G\^;G\;Z1^Y\NYZU_%32U5HSYSS-XUTJ"1/'6<*7C M@:@"S?22@U:JF::W;JZ8:KG?\EW8_+K[.:5[*/?GFE>4.V,G3,C8)AI&&9BH MAF6HOJ:2?(XAYX(?LT>F07VZ5O2*"<,#^X(P93TGIEG:M34O%!Q3?55@)-<[K[^-?MM>ME29[U]C?GG$SRWY M>R?ZZ6!Y.N8(;1P3E,F,UH[]+&7?G)-J+II+TU>0^H[1A7+T3FUD;)ANX&1H M:/?FF?U[F+/H[G(>O6[J(:"Z=J'C=#?O8]G>H=D:M;K[EHW3*5I=7=I:"WJR M*-Q>0SNONQ%V*^1/ZR^:C*>>""9L0!AEL@(0.4&:':.Y^:8Y5Q[Q;J'%&21QV1[TR?C=5Z%HZ&N&.%[4W*L\TOD^+X17B)!P MP-!7FJ9G]['HB>K;LQERPX911TV>NM7509C/=7#2S:0F6M\:F! A[1,1^K!H MWI7R6/#^'9ZK[,4MIV6'*KK";E2Y]V6]WO]FF]3$Z2%<,*CHS'AYH]9U[48) M2X19U:'%#^V")>]+(EV*;U]*+EICL?@G#][\NQ[4WO\!4$L#!!0 ( /A; M4E1F"%C3>5T /=M & 83(N:G!G[+MW5%-MMR^Z$&G2I/>B("!%I",0 M(B)=1%1Z4Q ID=YK5)0F$ $!!0%ITGNOH2,B34KHO=>$&D)(3M[O?/LK[[EW MO/>(B(B 9X0/@%\$1-5\ M'5X"@*XN( P #GAG 1PB?#M"H'8"01HN-O:.GO8NW@"^&E %2 C(2$EN4Q& M2D)*3D9&?H6.\@H%Q14FVJM4=*Q,[&RL3*PL'-R"USBX;G"QL%Z_=?V&T$T1 M41%V7G$I<6%)06$1X3^$$)&1DU^AN,)(2!; 3IR(I%+U<1$ MUX%+=$3$=$3X3H ' (A(B/YV '\_B"X17R8A)2.GN$))8*B^"EPB(B:^=)F8 MA.3R9<+9(,)YX#(="?TU"152!OWG9-?=&"7?Q&:0\]TK;V-Z/(SDE[)V?TMQ MA9F%E8W]AH"@T$UA:1E9.?D["JKWU=0U-+6TGSPU,#0R-C&U>6'[TL[>P='# MT\O;Q]?//^3=^]"P\(C(N/A/"8E)G[\D9V9EYWS/S2:!"F]BC[9&ZY)OR!GOQ6:4MU'P M23U&,EF[#U]AYI=>O('Z0[6_:?;_3;&W_T>:_4.Q?^HU!5 1$Q&<1TP'@($V M%"Q*21>RG.I-Z4+G.-3!G.,:V\-U5)"7:0@ ' #15#E\40YE=4&%&<11W< # M2WDH./83#QUTXO$Z'E"O?C[>F9*.3$&7XD*#[/ *3T>0#V%MKLLP3%LQ^E8 M5AT\T/4T[=*(DPR,QX$].(<\>7QI^45YG/IB2+>&S"8W;_JB>%B@EE?F%C=3 M\Z'85_YX-3XF-F E^!!T(>1]UR\=*X 3P0,9Z29XH.T='&O \Z>;&8P&JJ'= MN".6N&Z!*8H0B0V_;'>?"7J$ O1$('5R/ID?EF@KLY&J7B_*"UE(@'$)=64O M+T"A[MZ";MOLXA^Y!$7K8HWP@*IR)1X(H8"B"\#_KF_!;&D'E&5NTT:_9L@Y M;3+)_ROP"W0OO@YG8+>HP/7+L$!.$3E-5@AH\42+%)HK3!3_+\(T_FPISS0: MY%Q\/E8,];(XR/Y&'.UA2AL2J+KDY3-4E;^WK%J=P_J4 M;,2-UVXJ+:G,LP[^5QYEQP/OJ^&4/V.W&SS'G7@%)-'"Z.U0-M)FXFXP=7* M"U7/0C/32EWC2,NPMXV[BKS>YT1YSOA-G;OR+G]E[\2L#,?DA\477_(F]$CV M[EZ5#.Q/^]QC?F[8O]]AQ>HP9>/(XD_]TRQSWUVVDO=8F$9C54_'7"D2^A=+ M-N3RQ@.4@7*YD*F+U<%PFT/I:,G^/>U"0%;(BYFGHWZ+D%'1N9A1YSN'[?=WE 2LB1"24NW^7OJ M(M.3R&KO1\YK^>=MVQ,CAL^.&/Z\6-B?+;T;Z(=L/]#CFIE \ZC&%GVKB9CA MPQ;\H@FV P55FB>%>H:0P<2.^@-4&^$2C?R85S:O2N[%O_FQV;;].ZZ2+,/J M+V^P'7@3>0!F\3TW#-65/7\X7/SBTZO+9&^Z93L[U[_R!*="(IN1XY4V)0*Q M'M_->_)T0KAJ?C6&?'U&FW.EU?@OC?]]7)D'G7MWI&6VT!YQU136?,O@+;2Y MZFNPC*HJ5+9<*/GMP< M=J(W?RW\R9@GE]&]IAB$<5GR@-]3!0VA-EM! -;YM-:2&2%:G1(DL*]3]^%1 M/=#QJM79U2,J6.,@ZZ[@7YHBHPE94I^[66_'G:'5B\T;NO)7>6TH&MLD6>6>Q1^N77&[ M[;'"VYM5]J3K?UF"P]28B3W^,CHZ,C\0U?^UR9X/J[V>^4L+E&UDMCI#_ZK M&GOJ/Y,#_T76%2D(E7'\50\SY&(TIA[\B]I52!,I^M_F^F]S_;NYGEH<"'O. MM+[\0%3[AX@/X']*L+BOX-*5?\10V.6SQ.=XAWCW(((-VL0W6P=K;S#[H$<; M*#K&^[O*B1E*CZXP'M=<35/*]ANXDH?Q7K\HZ$4Y%Z)XVFM-?<)E^EUV3A%% M?=SI#)?*>=LZ>,]@#G9;&K(N7G!R,.:^ZK%[F.=^*_[.RS>HD MP[@;6\P->E%-8-DW2V8_J,81X[U5#[\QU'\ZQ J&#CXD+V6#5Y_3Y'@YP*&3 M:[ZU-APUY6P70H;$1G\65N2 NXE*S,TW,S;U33)UV,LQSN*9HK]8D^?I,I_U M3VJUHL8#CKX#%I:>O]C-_1YKD!K]L/KA#$Z0>_$:(_BP&L(E.36VGKB8$:'_ M_4N?TCLJ9OX#K6TUD\QR(?1\-QXX>!2HA@>>ZZ1?L(^%F:7)X8&XD"7Q\ROF M!+^,%RE,Q!>BK?# #=6[>*"T].(3(AN-Z 13>^(!SBW*$K3IUOF32 .I!R7> MFM,JG"S$WQ6-/OI:F1%P(K[UOS,SO97XBR(^,*NHD31>"!12&4 MP4GE";0RJ+C#3_%TI_T-@A@$$O*OHLS?4(#&K*$0W>G4O\3>IR9D?U>$N+H_ M9;K#C_E*DWI;^ 1>2F@@R]&YH>(K!D.[7OSZ+QDO^SPR\_"/Z\1YK?GM3;UQK)9L_K)B.IWIM8HTL_2J[HQ3UL_/ M8ERE1GZ_B[/GSD\+6<(#K+YO$D-+;\/" ^P+Z4L[85X^9'6%OA*E?N1I5Q2IA[8S6/2\RTT6'YDX'J!+NTH)CW5B>;)BJKM9FFJX-N2\!RM,W$ M'P69S 7>2G-R61JO]"LR[PMR^]X&GL">WK*YV%,V/VKE#Y;16!2//.ZW6?I4 M,Y5SW#7;C'T2E$GQM8***NKF@DTN5[3'J=75G2(E'ZSE&4B%FU 2G AW=4 H"->^W@MB7IG"' M3Z*]J,MGK00F/UNK# J.[ZZF$L6B%-SWCK9T14 M[,0+E'E8A#(_M%UMP;=)84I)UH$$D>H\I/4N4N)C^;L>>6J$TG$Q&&V:;%GH M GF^-$BIEN\P_NA^8I[ -/_#/*:8/4D.+G JLS\&]V9Z:$=)HW3:87R>&FNQ M1-XT_3ILEX;EUL]A6 H7\N%^=P[N%Y1N6ZXAJ0,/1)0@?-[,&)LK(QD/JVZN MWCV>[O);JT09GC]&):86F3F<#$UNAEM7CZP0+9.KDRMY\7&^Z285,16/M&09 M$<\>]Q0G[H*4R%L+0M[:J+LTW8-MD%!['3-/<=L&0$")&6X0[\9;O E9"4&L MG#SCS>FMN"MCI<%D6Q19HC>#2A\0^EUL3FSYV.>5]/$&*R;TEM75B8T39N;![R8.ANV7(P3%FI"4<< .V;:>I1G9 M5/U6L#(RYGLPR<3WLG+EW&^[HD/UKL.PCP=W*#1I $:OJ\D?BX_8;6I M9M,<4/OV9N1;ZYG=1+;]UQK+YAHARM?[%Z.E#$>\*.7&7E7+GTB[N!H];WNL MPGM,=L3T>+N[?7DQ.O<=R1M])T]G@E-29\J[9Z#5"%"^]/%A+?:JX^^D NZ;K;V8,D1'#P?COOM=(8\4PVE/""0 MO*R.(,E&S8>H []W"S'^7IN;CWVEEJ@L>8;%I:D#M"UL[C:K,I&3CJ%Q[S_#'(,<:Y)FQ!!SWNE, M@?I%$UB+$=$B&8I=IX5SQ?#%CP6-4@?&M,W=9* "7%$DO%K]ZU/ E$0L9OVG MVX5(']9JV06MW>1"&Q[<=F(E>E\))A?LS7FQ0P/7'FU"IY[ ([U;)'$_IT]\ MVX/B=]EFW]L.7,!W_1]'5EA)])EA^.J1)+N_ UU1[S/--<4BZC^UL^[>XG_$ MP5VW;P(GNY7^9%Q)JV3;:$0OR-:F0C'?0S3VVHP6<-P]EQ[FOWPD'EYAGT[O MTO0X\9)FZ9R>PE#O#XT[K:^\+M.,R=1VZH#(>LA,D3'A-0% TY:WGG3VE1=,5?6D1M#>U2%U$ M&KVS_BU#N?'+?;;W%AX0Y6YDJ=T %8JTI5^U'I(VZR>S_)UD,BS.$3!=N?O" M^0[9/'"R8B=MNOEZ0LEGR:Q81*VLSN^!MT_&M]$4:&IOFYZ4/-_E**^2#\MI M^<'!O +)+H+GY*$4P?U-9P$'P4[-4N;K'P*#D^?2H5\NC@2EOO_%ZBH,/Y'.7\LP_8Z,&8 M;[6=7*Q$<:\R >BT.F'V9Z<*'DYC(L/YJ1+ #!:L6H2SA7DL\T8EIC$T?!<)HLNBKOSUB-CI?3:F_$5'LPK(])1;6 MZ2?8A!HHSS4W_O': 6DJ=>\UX+W@VAHR.-[DT\DMD&*,RAD,+[:1?=+G6OFW MGF7#N6"7F^-#'VB(W,MQ(RU>HB51]2N]6_CA4\HKY[YA IZ*L=?*#CU^M883 MSFIX(N+F.O)[%WN3>7 M.L?Y+[Y9Z]',FIG,R7XBFW)6?\S8X?S*_\V(DGYN?_;D]F^-11T3K-_20*5C M4G1*@,UV'9)LY+!(A="NR0,U[H=U#]6\+SH+UG:L*0JLY8Y1I+6)W1-V$ED, MBY$6Z2NTHMEF_KBI\,[1=BSCLY#$+4U"L'/K/01MD=H[Z#LB<4.8VRCF4I?\ M+3&'FTD[K>2[ MKFYPS&9&=U^/NBJF&6-WL760TI?8U%+7$,^QGI#SBF9'"SR03$<29((,Z8 B M8P*5*@_CG<9.,>:3G-$=JSQOEX]+4Y4H%Y>7TCD<&DP>6\<].ERN@AS*;4B@ M$1..&8S"0$$60#3T.'Y#6HQ1WR0*O=^-?!#,Z_LN_ 7O5I+\-5IPLV/'N1(> M.&RW.E] S#!:EWXV5.;YQR_#)WYX8/T=_+2MM$Y"76B=DH?V(@UZMBA^@;3_ ME\M8LQ@]WL/"<(-@+#()AY8.^CL/9(]*/_).>P^AR]FEXWP)6#V07?GO3#*G MI$)=G(LVBWB@@LUSS_8SD,8K6-;_UO&_ M=?QO'?]_T[$P(@\BL2GV_4;_P82B,^39 )_@Q5S"R??_N8+]?\H5_U^D^.;N MG"XFOD7HHZA'U2P-S\5:%D.JGM5C'Y(M0*8V,G,:R]\SZFM>BA3Z]K]/ZK;W M17>8GKZ(VVU&(5SCL5:.HQ1)\M-E*_5-01NB5#^6PB>4^4Q.I4916NC4K5LT)! M._N?.\W,6-VY$S,PZ\88C-Y0SCTL&=%!4WC=BMLOW.J#!/=]7@H%2_ IQ\SB M =KQP@2Q+H\9:5H&>YQ@.8L_UY&1/AZX^B14=>.G'U.A%9]C&B?*KB-:GP"4 MH [5Y4S'6?$>A-M_]A#)M5>WIB)<9 MU\LN<>G"NI+=%3:3ZTZ$4"@^*O3B^_B$VO MJ.*FCWA4XM47? [Z."6D*Q5ZV*DJZUOUMW3]DL*#%=$N&J-9U2-928:/T&D0 M]TN\^U7I3<%? Q#1VW.2*)?.:-U7>"!(\L[%7.J+;%Y,#!XPO! I'FHA-C=W MV!GQGAK.!7TI]!;NL:/??8U_J,]J=^D=_2,W:CC':\"U9;X/S? _KJT1] MXO;T;258X7- @R=8_^RQVPX+:"LR*QMBZMV;3SR39$_X^1QS;4PRX#%M"P9%**HO; MZV4HQA.CZ]NZ:0<#![]G/V7=;_QB*CF#5.&,.LH_%H^@_W,L#EU#TQ\9R^.I#S@-.C5YL"U<*%P\@ZF MQU9K2LB'\F1OYBVM.,W,T'%< NL/FUZ;FPS%&)DCM]M_BEVX<>0^+ MS2#HB^+?<4RJL'(T+$\U7R^YB)"4+J1FZ$A,?_[;*:,RVMG*_98C$K=IH0PK9%GQ+KN@P1"EHIB2$95Q^AOCJ6[CP_4M!H:6OJ=I(")**QYXN(F)/!(Q^U#XP:P\@,JMZD7!#MC7B8S?6^FHMS 1CMIF.0\Y>SP9 MK9A^FP\-7XRI_NCLV1N!!_S9"!?W&!M58I70@[21+KM53M:]Q<=W>HU77K^\ M2?Y8S]+H=1"D;&Q'3$9,8&WZ44WD&FET1,Q3*JF001!M<^ R,LIFJ3L,#UB\ MP /#>GJ>4MO"0IF50G^$E0A9-[?X")8I(U7/P,2"K5._AWXU]0<_K(1)W,U$?WD^?XO).NRWS] M=JNP4IZL;##'?]7,>YC^I;TEY^] &=L3"_INQ:?@H-=]O7N__&1RU9AXKQ%] M*@1^=E"1_^ ;BCQT8<7R#'D9!#0+V!_IU( 45*X=36/!8:N6"99J*,QIWV]/ MB R_U,-#.MS6:_"1,,15:2\ S!IX>_Q^ZXS#;^;V0;I9JN41L%=8^5IS "'0 MNB>:5*&0+,C)R_E'=6Z<3Z:C>D0"8@J@$D\4V=@1[ M%B=P10?.(R_N!1H/,ZDS>5T%CMBD3XFW"T2^H ;#]Y7D2EQ^1F4D0]8YO='7Y4/R?EJEP&RRU^-[93]5OK!4\'Z]6Q65QWB& M2$+YIJ?1'9OE9N:SC+L(YGVAKZ_JWF6HAW%;RV4!'C!MT4"W[XZF4=Z)CZSZ MFC0:;*ML.!]LQ>.9;X](HR5Y.:Z1I[4?V!Z](+DYITJIV6CO:88#(8X?B1AU+_[?YU>H+/N6=&C7YYJ M!(36L#B4_2RLR^5=Y\(85ONM]D3+. 3S6FW(3B6^MZY!7.VBDBO_\;)N[DW, MS&VVE9A/8A8A3KHDR,NUNCYN)=OQ6T85$[TV+B)W8W,JY#N8U+9Z8K1VS;LK M%T'!\YWT.M^G^Z433\:1FR,7B5.^$SVL;#8W9UGZX[PO_!$.+LO]LA9/=HP, M:T\X,A/MOS>&]&G12R3Q?8VB"7XF7]2LL>35I'"SI7SX6/"EKU).\ORSQ)M6 M]K$/_;U:Y>^(M XX%,Z8,G.TUM*2?4W^]A:[E64PQTL3(9A(%W\YJM32G5K% M!;G0492S[#B]_.&)0N3-*BN)S_$)?E*)/+)D#P+&/[4H_\X8;>GE9RF($'75 MX6<>>U*?CDJ^975U:J(4OXWSULHF)!E<8O?.G4DK#-\[$:A MRQWC:;4CF&D;Z0(5%\^=;@K*4;HTTDONBM5_\,1"?OQ;H0VX M]26_K=!,"_0->E,@CNM7W8Q^9!Q(766M"7(".T_CP1"05H4^5W=_Z5OX@2ZA M2&YON:R)#(D,XJ[@@5Z96CQ0F@__7'I7NE>J)Q$U=^^0/"JFKY&/CX^MP/GT MZJ MYTO*3V%\ PZ7F#C<$GD6,4:@Y7YELS7CW7V;"MN/$C[NC2V67PT]C'_D M/J3.ZZ325R^B"CO]O ?R,!T)DT+8I!6=&8P7[5^G=*$>T?*ME.YLD2?R[2:K M9?)&X$#6>, 5*GRH(R;IVV0%6G:4Z&6H7)K0U+D5U.!FFG MQ&2^]96B#]-Q]6#<6\A:Z;OT T-/,&9;$!?ICS'!V&%K5_!A%4P+=A>,!TQAM:#^:K*H0 MFQZI<%,PDEDM^:DJG]/=_NB>(:-$W!#\@'<2#TRH@(_(2D(,T5"9'5=^T_Z5 MC!=]*?5RA!3.&J\'1V-\3JPZ."CU/4 #_2I@/\4]ESH\D%LMQ\K_U=;[:JJ6 M5KYZWV@^DA*G%F2$@QOA@;M,J4OS,?0:HN.6+)43/[K8]U9>K+@=Y!Z#$^RQ MEPCEW>O&OJG-XD>%N+N@U#[_]Y@BDRP;/"9<'125ZKE:7VBS-\HA\2 I M0$>M?=F!2Z%\O;[@1($Y7CQ*1D0K4&R)HC@C@EU1"(:YS[]\XP+F*$U-J=4X M*A.^UR2V1#E:6S])Y1VV5FL9K 6>P@-7I(GUNG@X9**?!,'#EG _:Y3\ZF>E M:$O5L&"%-26+)35$%9SVGF"Q93/#.=EY <,U[2G<-'(\C#\[OH %.Y%DMHU1L\H#: M=N,4:XZ M(I[",4-.DA%O=I[5QB8'*3/6UI%H3K6ZA7ZJ!)L(# MO!9VN!8;@NE$!I2(\< -%W4\4)9T+ -JQ7AT*7-:T4]O#OU %1DFH2PTXWJ: M;9\./.$^RQX+%">9\7]JZM[VG"DTBVLS1NBNT13-76)609!C+@RKX[,8S3RP MUJTC;[F$$;%+/C;NHJ]Q[[G,+6%0K.0@DQ;&M);)8B;E$BLXM#O17EY"=".U M_.MZU KFJ5CD2XWP0";^&M1F>4I$B?AQK_CXVIRH6)/X&V%%NZB,YWL0#7TD M4_]ZU+.QXKU7Q7R1OMGT;<0Y YW$IVH);RN^VHA2 $NEO2A*#7HS2OM2%WJ( M;TEVW-Q,PW37M7;IU.X@0/"M8W%NIS&7C&S+B,MSV0;8A%B69BVH[\2 [7Q6 MBPMHZVTSV/.$EYA20HWAC+2,*A+6S:H3N5O>+LJ6%.WG/T2$.)&]E?NL&>(EU_>27??2\ MJ>Z%\"]5.976 3\0"<@PH[YV<9?NZ/YHPKI)RW2>KN_MN@E^WMW3;H7Q9G>4 M[[EV8W--[*1]V34;?426Y@"G3*,@E-XJ&2'! M&/*29R\C1U[44D@RB?&_C[!CVQZ9*I%[ZU4(HU9."%AB7;UZHV%BM_)*[-DM M-I/NG4JN;YQ7)8:,7-04R^0CL,1^'GYNG U%J@_@C9&XDTFGF-,OLG%TIX%Y M741MEV&FSM6+/A5(YO*<#J[N+.4R7#9E[WCTKF"DUE.KX+.(/' ./0BKKF[";YL]%8&QKR) M"<1P:BE.^+U?$ MSG0[>\Q58X*&F*/3PIR' MPRYT-2FQI@7ND>W[)3T%DVC8PW'1E\PC)"D_7W4(4BD_.<,Q'>*!=KTS$06> M"Z]X0BT#21F@CK)!\+#GLOI?\QOBJ15ASKUHCWT+",-=4Q8="=3P>.DD MO?W2;M;MH.I;EOC/9O^T[TV8KQ$MNC!K6-6JY8C'QI109GU_^Q\//?X\"/A7 MN\XS!_+EH?O:-FVS/D?_8J&4U^)P^7RI;(K69M ?XBKO\L;GD:FOJE'RUM-0 MF28V.WD>5Z.$C=-$YCG1NG1]^*BHTX>^\POY)?/X5@SWL5A-UA(ML95.[MR4 MDO O=@C'#YP6K6['_$6.3/UWP7?5)Y>FID1$$$I3%F :Z$3\Z^ PLFV+V^]L M=)"JMD%BC/, MYAU+ Y9HZ:9Z9+HWN/O+#DO!TDT7^[AF)YW%:$D*]CM5H]&(@C+>2#LL7[(& M%JV&P0/17D'J0<,=%_DZ9R8AF8[^,O PYX7F\>-MG5P'*N\3IW#^RZY6:;GP M:@D9,5Y?CAT[4P1IQNKRSC7XL%2C?+>_37JQ)Q@9L\ESN,BRC9,^"Y3+F)RB M;'[( 1%Y\MLDHN_\>HSQQ4T=,J'"GYIY+V^GK$:9V:D@KVR1'^V:SJZI?=FC M2Z!H>UY;[7?Z&KI2O#%_0H_[GKC>S3QEVDL64H1K+0J&3*J_=/'B#,<#5.G^ MF\I,@8HHKOU(S\&K>O9.HF)V#%^!)7H29^7AM0)%] M?C(EA8Q.%WDR9M?'5Z.DG*9^X@&Y7^_"R[C&H'[U_&FMA/CO+%.;8Q_^#X8K4P?LK( ^3 M$:S$,[&UFJ;*Q"TV9QC&*SQ90"O[4*+2M>/FAL>@DM&W80.W-&@!5BI>/X!1 MYUP^;DHHBZ'X;4ZG&HU6Q/"G6\L3;\DC!3O\C8=]6X(=-UB_EU#OVO.JX*;4()U2"\:]#P?S6#_\ 1L@%IM_K[1 MI$CV&0\<7GA^A7G"OF%J],H*<%Q(GD@<[UQ*E]:#QSQSCBQ1WND92K5#1F6^ M<@O.T1EG/L&\MF.E1A^CZM[3GL.[T#B#K9OL:NS9CGF1MPNR -H<7>V*E$8? MX536QX9ORU<)J='"A;;3C=2)*$[>-Z[^U"/1!)R)*C!9AB@WI?L?"Z\&JE(E M,Y>R1(A^_%QV??2ZU3*L\D+-$]G/U4DA?8O[#J-DV8;*OIIFL2#7YWS=V7:S MTBX?'C5&0X'%O[=O4DOX8C%?YPGIB'EYY!9X453YA7+!K K&*-1W<$$VZ_M9 M4C!C0C7'\\%)_M8O9.4;>" #@QAB08C9VV M).=7Y)*+V=\<%-!%T3I30UBUVOI?1=D:2N3E-T\>!J6_)!CNC[E]:I[N>%+*A*:\ MBXJNM[#L#1YBH?!BZ1.&MC;";&(MN99X7N-NC%2S+@]3^1<7E5;;SO 1QL/Y MRT>G;,7YUG9Z]W]!%C8-QW4LU[SSEU-$J+J^M8L+G(*P:W8E8[!A;.^ MH:6ZTNFJ>:JO]XN^AA6;'5F MCG?,BVE]L$ZEG/:<8BCHH:X_DT<:9WTREX?I[Y(U/U.V3N07UOC5NLW!YQ9< M=O)U/W\5>#R);H]];2O<>E6='+1IGR=]ATM5K0EYL;R5QDF2J31H-P%[!!X0 M\5%'B,DTZLF.E6WC*@3.?T '_8=+[$R0*\.S> #BZ]C.MLH["F"&A-Z8>I7+PU=->L-9;XP8\.WMN>@(W,M8E??+8VSI9K"F@1C M@[=?N88=OI>\C10J)B44$."_DIC>+#4_AIC)5UW(I6H\>UY>>FOV=G&^&,9_T@1@6F?EZC(R I"O?KX M!TX@[:/7H^R2#(L>+;S)>37 2.R;-HYG_ 5R=9J!>,U"61WTI"%(SF!C.,QXA4O-<53[UJU?XY)/(N,FWS/J/WZDK\9(%+;,<5*&[!J, MQ[4L,Z.(1BM1V$I3=MVWF\EJQ7%$X=>?RN^Y]6(/C?U[L+I*+CD.69^+1N=^ M@3 "4)YU"S4GL/=7FWFK@SN+^P:?&ATP\.T?0IF1G1M_%.([03:X&VGRO[WH M.GTBQSUX@O,Q"'UC9>F* #CEC!)XNUBS/CRFBP::"'FBVZRKH5/3!-L;I(=S M52@8CISF=UOQI:4W&NKOEQ*ROE1RC%'?./5O)8.Y>;%J=-)%-'VG(D84K@==GVI0Z$-(4UJX3XAV]*6"QQYDK:E> M:%2[CF7(:XUEP V&\4#\X?D/-XK)\Q+0X#%V MNXB,CR_6;*CTRG##K'-#1K<6P6QFG_[K M)DZJ24.R*KSX]W9GDU4GEO_5LN M:[WB==L;K/6@V.@E-A[+\0SD:B'=I24GE=$CE6'E7*Q(7HQTZ(V8&U?"+Q6\ M:26NMO&UTHQ_,&(*&8$_:G)16!VTZ$%#KTP7.VHYD.]$Y75MWW'& R3#4(M[ MD4)%NNW_LF-'HV=LB!P,9[!XS5-F$Q1VP M;,'%T622%V,ZGDD+>& !9T<(0$,R3?V18B;84O/]S32VIB_@\0H_?9K5E#?8 M0P/6>BTU+P'W1Q_B-^S0FE![1_:6NID/*3 !>NAZLBL8O&FA9K=AZON[BD.1 M]TXD+\=L0_IH\E!!X8V;-35262SL#B ,IBPS4D3J66:D$%')!_Y7,9)%Y+RG M3/WH&U-S/T\U/ZT>32=&V9V_6]4[+$FN]\$#$5:=]M/9"M4U(YMK@GC M":W MR)8GG5#4+JV#K+S=TOOV\4"(31Y!*,.W_]AARLW?]&YH3C&S[*G7NZ>0?TQ: MGP(YWR>WN)%88KK\P"/<^74O;((P/ZQ:)*AY0*A7*]N\V/L8HB3+MLT3D-B# MDT^SWQM.#X*&):./S6(BC=R]XER:"J51I4S@V'R;'!A _E/#*B/$#U>C/\I M(6@0L'MO1*>.)IG#R[UY%1Q3[E*$#.U..23[WJZ;[Q*/C,;5_*V> MD4AXCD.9 [LYLVP677O=H#>H]U2@^L.C,#E#CWZ%!$9_,:MT6TSBQG^4PW^C M=M3#6)F+KSX-/KWYQK4ISAWHYD?G[+.9!9*N29+779]\^"!U!+(4<]&*/.#Y M5#9]G3MON2!YJ$1[!]I^<^EY4X]0GM)-"S&5(,>D<8:IOI^Z'->PZL*;?7&.ZE[/!\GH M-6U-%K1L[F@Q2J8_4G7I(LS#!Z]+/C,MU'-7>6!MW]4.?YQTBTI*G$KY,@ M5Y#&V0^,T7,U#T1'=X4%^^3Q_9]R0@[L_=^K7PI6!6O0LIW_"**V*K$R0NYV MY2R.-\JW)[Y'< MC["+W$TT5;)W'7>86F"?"VJ^*W:[/TBB)G&L3E;9\BKMR_/6\T/+GH7]2!P7 MRE63'EKF2(T';B7Q7^JY2-R8'YP*8W[O49L9>9/JWW:M"_R_%S_/G #M%?M0 MYU1!_;7,[#$!Z8XH%[; X)>'HE@V4C)5J"N\0/ 8G""=0CQK7PH@[7JF"_5N M#7;?YJCSI]Q@H1=O%%?'1!$B/CBZ9#/XVLCXJ5ISZ $I3FA:42^#2^5$6GJ( M_?]]1,NVJ=8Z8OMVV4)\LWHLA5&XXHLT2U7&.,:PAY6713A1L6,PQ%$)O!U*;')BX=L" M%?5BEMT=Q%*?!Y&M&_4Y=7F$U;6@8%W4$!N.:.T'*VJLTU3$"!XOC?JU9KEV MJ\N>NXI]#:C[6?KU6V(V/][3UF_A@6\81([#E$4,S#K1WR#;,''SMY 1\5:0 M7GT1"-(][F_;86;6Z;RF&C8U8:#\90^B><^+ZUN4H\%[H4/=B5Z45;LX+?H] M.X05H=G<0V^6NS=]L;*)CF)']1MU!(NA70K$EMAV[WW5@-IW=N,Z\5\ M+E:E)LT+]JA&MBWFZUI3]D\+ M1PI*R3Q^-G&@SGCZ*E%?+TFULIQLMYUZ[A[S) 0HI^>;.(Y+S#DDZ5N8:4K& MM2]^PEUO@A(&TZ-^O2!$Z L+R8W#$^_>-X.UG@2TXNE;F: F=9+F.N/F0+-'UBA2T%6IB.>'*1-X^+7JFJM MEA/*TY\IQ.^(=&)M42=^V#XP:=N*N@HI9C'88Z]P>@LJ?/@Y+ )W _WU_DAO MGF5#XJ\2INLJH\N9;]+&MG'T:(FLC:Y;U>/LU0MMY.J\JKA]5# XP2)NQDBI M\A[2*K*%=U[F\*R8,_J\7_TX9N1(,!%SY01&$2A*R*;W-0^'H0Y6,;K]/]\R MXH&R5#)$O(5MUZBL?L%'@)B"G>H93:LWDZY7F=G:NS=;[!_"5[ 6R!!5%.T7 MC^]OLN=K%3.L9C6A4P_G]6'=30'Z0TT6R&E#L]+YR=OR,2=C$9$JF[$]"V-' M1PPYG?PHI)EJWZT] 3XYYM ^FQ:RZ>&B45$#5U9V)+*YE#"H?47 V-BY:KHV* )IU MQ-$3&^MA/NX<%>FM-^__=1>7:7#;T'6+6V!$S'DLC8%JY]&=1YJ3(6VG^7A@ MD6$8NCX,WS]*QQI ^ACC7:#B: &E0Z>\G-QT+/'+R&X\\$Y/#0^DJ^,!^&_H M'^^E"6;B@<$LZ/PF&%U@F#M[,8_4\&].FL<#0(H5 ?K6>OJ)ZG9,A[7-?.-< M+B>K-D3&Q'ME;(2V'V5)>]Q15_U(:,G3S6 <'8@%%\2!PP-:__-=,/*T#WA M.1H/0+/_>)7MH>^!N\7T"(XBJ3*IZN1KP3D!3?[XW:RU4I8J=J5HEX.\CYO8 MYJUC;E@5?,>)=+PK7%+]2VR8CU+\67+(7\@N<*&Q-(,WXB@,\_O[;:%6:-)^ MIN@_,^7]27$#V;^IJM-L^0=2>_UJV'@>&;$!/]R8/\7H_?'ZW/TCJ[,CE_,+ M KAC4LL_A?I@K_Z?\(Z\4$N4C5&I9[W:>DI: ?Y7__#\JY /JHWG\(7W6]Y6 M4.REI+ F_A8>Q'[)LZ#Q$77FJWJ_OJZ$G-% OA>Y_-N]-+#7_<6Q&+D+7#P> MB"S\FB7G)W<*;9/*I7@"$[4NWB;X<#*S_D,_=Y_VN+2?Z'5[4YV*J,#Q.]QF MG,_2'3>W[ZB)R(R.T[L[R93]:SLE,@_-77CBY7=CM2;G^L ^_+2 %JP?N;U1 MXH]V- X_*T'\\$T,K;=9S$MWB/ QW>7#:Y6YY&YV^.$]6J.;E<5*X(%]9 M>RT=O,O] 8TS6)_G:/(KW63?LE?0G9\HMIRTC=-4YW?7H7+>D=\U]WFG3 ^Q M%(H1N=#6V]E5?M[\$IIL\F:O<'\+:KJE7S'ZPE(8G;L$X] [$7D9H*/U<+2B MHM\JI?L5,(T3J(D!P*ZAP'"NQD$K;_HAD M>*?U>O+!8S1[99V M/]OU9W.-F/CCY:FF]*YTTNI4JN:YU_T%DZ7][UC3)/:R]H.,#DH=+1SUY!.C MO;WUQZM$JQ7-3A*DS:TPE_8DWU5J1XF38%RB6]Y.OCG6GLC':MZ^/ M51G%!M*BNNN77HY*[SJO6-SX)-'T1!*'7(D-!6&"( A'TW(5-29+W,KD9JV< M<$8RJ^7=W!8B^8N;1*(C74[$_6[7U>BI!_;:##3R!7/\Q*-:E#8;7I[K7;G? MD#JHZGYV->-DC]!+3TL%QIO,E@8C%*J\G0]FV,Q.%8+RKDN@?7KR2T[;K8BM MHW+F/ZP?FN65U[I\@K9H\"FHMWKCS]QF\1,\/)@KL#& MFXW:K4BJ4CES$.%<7F9M/SZPOI4ZVIJ'<8]MU'C+-C@EFVZ>H$RGNV^7WWOS M-/A2?;]5C[>W'#7))X'=H<7/LJ-DVW-5[P3UI\B[B^T?FX]X2S29(7WN(VIG M-A4]/RP/6#]H7Y]5#-)8M53UR_&%+R:6U5YQ%N61URGTGJ7J& '1#N$,]AJL M8,6W]I@Y-JBS)%KC@U<&X3E>+,Q(2S-0\ZC^X.406LY(-N. D"Z&7 7G$17M M:H4"I(_22%LZCY/S3Q." ^W$ P5[)J+>@"VI_8[8N2W&/KE^;_0>]KVR- MWAO.50V*QVP,[THW]#Q>?5[Q9X3^8:"^M!Q6.'5E(> 8) M>"[_R!KM$\T%VZ\/P2WI4*?D;NOT##VQT6-Z;.1VT0.OB ?Y<%3Q00H8'5!UW(.%H&S^2L+99YJT#%4:) MZ;@]?Z+F0CL<@PL-=,B0IQ?>_IZBS[@P7OAC:)P#QUC(N C)Q0-# MU(;-Z#<9ICT M**4 )R-JMMUET4L;V<[*:V'UMAR]@>>]/'?8VB]N.HEQ[^GFM\.:YA+(..UR M PW74CRHPH>[V*(?7=(".=Y_8:YRHRA4[@?;#UZDXUI*H$U\7YK>[/+;GHS\ M:L7/&GO\X?4B=;=!(CS;=[DL5M)+%F>" NHS#(&@\,0ZSNV_^6,OL1 M_3/_#+(._0 ]>"KC4F2%$7/\.%BXB =@OGA@EN=GNHF//RXI6Y3.T2AVNK&; MS>#-BF>_$;&$Y!P\@FO[X1]4KA'QR0EK^4K1PD/+2G679 MPX.PW)DM!5AW@T)!1 [C>7!1LJZ<0",N7 1L.A:O/M+R&_5%RRN:P?6120RI MU@*M_U !>W]SUWB:377HU$(BQV(]C^B'&;ORT[SW]0DGMWQ6 QNC*L=2BT^W M$K>M'Q1RVO73B[YO<.([R!<N92 ',JBK#J:G MS:9?;E$LE6E%J$WXG84OI#^/$4KN>5PY*FH;X&M;E_0X>4&]Q/NU]889)[?" M4D-0JNP1%+'D+CQFPV5T#(T=UEJB%A:QSXW#7&/\:2H[X/,&P:/MB=E+>E7& MMI^AHA :M7?>MWUT6F(- NN/>(G=UG!B/!5-^X]?#$:_2,QGP*$(:7'>0&.@SLXV@H\ (Z%0Y>X MY/08(O8^]EUBL?^$G2 &@>G.?EMLCX_/<2DT$(O>4'F4R\:_0)7V-:TZ+8WS MR[5QOE^V);MQY"^U/L+&B1 7>/?*<_=Q0-[S$=[D&\9.WV*S+QG<,=IL&R E,4E7&8U^GS(M M(!Z8>&BG$\\@&N,CJTYNV[NY:ZK@.=V,!PH#?XV9]IH2LKOM++!*=@E%DRJV MNUN;EO?JDW1,#V64N\?N8X'FG.;2*<,3<4%H4MW7Y^5?.8_DBW3@M(Y&-_/: MUP3.3>\N/5OUX'_NGDW4RN_%==,&>3P*8SPPZZ&\:&#+-JIW^)QYZ8[-Z&%K M3J_V=,*NB.7X/@8/M,I>1]'$*WW,-D)6/IRV85M)U[/9<8186+:?[.X6.V48_.-MSGJ:BL> MG6>PD#YU?ZBBQG=SRR_?-??E"'N^V1.GVD^S,2)&OVQ+5@V<4]NG'YWB@ M:JX&PF&.!SXF1N !*_BY[O;+JJ0.GNW\3\IWH!97"<#N2YZ^&B/P=R(Z-.K! M V="Y814>@?%," JT'*X^Q:TN*9K?_Q#S1>Q2X0';C"#,4@8'KCG?Z)'QNG+ MH$JH9N30(R)34*S ."05/B9:NCH1$V95A# 9?8W)2FUL*'3P\(SS<%*0A?,]Z#[XNI'VO MPP/T6^6^"47[,BS1:DUJ%%$+6O%?SX-$TM*-Z003\ 9?L%:W8T70&7)3SY&GX3EQST5>536\JKP$?=,8NQ%@Y(6R MP6F%EN-VH!@)1_]/;N!*&#;T>!YS2A@A[CF>;IUMGP0VU9:/R6R6"AA;7[TG M)[%\([FY TY_/NYXV4O:2QU/J5\R#>1+9#LY9" M8V1-RN7UK2L5712H\H$]G' _8B5M "TZ-^4P)M?4?20V" MN=Q,XDAM.+>RI"R,):^R%?RBQQJ(7;C\TI M.*RCVXGREN[0?2;#"YX6AV=5B<_&O]=&K5F;.;#I>EV.]^H(\P-5P2\S4W*? M3 :='0WCM$@LSY883YS1#*WO41N$2+HF@CZ,O80%:'O- 4_:E(YUFI7P *M- MI5,B$<;'"+OB='(9:5^/J/ZB]G@>)XK9@LUK416 DJ\?D8]4SI![M>VGNS"VD> M/8T#B5'%#;'!DM7H 1X)%)&9O(3F?3_KP5[N]-4438MF48/EECW=W.(,HY0+ M;W4WFBYS")U3#",N8P /0$+W)+K11@7+8GSU7QINB/:$1!8&F-^'*-#S"4G2 M*_0T6\!SUOYGBK/92HPL]R"!!P\P!Z7>O)V23.99USR\ MN##<<*/JAKB'$2 MVJ-X5M5@P^+!2\Y&+6^<\N(K1(8A\)2_9&)B.9"Q(WW,\A/\KE;,IMLOPPCE MRVEXQ>Z.R.4) : 1VCCZ 0PW885??B-L=F(\X#O,5RI\VOY-:!(0J[D$ M,#^G)D3D8\G+@E-7+5J=+7;20P&<^B5BIT-W'7:0YNODQS[%K7%5)F_\R_+Z MV9Y\)T[Z2JWJ75VEMNMAM!G;]VBFOEW9'4O-;GY="FW*LJ2&?KBHW9OMZSL& M%\1T.UJ9\V,F-G9?\I^T ]I=J;_H/J^]FYVO6OP,N;Q$)!U[7".BY\>>CYW> MK,CJAC=1&"XG._63!9U!0.;V6_R;Z@14B?0N9Y6U\(@[> M"W!].9ET>GJM0ZWE5I$*T5J^19BP+(9&ZD>FX"<^)\-WT[J&E1;$-8% ;UC80.*VYK[+>L7_ MX%,N6Z9-38$L)L(>#@GSUWLL3,SXB]"9EW[+/!5VY:BK%Q.2C( W MB#]87>+Q7(%%61X6/!(&O]^JR[U8 G64C^IFFG?WL7<3?]OB M+<]PP@-"&#%\D,YIN9W"/P16%8X'4(SFY2HT1=9$VMISW-R,+/_B0+C)&,,/ M.PBKE1\P^O1*Q:,A<5Z%R9A);G$E46LV+[-8N-%$@4%LUY3XR85U]+O?%UQ%'*]%0*N>8X3D M- _")I=MWWUF?%%73ZUF1:>V/? %+&,FSM&GNZ23[\9#H&8&R;')VMJXJ-4* MS)ME(1$5&&)"\/0G^%R#1+PL65RMFHS;_/&LUN([6;D2)!YPNYR^]L\9I8#W M^+X"'J"X+^U6P.FF>4N4W(5=;AUN*D*\67?SMBI;5SQ54M_MY^^.F;H"?L>F M=,3WKFT- 3&,WPY-4$"<,#^1NON>/SLMAY:IZO0P9I*,&TV ?>:5>7 :\T!]5[;*[L,=]AP99[)!"_KTML6G9I^;_%9I M:X^0<*R !7BC?0"Z;>3AO.-^HDE&_;9QU9;X(YF:6@ ]/\KCF;F&I: @#Z/: MKK5:6VKO&KC'LQ_7?%:J;97K!L_1Y$IRMWDUS6BM_WA8>3Q[%KVH=S[R**LP M+<%#J*!>\4'M1]F*LI7F.NEG9GG-45\Y?,75TR&<"W2/]Z_=#.>P864@B4-?\YS."UM:SZ"ZT-Z8[7, PA]_UA20,/T4W,_Y.:OD M(]&T?.A+1">63+53W>LCFRT>H)4B'AF\X3FL)"-YV@"3L#_"(-&ML>2!CCXWOP#?"U)W$9'D;;5Z,F#[ M'?[O&SGDB@4Y? *F^BVGHD$J*SMS'-TOM\#GYRF"/+-<5%PGY<\@>;[;KP MU3>FD9R_?#7P@/?5BEV_[E19Y/]P M--HF\3BB?!9O&EQXF,PA.M>[5KZCJD8QB =(BR4K[ONOY^4NDSSW__S'*2V1 M4FK"S>O!P\J_S[0V6.9NZ=/F2]6ADIM%1]1^6BJ. MTM8$R]H<%ZI&F!2:IXCV?56T4CBF7ND=BQ=DTY(.D:_*<;1*GMZ5^ !]U*6 MD/AY>X]U0_[&W@P]0]I* RPP/7-Z:*4Z8*5>_.>VJ7>4.?6=I(0/<:L,JU1> MOAYD3FXV7 S]AW+<^2D!;HFK 425NK(ZHLX1X8L!WI!/9ML>P&;Q@CYGF53J MF#91X5TU/]O0WGY$[-@RLJ>N$0^X+W0;AP"=?T4.V;CD'M.-*NU1F^M@-(9HZ4^MW;AJ3._==\G?L8L>!^X'J",S/I1*,G#2!*$.IW902VW!$KE@J#3K]:T PARRY/:\PQ8FD.;FIV7T#@1+Q70 MQ(BA75*B]@_YR<;^<+V9V/5"6$6[B4!R;0,I8I<1F&2L#?8W'G!J/<4 SYYX ME#+_6@MYW,1P25/A\1ZV@F"B3(ST0[O#UF869DNNW^+(T6.ET_+1#YTX,J>O MK"YH+'_WIJJJ0MC4V1XW7&=T@?[10KHJ(*EV70?):BMAW #J$,L#C4@OX"XK M&+!9B%6Y\K_B6@E]VQAAG/TB7J[_.,9CY* Z,&MM^*-W:;8R[S&F2%_4*LJ- MRFLB$U$T;?K'WQK'HO&"J;LLW8 )1_SZB[HI'I $TB-H!1/0*;&^+HU6:M;W M.U_OQIARB&&8"=\T^\T_"&U&")W%S*L@C?'UEH:$>4[6Z%8CBJ:86V2ZQ17> M1^4UGH5;5>KVOIK>&B=$:P;4"V9GY;_;)S)CMFV,\@K)Y;Q%G%MYQR7!8K.Z MZ\^4UE)5O&@J"KW&,:HO-,*>S>:>(G40'^@[D[7I-+FRD@-'+6I%#?)@$X?\ M]E(%V#G:F?:C.WS7W$3Y\8!QOOB\Q/LJ]8 H.\"/,(9<3ZJV*F6US:T)._"AVDH'_$@94L MM@K)D"JT=7/@BN$>;*.+YE0^"D+[6ITU@I>*OMVUF+-A*$ BC,#=@DGOED"E M9,\4PPYI,"D5-'C [TMB1W#!&J.98:N),5>OQ,\:^1VR>2\]*PY[E\RL-B M 8F.VA93[:E*R<9!8W5H_ #1?:5=&74L#Y0YO5( M\\ P=9,STN4DP%E,P08[>M&:G^N\[HU@M7RU/&P9#KMN(Z_D[SNKDM ^S,L> MG]O1PO\*69L#28P:>(D$YZB_R=3^ Y7\ZI/[&FXJ]28UEN5'*J@ZVW/_K4#& M!":DLCBQTW>/DG9H;81,'[=]7'JVBN7WH,"('*DGN(?,O>6JK4W=#]R9!:?, M*:^U-M.\+VF8__P@PA19,?MBHCFX2*?:!.7#-6[U==4^/M;L&9"2.E>U=\6< M)JSUNDO./;Z "@DGAF=^;CZ#QS1V2G[;(/YS2W*,V.%!F"%W;=V5(8I#:J^- MZI*P&;TM.YHH3KCU^^9R)OAZ*,'\/X='O$UUJ3>-X#K9B%UD<;626+VT1([N M!#+\CI%=N(J?$RDV"YF6)%BI$R''Z1Y78!6&,IC0(X] #2Q>5[3;"..=#N#I M66I $Y9>Y7(J:\N"^U\]!,J&LUU@-=SATRDL5Z$SV["S;CL7'/.8@JZ5FU03 M4WE^;_^@Z,]@0WA,H?!R59N_]O)\V+(X^*),\NMY&ZW.0I,7;N 40RU0-5'; M%/QB\GLCB3L3'2\50L5":D7DPS3XZ[HYRNAE\>N$D"$>DI_ )IE-EXS#X:X* M.I0PJ-+, PZ+KFN)WU=._*-KB/8^+S&=HYN**2L.N;R]$ MD"-;+#5&O>?(V@5K V7=A*;RGC8,-P(U+Z3>0[Y6[MXC,B!J([X&CN%7^^$4LJA <,Q_G]B5>QER]:%(?_%O_D#?=;#_YSC^B_#\[]6W(5,H9?(18S+ ^_;%J> MWOG[E_5OX;+B"4$<%R*P9Z];#4"SEOV)_$K[(FNJ6^<@$ 8 L]C9QP,^VH$Z MC+^#1EXLX-#Y.+H62MQ',!YP,>E\J4] 'A"_ N$]#8@OC) _6#S@\-ID8$43 M[L87/."&!4$F*&N#KK83_[$(I?^:?=%Q/FX99V"1ZT ]3;*_]]G,V3I\L@7 M4N8XZG3A.?MH#FRGDDP.QDSI/K\>\Z[DVQ6%#Y^F//?(V]A8=]VW>3'\-__9 M=81:HE>)RMN2=7EYL\^EZ(&K=D."#OGC?G_.E,W@G3:,]N%.MP51\Y5S6:(' M<[\SP],ET'RO .K(TGA,//)%.3$?T[VX,(."D;(@2"'JG"5.=5E6T>,2!]-C MP9%S$+7FD^^8/W6N,15:BSN:>[T1O>@:KA@)S[6)V0^R.]1^6GU==P<[9O2DVSL)GINF[T)DO 2&GN?L/UQ#4P)UD M4%2]I0V[3H8#/1YP9+;X!1TUW,^RD+2GO;1P#56SS';43"GP=.,B,WSE5L/Y ML- I1Z&'H)DUPH^%=61@0^;]6$OXI$+0 )R#^K&;,62&A^B'QX7Z4XQX\/;& M)]QM5%J/%^5,V[GTN^SA -\; 6H4<.F XM*/42S^I9Y%T%4X M*8$<5/\]MV$1.M:\-9DZ]V=[O)#"! 4 M-ME-S.C"36$VDZI$/ATB@;@1;<34=QO7@ M9KW.Y:+HBDY?CB)4SLHY=(Y"8-\X=J$6?,)0*U<6@:'^P]QSIN/(&0@L.,#L M(J:9\IM_SX)]C2U4E$D['6?R%'%NXI:3-1M'-F M^=-(.&UE)OWCC'\, R(^1%_1=Y; 8Z\I@=CCAQLJ=, R!6<*06JO]^8V3G6UA>SLW5WTXSV/D^ ME.W5)!YP'?/@B#>.FQ$>@97N5VDL=V\7U]XO"5!Z&:I3+E- JB)D.GD5EZW= M^ZB\ IQU.^#3,_>^L'B*R2)"TU_%Q)V#3Y,AKDQZ0,2/N@:D_[B&' ERYS= MB[#%O LN_:/ >7C0.7\SBDU\1-,O#KB*!TA"3Y4Z@!$"Q17B+]_Y.=0PJ5&" M!9Z49T"4"YRDX3[I;SR<*#IOV:3 U,AT0[XXQPB(=_QOF_H4ECAS/J^ABQH< MT]AAU0^+W]4E!I8(N!FI"K&7>IS+/8V]^[D[^8ID M:?(1J-.2QK]?.O!*GW1?M!Z\*!BV\R<26?\#68N26#=[5RUIRR]Q:V#J@[P# M5,QGA[.HS]FV-^UZ^D_EF=J3J:TA]OEDWW5+T*!P@D0['D"* 2YE,&RC0"X+ M G9V#8]I@=(03L4-J5AH\Z_].G0#^$*FVSX#B*DT4*AF91"4TH M<942@N3@5 X:KV)<.7;:%/\$O2X+=4NMK7:0]YQ)P$VJ*!^Y?UUFYHT8W[ME M9EK2#+YX*RE.X@&_,BW)\OE&W&E!,X+AMA[1OG%E3,%=4Y_X/B_:K*E;_._Z'K4DU0^W+;^RV!9/=Z^XKU:I M(31*JR$#6"%7.(G;@#C[$A&0@3R(V:T\^[GD4&_)=!,X7+?(=NSA MY /#I_KAADR 8(%XI5OG>9T\T=Y2(GLI0<\ 'L[(P3C?'(V>1^OQCP\>5B@@0WB8,4 ?SZ5 RMAH MSK'6.>[VWZ0_%MME!#C2UW0>[\I/^4&>7=PU+QO+:OZ<7T7,S*TL:1)J_6_^ M9N6 0(\W[@Y-J>I,]VPO%#_X28*-D=.?V'T*\IZ2.RU^I/E._MDY8&5H(#B0 M8L>ZV]-"#&6\M, D,"3)83W!Y!G@"K &3;.Q'&W,-[VV'F+I/Q(H]C]J45[S M&I=/ MADAK2G1)2B55NJP( MQ^I7W.G)3(^2E7OD2#(W-\MPA=K#:"-,V!?6U6DV[&FBI\^Y?Z$-1=1HM'G1 M5?2O1SD=A?"1?5[S9YQ=-V>/-#)X/S1YY0#C/?1UMU/1>( QXC*27VYTZ3+- MT(^/ZC-P:CJH]\N%2) KZ^VE&,$BF>VJ%^@34WHR&Y^9"WN!;;"BE5I M]*',RWK^\GKPP_,\R5)*E*UVH'V@YNX84C[:.E5.3R(MZ)K,J1QKYE:0LD\) MJD:M)5"$:GYZIO<<)+-'&U7NOD*W#Z:W*/2].GY'^EZ5WIBG-ZE[Z6OLGMKL MC&.:-)QD>M=+U89+34GXOOL YQTB;Q_J\ MSM6%*+*,C4S3+M,XXHSH(X78J=WS^M%_\Y;N\2 M_/GI4;Z5A@*2:5:.LD_R; $]*SWR7+V-L7V7JVJ"( W.0D&!1;*J/EW//I2L MN)/W2Z\@RT4ZHZQBYEV K]?9=.1XDDU/[KB/9T2)-#)KG1$SL5H7*-&Z\68^ ME&P1QYV;U)Y-W.F)H;>VLY:AZR07B'N?60C!:$LXO9>#CY:;ZDT(A4R,/#T2 MV3\F6YU=\=5<4C-E4P6"*G9^6DZ=78#/:"+UYLMBJ6M KO5&UWHNW'M<"LSV M[+G>+HBM^I#3(Z?;A%R7ZI^86,?KW9[X(/:";_;;8ES<8H*JD,"_=<>C\KB5 M7^IT82T#9C%-XBJ*;0C]*&/3*F%0+HS4=*M8K,F9G[4DYOHH/<>_R^FI)Q&W MZ&4N1=^G()^:E3('J3?TZ'QBYOZV!MH.2S !OVO?X",9'8@86+6"\/_>RN'O M'I00ZH%PZ9FI>BF(MC)ZRLN> ( 2:+2QG:I5)05R':.0B=5 M]MQE,ZCJ)"P>$B+QTVPY"TS7YM>5=O_;I.']RZR]3TE9-/O' >7P&-C'&#_$ M&>32D362P^'F'V3LK>(%B8>,Q4WGE$?3Z?BUX0"%.1;_F[R;\_>H?M>G_RD&4&+"T6:%@: /M MXYMS\!"\1O>AU(/?*]<- =4[8@S3:83..(LYDTU^KPNTCX*)Z M]OW+PR^GO76,E);X=?D7/1O8@P40>=F_;TV;"F6G,OP(H49< !#;0 !@ &$S M+FIP9^R[=U237;/>/\X9^V',,0+K63-SSC7+ M;ZZUP$W@%H";:DJJ2@ ! 0'P$O\#X!:!!XI@.QL T- > N(X?$P((\9]( M\,2()T#9U=K:R>V-LSN FP84 .*K5Z]=O4)\[>JUZ\3$UTFH2$ENW""AH;Q) M1D5/P\A 3T-/Q\3*=9>)A9.%CIZ-GXV3^S[O U[&.P(/!7B$N7AX>?XP(2"^ M?IWD!@DU*2DU#S,],\__\H-K JBN$W 0EA 1L &$5 1$5 2X-@ $ 17"?[Q M /_O0T!(=.7J->+K-TA(\2^4WP0("8B("*\07;UZY0I^U!\_#ERANGKKKI#\ MM=O:KXC97*B%WT>G76=_4MQ,\V)XG^/A:]@9&#GO<7'?YQ$1%1.7 M>"2I\%1125E%54U'5T_?P-#(V-+*VL;VC9V]F[N'IQ?8VR?H8_"GD,^A83&Q M7^/B$[Y]3TS/R,SZE9V3FU=26E9>45E57=/2VM;>T=G5W3,"'QT;1TQ,3BTN M+:^LKJUO;&ZA#@Z/CD].T6?G?_0B (@(_O7Y'^I%A=>+\,H5HBO$?_0B(/3Z M\P+5E:MWA:[=DM.ZFCRSLQ%=" MNHA?H/3IA=?3"&\KC@/5;=-L#+\S"#+DBP,X%G# $C=Z$ =PNAGC@ K0.9OD M8KYN7*A4"MIT3A8'I)YB59MQ0)LV#B!-ZIP_8L4!W1)RZ+ EMN>'';#A'T1G M""^46XNQ01!&T=(VK9/C7;_-/1>.X&['/LF45PHEA'+_G$^2_GY4K-V^LBI* M1$A%5"J_B,= .";+2T5V3_Y4T<6@QCSM5^>5Q."X]CQ3?K3QF[ ;=&-NHZYR MDC[F31XX8+^ZSA\'R.]A8H-PP.<,+)TXM'%#!@?$O(.@: 8--^AW;.7HH, M9],QI$5+S4D0B7K!)EV\]J.6;I&G]V6_;Z;8>SYVA_Q365L-?F'N[]\+75)G M0JJWF[^>XFO3CY^VOE^C+R,L>:R-'K:B$\8!BV[@"VS0_!D7,0Z@4O[[(O+2 M=;+BC?K1H",Q/N;]1\'>;Z3,L4QD13)H"0Q/9@ ]PBK.4H/UU/>Q$R HV*> M/L."?-3Z39TV)S8A_Y3O]Q'IAS#T>[,R#9ZM,\L+)-G3O O;7_[YEDUS#%!= M--0R%?UI'!P].PYF$JKY$J%2+BU;#8.^>UN MLATIW+-K&*,;^>.J/GN1GVX ";PL')6' QPW$W^>?9IV!TVB2KVU!OO0&_62 M(_KVRV-2C'+_S)S4@Q281_4(:>)\AR729='?6L7RU%?""W[X7R2%CW$:STF$>K '14^S'AW5!X^L&_U3N4TKBE+MIZYTTY9GFT[4 M1J0F"]0;M<<:=T+SYR=ZV1HE1:ZE7J.-U)."5$F#@CN7]X[IX2L M_ !A%$%_E[N@\3J:_Z(M63!;4?;D7BW&R7%+ MH66?R[;7;9*?EI$3.5GY3M$R63[W32\HU!MBA&>Z@P+P!S!ESN_OV3( M-J1$TCYV!_USM]=6_,(R^!^RT=\-]FY4VXK8[9^OB2BU$<$,#OAGPI,KTC[V M^J=.\]_"_+N&%2D8QLU=>+C[Y]^DFOY?KN=]K&S(BI\ MB>R0X[F#!D>49QYGQ-5OYP#[6OEQ"A/&?/^X0%QRK+T_\S99 ?35M>$=%:VO M%\R,\))QD4$*>^$WYEQY+47;F#N@=R?=^3(T-J\-%@V(( \^@R:?%AP<"W)-T?.QRN M;(^; FQ=,/E)U&=VOVH[<8":HK+;>$YZV!!EG.Q#O'2FXXW($.SGJ"K[W8"_ M_S[Y5N4"@CX/Q]8('!:E8>^#H2V28O66E*$8?H_PA%)*YN; B:3/T]W'W1B' M=?"T5&GR\[1- M'2G^ DV4.;OA SEQC$AH[2D?\*OS#L1:W4:/RW5 S^C\:'# RU:\KW2:SF4L MA_ON?3QW_DC;HYL\L#S@$+-L25;=Q *!'L'6T;&+D98M-7J589A',MBLS*?L ME58);U^\!,1?!@656;T\RG6P^,;NL"3!WC9/(;_P^24.&%K.0BL7 M#(;(3OF#'S85*4M>'SU@+AZ#U&!C.P\IHQOE,7,6<4-"0J$$=VXUU,'-F'9; M&].E6 R>#TG?1W6HK]SI/P%M+AB;V;)HN!90PTR#3EN1@J#NOH^;@\X@G MCC\(AY0DS"*4B1D&GZV7FSE_EJ79/PG.-0*3/JXMKQYC$^QW\19#ALDSD_TX MEMC4MNW1NUSN*^UPF./'D"\%HXT6_7E;:7/@F:TOZFR^6[8U>A-S_;#% 2PT M2XSN%>/G<065PR+CPSVP!V\>\Z>N!&KE%&9TR%%Y:-U"QSLJ:-74PQU)>!0< M65JY%8D:X!&QL<9R;#X_*Y$$:?V5RBBR+]XO^BDG"[\R(]^)4[-O(R14<7_LR^*\MN[#'866:1B M\IQE0Z44%.1 AR5&0Q;)>5L0+^R&9TR\#S6O54<&R6^JL;K+LSM_KSX_R))W;!"BV JA^#V'\TV?LY29_&)N: MJ):''9',1$VPHFG(4JC9$Y8TOR_=SCJ3]$R@^C#504OPP9%'V,LUS._I M96SQ$,86-ALP%&MW[_PI_&K?R5(_.((GGWGY8OJ3&R(QO"F:@U4"'4W-0T7+ MT)+#3%"_'3A2Y^B<[:+E-1^7FJ(-.2JD.X0*G/TB M5BM9%_%",9)FE+Z25OK\&*G=LU//8#!VGI&UK_SYV%EEMR$\N#PUIFWJ+F#+/5!"?G*;()/.!/G9+%M(!NW6>R\8YYK]AC(_DVPLN M6A=N?VMU>=PH_7(]MFGW$8M]XECHVZC8-MD[^\CYEED%I=&Z-\GLHQDN,A]' MC&M4"H0.5M;EVKMER%51O":C?E2+C20;#;2UL9J!4]X'JDZ>WTU(1T]78OS= M3*&ATM:+:_NU8-_FQ!O%98GRG.W]D[>>K7@2<[$00^Q'2M"AB_66+>>>"LCB;-",HGB(H^UD HNT//KII -T?+C;[>X]1+G&SX0,7O5&78]&LO+M%%:_I_A.X/%0 MPDB!44$&%5"QF)1#%/L^V>?0P%V ]HVG<=Q*,AOZ6^):BB]3YOC#"94<<8A7 MX?#H2Y(#K2OHFNUF)]J8=VC;)ZH.4O@HCTR3 O#TTKN%$F<,-/ M]9.1-'N>6$C^LS7OLO!)RK@'/R?]+SL"/F3!I6F6@Q9QP(X U58QV+;5DPSK M'LD3)&;BL@+ZYC;S?L=>R6#_O">%LH$+UM\S^XQ3FV-#(JY2UM"R6!H1B_BU MG2RXG_Q^44.Y)?EJ:>(:[PJI5^Z,4%^F^Y3$Z3K@RWC(D\FV%OU+"^:@[V.= MVH=P>Z"*C(W LCCLY+/(DG-IPH\N%*>OYA5H0ZV?\#9A ; S$LM=@^!ZUIJM M7,*F;&1J>62* ^:?-'Q*N+22V\,+^JL*!9TQ+\8!(]':'.EAO"]EC="=#FY< M[3#KY&5B\<()L .MUL;('^GL4!@UF=E^?.^T65;S)^//!3_,L4 M:O]/>UA_?KD]."38OU:1>=%R2> O,S)VQ"&'FRXX(" )PXN_.4YF?=S MQ-+3KNQ^:*V]R&8O*I)?6KMW7,MHP;MA3 M:FU%X/]8TE?^[*>7 39NFW7P&I[FVD][Y"4;EA'CT(*Q1LWKCJE/@8W%X(Y, MJQ<*$7WXSGX8HJ-QK^DT'WK3CK:FP-AQ(,.19J?IVX(=8--9_@;1]05-W'[> MD<1?5>,XNJ5YR!%Y,0F9 C"=VR;)-]&=2W(D*A7&%9>:/0_+TZLX-.A/+#&1 MLN8MU4>7-'UHK27*$(PU(*FQ%!XHZVO48'1[?^^8!JX;\>^8X<.3#X8+%)E# M!-J#+N0%Y*)]N=0JP@/(0.+QNHL."P9W2C+O^ KRR]P< 59=OH.[.,"N)H H M<1_IT![ CX[-X\M@*"2JW-UQI/Z,V)*ZU'@1V>ZV 7N(;P&/_9TT^ ?U/\_< MGUE=]W:H71U:ZJQ1 M"/UQZ5XMLHXIZPR7=58;%^0DY*=($M&,!X01[/6D\5.O_A@,67C/,9])CGU[ M0[:\G+IX\%8W:4'T[YZ2'Q]X5Y"\BT7A=1JV8CGQ3@KD6Z>NCKY!V(%=#?Z@ M92U:C.2H1O)F1M3#4)&+=BDYLJ/SL$+\8A[_I%F?(T>WXP$5]4Y%3>S%P^<2 MK$^1P6[87G>Y@?HK-Y7DNV3('[>$<:<2_@MM/K[*7M,1_/-#7D2,)E#(U"%' M6R>UR'>"]3KYE)H1;N)* RWG936\&X"U MEZX(7/!%R1&9AR_,0]N?&(,'*"0(SV M-+.U$071@J\,>)3^JR#2'3TV(6=LWQ,UJ8(Y#EEGQGT(0UDP^ 4\8(4W?WGI M2G[<@LU)&<7J<2%!/6^(*FPE<$ #3U$+),28-6L1+:V0_Q11VLV>)\]UGCDU MT0UJ ^_IQY2W#3 I[4/#9=FV-/SO)^IZ7JY>+M\,VMP^HMF9NX762P6_Y&PK MCM3$N*W/4BJX1DXS,^;0'XEL!'@1> MG#AWU!V7\YXF]?M.!]USJ^T3G41+M=^>G8F4>@$1FE0-TQE=+B[,^_8(#A7V MDLA9NYDOJP1SZZK3VJ]M"[CY;7YS=<^132IF%\ZF4C]!8; ]4EG'A$\H(Q7& MX%]BHS!EPD7@-M>HN_,0HL9]Y9W#H.Q=C,20J S3\[&ER@ORRS)*N>].@)%: MQ&)"MFQZU>G,$51A_S3,W9EZ(AQVZUSJ*Y:3F"*YW2<,4?0]@!#2K;D<,:&> M OG.NYGWJ:"'A#O]"W-*1 /[ABQ)Q*^,1_%'A2NE(=^9AE+D=QV:,$8H@[8Y MD6^34PFEI5^0)E+/XF,GO[D&_.09[ R0Y3)-.?<(QZ>Z(K-]T$<1"\H-6G%C MC\3PVJ0W*_%K6HE/C.0E9$)D\G9B;DNWMLA=*2=_RHD(77&4G#C@B_W^P_?$ MHC/Q))*R=[R MN(S!)SXOB-8;J3$"*+J@M0N/^(MIE:B5NK(N,-[6NA=',!QPS<]SS#V%']ZV MX<$K?W"VW=8EZ0SER_V]T+(4&KM&QZ'=\;6;G@T2W!,#])[2X^7@O9UU',#64(H#+)9Q M@"+,ET9A^"L^!N[@31[XA^[4UZHSW=A=NY))519!EPO8E,2VB?.']:;97S6T M8A9 CZ7<@G05Y4(0!2GG-_+C+5"+SCC %'&FGQ_W!&G:83K@ESNM\/#"9P\; M*!FRTKBL?'(\?PEX4'9#.BIRLOI!JYC.;KDU3(0%" 2- T G)$ M,"K'B0,8I]*CWN @37F6*QS5SMV#H\@4BG2S@30PY?U>!#PF$7AP (%R^-> M@QY@7_V?S:DEHN'U?OUQ MR H1! >8CT V[B6HX( OG F7OMG8#_=[XSHV#;77=%:=SNGPM;5KXJ^->5:^ M V- 2';]+LR+)JO&(T:IZ9Q2QYQK60!:TK]F#):DY)-DVD3$[N9?:JV:X( R MP<$/[A@\$$3C@"'&:H&@@.O#HOUBRT9CR/Z9(=,S[2?KIY8D%"J[WN=ZF3"7 MA]'#TJ"EHL_&X>:5/]FD @ZPJ,_:1UQ%0P:E8/5%S?>+D0FW.B^S AX=[M+] MR6R;Z!\(I[#BCIRPG##!O P"Y=\L/!5I#YO?#(+(OSQ4;#/TUC.\P4SH8W5< M,.O;ZJ,WR\AQX.6##=A[0548*[::5(4]B.H(D#D'CY3N<]RBR/L0.O%CVB MI;G/DLCXYWB,C!@7R2SHP >3RH!M>\I-:;F%B1MCSM0S5 ?&[8W;$M100 L-DT8H+YW:8^>R/HI0\$<7S+Z3+ M1_V^." 80Y"*EB<^V)WA5 MQIA,/!LR[FB75_@4.Y,X%G@AE'#U4?!@HP<&?%KTN*ZD8I2/=?Q\ MCC?)^QKK?5WAQ'U0>,#5D3HNOLBU\#5EFL,NF-.Z:XX#3>'"B.OLVR\,$C%7<4#,JYM'M4FL\Z(^>@HSJ>EA]P%M1>J_ M$L'B?)G7[) L/D/NQ UAF/],L<0!9O@>9:C?[9^,63PQFD$D81Y_4#D^^O[^ M8/6CHYQF>CU;SM:41F&IC>,>W1W70LFT8YH&UKPLG>\_JO(HZKFN5B_'%2]* M<*2TTP88RM5:LH,>7W5L;.V6QMS+IDQ(+F@4]6 $A>P<2=";K*F:^AV*ZR!W M>(=AX=E=HQYO4?MHQH;A1_D<#OK*X7(KS\8;MUN<+X'Q>BMP*?9IOP.V[AY> M+G+P^C KU_YMK!H^\13=P&.DHE_Y:Q:!*09:D M96(N=B,NG.+1@,SFP:&4>5N/:=Y)8UJMHINL0:3<^K(:'OBPYJ*-0;191R$O MHF7;U\3TG0P/,2Q-YV,7((\&Z[2$2K\>::A.6X,4#NC6K,9_I6'C$>.I(Q"\ M7QC?MD#*K8IG<16LU0DYNX^0.]ZFPP:9KV?<36@^=Z4@-6PCOMSG8>V:R?7W MA[Q%V/U*2"#.5=L[= MA4VN9YAE!6Q#(E_UWFZ]&R7_B<;3W\7*Y'/=]]3(QP>%+"I& 9]R1"+OD59# M7-TT?E7>LMMQV#S_'CU^(Y"87I\%6][I]PZ_F.YRV^<"*V/#ABWPVSTK,:[/E"I M,\*29_[;6F9"6TUPYHCQS/1T>5^R:B5WY\O#&R!Q."A2+9FV5(/65X+3HKS; MGF]*WW7Z\7:@%I'T4J$)VE>--O;)[?[##Z'T/8:1C5[$C^B1&CW0U[I"+'C7 MK1J,;3..$2PU\?5J,!DL*29[:GN_3KQH5&^69/UYU6BY7GW,O3 F*!^A[>J9 M?"<\95#4AH5)H^* 2F<]2D>8[DN\;0?I+4VM:P7RV2;3\X->)"6]+M"':U*J MS+8L#[7OPTM5&3M^FF1S(3 #FH^/[VSX>:1E0.Z8>AG57#CIVN<-! A"R%00_$ O9- MEQ^E(Q2>)"!SKL^9;!*IO.H)I :J9-PZW+;UMW3B80QY>J]WDO'>>WPH3&JT?2F_4K7W;$XBP]72#0[-4:8.S.2=KPL1Z:5^F*_RFW7JR M#B1JNL-^CTEN8I1$LS^+AI=:Y5]-9[JP27Q0&K#G]+ 6\0CY# =\K-AIM91J M)R^[_:3P0(T^S;&-AHRX-\*6:[R&WMV7U[-<2*%L2NEUR)HXXDM^ZS]W^\2P'JLLP[0-VK9 $^QL3ZM"C"'-HLU=5US)J<,K MF0Q O0LN:I-ZV&K4FK&@YA /%;=GM*ZO#*R"3JX@@^'(G=\8"C>PR?T.TPX MX/PD%M\WB-0H8]X_:-R>E3NB,H;T-GY/P-2?_<%8?:-_Q5@'SE-,V*<_Y;"- MG=C ,>4% 4RH 0XXQLZ?$X[M_==#11_C?>[EYTV^J;&:^I0EV>Q(LNOEO"*C M5>[]=9[NSIASM*/CB5TJYFQ-_T@">92);E[4HG& LHS_:#E4KS0-YP:[.^TJ MHR!J^_LC)L]4^*@_O_.E0FK<96U%,3TO'Y,&1B;Z2N]70X.W)(]I6L#"!SB@ MY7S'ITV57BCCKBHD5,LBRVRHS/GF-N,SQ//-U66]60;/R76J#4KC58_[>QJ] MS0%%I&FM3UJ=IK)>V?OS+>Q]EM2*8%3WU3]P?F5:1Q&P?ZPS8Z EA_'MQ:/^ MZ3/&,T@3EAK%7YFOX+U8[FOIM'!9/3 :<>E[*86 VY?^2JI CJN.$W*XF_** MS:FP!"MPGS4NBF/B9NFPM?C:DY[<\+LH!DO'8+#TZZOCJ$C:&G=VFO/]?=Z- MH@IP%P[HDQR"-'6B$;)L-9DC+L[#IJ;CDGF\@QAY[R479R?$EZR*>ZPF)F*& M%93,C)O2XF+5?(4>51GRT&@H14!ZM9VEGMI KMY_N$.B9=G\:%RF-Q*F05D MP@$'V(>=>V//SA%]LMSX]#[LCP->%5WF\6ZN7ZQOFR9TRE*/,@D0AN$ M]M]N=N%X\:$P0N_]CJ*OAQL^,WYT% W5Z'/UCU^Y7._0PZ;7[,*!%FNW_DW32W=1T5U-/R2"YTTRRK MO$S,-LOT\3>C'Q6X635,*BDP>7]4-#7.YB\>0+O$G.*"P%,)9 M]+((=)DJM\*4!D$8-<8@OE7*E,+0I#B HT7N_"()!SPI4BL2_0]_R/7]6VOW MKR0M=1)U44,\#KF,J0$%I1P\>P#9+I@_9RB 3($TZFN*AW>1,.O$N8G>=57& M&/:!&5MX6J'Z8F,[6%KH5WOZMMC;<>Z=;C?*!TE1FJN[#S<-3E1M86!H^]!& MGR/LJY97E&Y*O%Q18_F[R@:VL?)K]WPG:;3VE3S?G^F95)ILVHPZWC.I-5JQ M-5IR;%HY/9+MR"]&/8$K:MI/BNQ17CG>R;.9;]N MFC;O2P75]%<%*.4,FVD*V?W#?O?-<.2?FIZ#%$Q8 M\14U^J'Q'[33>$1DKDU]ZQF,;9%=/CYNVCZ[VK(I%V.+"FL_,CIR) 15E W1 MWZO[LB1(LE@1!3LN8J)3HUZIEEW>*#D_YFG//=IZA;F"=Y!$N>T6B\L;O)MY M9[4+M$D^<]*.\HXV8G:V'(XNOW?(U%[:(H(L5!!DE3(B?^#_X#?9O\,?""6^ M9\Z"(+[*G0-%C.B]1:0!]O9]T6A+WLT1>4;2CPS/FUX&1<5Q?6@0O?PP-:^! MDBGV!4>_CMJ=\>M*?>EDCO&B^;41.SU'O_((/ :M*E 5^;R"XJB\26-TZ_KD M"\595M?6;.>:1S"^A_J_QPOT#U5KPW9G:Z0U?OB"%)ZK9\_\@MW+<'"] 1Y_ MZ'SG3%"&TO*)9T.FJOF4::@H4^UV_D]IXP?.UPGM.*4R[IQ3+OUZD_B,UG6^ M2!B+H?SQ3O8YF*4&[BA*FEONN_'J=S0GDS#\)M6[JBU)+(VO)GRE)'Y+M3!Q ML=#J\/IT8 A]$VN#=LCC>YL)^L%]- MP(#QC3%"%*N7@07U=4/H5KQW/)]#6E18U[5&!?052QW9EJ8])S+TF XNZ7ZV MEXXRKN]@[A>T_WJ]-O"F?3R))]HIY@:')8^U=?=%LS<]$3I_\*>.FSJK1>J4_;E Z,LQT0VG"#%]MXD0/=MK$G.BD<5;.."A/Z]"Q[B MR[(&SY*O47:QN@&%?H]Z\.S:_8Z;D=D,*XB QZ\^ 5 ?8X,QH5/I>$H*>]3V MH)^C51A#D2@A*T?LP)V0@[&SC@[B*,E@6..5#1VT^=P #M!Q8YHW:78X40>G MD*QS^7WG6MO1(@K;V[Q.S LK/@^__E^RSLD@@TLK0CAG!$G/%];&G9W^,W4 M\Y&PMF.QY8#YB\\'GM'S]= OIFTO1^FGLWJZ4-.6Q$@>=A[/'TML6@S+HXAT M56JW>]T91G1WD-9=79N:Z0O>5G9+ZJ5DB'=S&APOVTJD.6BU*MITH]\/QM\8 M(":$V8FSWBFN@HN@O+RXIOEW[U;1<8LWE^C<.UZ.>W-0O6(5=I08,?T8P?MN MJ,-6CYN#1_RJC)(_=Q5S2#AL#:49F2:60!#SJ&A$B8Y*0D^+7]-*.RAB&=7N MYJF^U,_3JU9:(4Z;6Z/D?E,JY]N &TA)UE"K-D;BT2#-UL)5@"!0DD#QQ@1K M=KS)=C)W+=T+PQD+4[:R;M> /K&F?/>;])JR-@>GJ$&UF!5PIEU0O5W?AU4N\MWPRS??P!OFG^GUFY)NAMI:1I;3D?$L9(RD*+\>,N[ M++LMDG,(SMD8QG"E!-\VV#*M\CI001^QJ.^RR"CJ))G6-J"D3+:]$#<-E2\J M(]AYZ"[$U&X1DS&Y656^?5VOGR<6EUT/-ZV/+-5L);\?J@[*;:,9]&KZ?;&B ^PCC@[3KC)[ TKE0[#>^-7EAN-]^?)T#T0RDF-3'.3NAH_ MN'>,4F3)4S] 9<>'@MR!.CDBM")NJ7#09]S/S<&F@T6$-+>B/;/I$77@Z0>6EYG;Z"A> MM5:3VN*6]7[H192//[G/K9:.=YKATF!+>YV<,0_G(21A\/,\ '@)2-!\SP<[ MJXROA9EI=CQ:^;QJNJ]5S)YSDE6!*+#]6*N^2L-@'9"!<>#' 6T#9U'-GA3) MEA00 M/BUK&O,,N*7_P1[/W];DYRMY07>W-V-$K"A0/?WVR&5A+]XLVM'(6) MRLBJ%M@:Z?2^73B0D%&V/^"+-0WEO_>.2LDJV;8EY_3>[R)IB$.Z%)2BU&PV MCMO)A)=DQ3(8']115YV-@[GE>2\Z^9ENF\.41OWGNP;0&CB TTL17^='<,!& M=E$![^I@D,^];%_4;8VQ.R5Q.S K-YF.&;8U,:*47)IC%N^#F>.A8/D[7VXP M?U!6,^;.93BP_1NRAYW&I[P9?=1H=P MS^CK1MJCJU. UV5?MG3@;.F&@VYUXK,>5Y=P M.[.D&@34)D8I1$F;V1(JTZ'N3VR_NBO*NUW!Y^8M'3([(,?SX8U5I7_L725D M\E'/Z>9(]M7=C%5>@WSMBYUHV^\4+[QUST/8RLOV:+>F?*%'02[T6[%NY\<% MQN2F:0R\(K8DL4%U9E"3H3IYA\)INI!3-Z[SKF\'#=BE.L1)( [XXA2, \QL ML.I:(Z*^6B3FA?FPP1,39[X/:3C 2(@],'\4<0-U>^DV>&UKG,D75&IL_)!> M@65$Q02(C?I)3%@G>;2LF951?(16*\U73W30F0P@Q-=F02BV80T?*?DC^8,- M-S81B;:M;^Z.\EE7Q!5R?N'(TXWC^^*R9QYD6N16]M746&SV'OKPHOP2GN*!1 ?H;9;IU >>,>GMXX#P *8MQ;4H M!SW+]](6TK69][L$45UI<2%5HBL!PFA22S^KNOVO+1UNL2>JFJ\ML=U;C3FPW/&O+$L[ MKXR#)7O@2L033@P)/=!^ Z;H9:GHD)Q7';Q,>BC9Z/3=2%-[K_S.6-* 3I@IRXT.SN'[^?76++<<7WG-SBQ\.]8B+ MV)F+Q%I3"HWDQ#"UKK#QD;F.2;Z=A:CKEO0JR\_S,B9(XL/^YNM77Y33:%8;A-%,&=LVZHV4PIM>V;'T#,&#<#2$LJ?^19C=!&5T8=D> M'49HW"NES&[$-M3R+.T;Y7 CXU'C=8Q3<:/0%#COKN4[,)UV1$OGC(?%JGD_ M)'O*/M[9+F=:TO%[R>YZ"!O,U= M7M;@'#!4>>0H+=?"7A]E]+M'?8T0=#GC@>'MK#-#M>SN^1=]7!1[ETP^TT,6 MB=TZLNA,7'&?_S3'/^81E/DKSN7V] \I4^O7X3('X/5IF*]M4,"--\F@20^8 MXUC1)\J!QIJ("P%(+B9WXR/X]),L,SB[L_+3B3:'_@%S-\1':_!HD ^3/R?- MLI_?.D>EFR@A.QL@.6L*J,CM1(5CMLOU=!_GI.DI 40 R9K[I=*>$HIHDW&T M7\3@F55)#61IT'"P"OE$TVXZ[59BD,&6^Y&VHHW]7QU;;W0'!Y2)Y.<+3I.A M1%X5P]D9"KI@TLK4]QGG)FZ&4=O0(M'C2!J7)+4.UU^9NZ_/6#EQ0,JL'!93 MB1Y> 2=@(?CZ]&_^WWQ+5$N_%E'FS^^[G824LU+_<=WD@2_!H)N9J!M6O/33=HL75(*C MZ9/A?AO0FG:Z;:P3\W7$SF2HIX#9KD?;:=/+\NT]Q#&++&FOPZ5,^G>BW .3 M1J=RRRZ4 :[B0-.5QL[LO;'(L186WM"?M!;.&!P-P4' M!)A@WAQ(XQM@N1K(Y9GSG[.C/\8*^O.:H+C#O/V%T&C9O)P-#A#H>8L<>!AQ MH?LWM=\O]_-?(/<=*DK*GD\JY;,_A8"O'<;(!B+L''@T[,B*N]V0> M,-M,ZKCR \&0^D?RLR:#[J]G#<%A6R,.W@(%A'T1$4_Y?E!!C2=+@W8J!$UV M9U>5WY%Q6I=1FO4FL__C=R219$OUHTL>_(!M,&I$V1*:XMW)-A(?O;VBZ\\O*JF"XYI9DH$+EG]-$A\ M5Q9?+#Z+Y\]J@"KPUVDW5H+62*B,.1/O/YT(QF='C(7\V3A_^3Z\O0$T=O4] M?)>+3F,U,_Z[5=+$\AGC'H9I_^K*P2[&4B[^6U?Q>SR[]^+.J875RSP24^OD MTC41G/W5:\,"8;)W[=4=',@JWVOUDO&6T/M?$H\>FM^0;CLNSZZ)_\R*^1'/./_#@^UX// MCXO_EA\W>/"EG_[/B86R_K [TK.]X-B7VVG!>2'.#?K.)VB7MPUCNT_RQJ^W MD5AKG8MC8F!>\$1_[TAT3U='(U7V<1GJ6OVB5#Q<5-V;E7N L>-8Y3YVG3D% $U)BN\6:,]ZS@2_#^[6%\+);[5G[&L*>#"_NFMSV%!CMN/1=B M@]3,*H(M(@*NVI^+73222]G'!ZT=U&B %C$6(:)P=2I)7^:X_:_; MX.,^4< MU^;HDL^?EE9&+*[^0#[W)\X]H>G=:I#Y@! ">[+L#"= MK6/9SVYMH-+]_O+"__RXIOHY/GD6*6(#CJ=Y\KAU"?XE>QHO.I8._<:;]]/_ M\-:([0]MTSQ%\I6IN-7+G7CX].Q.9-O'ZU^IRAPWW"X=2,K-Q&),,!6T:&#Y,=$LR.W/K[=X.IHG6X>7:*@\M)/S,<% MG)&_XL9P0-:[-66S0,-;UY05U$W[!XIRIF$#DR_9M3Z)?Q4&S<.7:M^IA^+!I7\U1TV[%>\\##YN8.;L,>QTFN M2Q.MMD?#(]J*-!.&_W8V9BH0&L N%K)$^E,2KD7WI$-BI;KW"[+Q9W$@Q1*Q M]%*N<7\A.N/Y^+$4N7]9\R^+R_CQL;&GG,_O6_(K:>ZD9%./5+%"%5WD]I-G MR+4@)_8_F>TADTK; Y?K/W_65ECN.BT7^B[E&?DIC.U-JQ^XTS^Q1XKH!Q=6 MWWJJJ8YJ66#UEATUI)0O0+HI!9G"6<WCLVG?$1V-.8K M<8Z0-V3E'+:II;+WT3XX5I=+9,36&'=%OY#8_0#;88+J] M2]:MB_+X!/QG#P\0?O-BZ<;=[PK*;''6,LW;IO,?;6):' 8I9HN%#2LVZ'$ M,U]/2FN6^W$ONH0+[E10I_PVLSS)V^L.A/F!-P8J6B[@Y=OR8H- AO]/$Q'*8^+6B"P+&*6"I MO@SYL(L#-%=4CTQBWDB*ME_NG:S5B9O*"3[V>5H?Q1N Q?:JE,8BYQY$C,,,0*A[I#?W"+W[.T2*.^^I@&1D*5 MP:IWZ&^RJ_LZ1MQ16CG#PKC5Q39W6H/LT)M*LDOPP%**N)&%9Z+2%1Y:1U#F;R]+;L[+AW8COL%[#3*I;'_88IAJ/+I:/03^4FV[VW M'6P0E0^EA"JC,]G,LADL8AD E_$4_@J:(YG"U++ZBH:/O;;2;AV%7<9B7639 M5_SEKQA$MT,\XSVUYQS@XB&98]\Y:RL2%5:YPWF2W;@Y24\Q#\V@+:O3"ZU! M[$3^[GI9]#:L;B]3W,;C/JQ;*U*_H/]'N.H>.^SMS-Y;VN$_O+5J,'H$RLWC M]U4\<839Q7T?24 MQ@,-9BB;,+?V^ZHJ#M> KYT((P]2"8W,7&J4=-2 H,Z5@"#,?6E%#B3DKAN[ M*;B\2;!5!\1'^?K;?:8YFXQ=]4K4NNW_PV<_"OI)*C\3CXRZW=@ M&K@N->@J:>4NZAKV74D8'=?J&CV\P[@S4Y['$.[\P.VTW@4N$OVFQIU-GB6/ M@.?K2]< G>GDH$V#G)P3$1P0Y]]2PLUR6].2"M^X72?YSK%/\5CZ$#W:GVTL M^&[H/B7W]_H9=[G4?!$=W86*,%*V@AKK'YO"O4X%]]X=^/Y> %FVW]RL\,0: MQ!)FQ]:^8E':;?QIG)Y2&KQG18L/;+U_NQ?;-(H!6>9N#08X.3MR?J?BUQ^' M\#G1:.K*,2S_DB=FUG-47CR)S+6'F_>=NF3U9LP:MS\R=#)R^; ]GSK(+K%6 M$\9-] ,'?&12Q6B@*I!B=P'&*8L0W(.^75( MVR]5JXK9>]ZQ4I4N@SHF1SI5#.?\X0ZIF_.O?\^OG!4)#$Q*_0P'C28.X?M> MFAX'SU*PEY[L7?CS^KIOC,$U.. /B'TLH^CA'I&WI==D_>K#]86P*JWH,X;1 M[ $8(HT%-BI>43PSU<41ID<6(1467]7L@@.N\^<,S=!*LDS:!H?=VQT.VS28O2]9,?_"UG=[ZJ45;I07BB3%WGF1%>?8;?0'O M_#E%.T*RA.CBE&R8U5OS]&+I1\ODE.V>'8X46*G(1A]II,=Y[EK%!I >QOTW M*A!@8@8+O, !A187@K"IE0 .ARGSN$72+@^F#_)NJQ MS;M;&XFKJ7K:JF>3V7EF8+\5'=#8E&"D"NRF!L*=7;+,%;SHXE/+''\PN\O& MY3X_%8GJPB^?PC_.5:*6KN_",C]X4#+G:7\]O9:9'CBSYG?7A?-[[?[E\FVQ M9!Q0PX5>E,[%IL2YC[TOV/12L("7^_,+'BK-:;38,BW)X "2ZB4^S^E6<]:Z M<8$7RA^&Q6LZA#N_ *!0FG(3U5S^QN_!U$L_0!KUDI#H;-. >I1Z2P#+:,;O MQM&Q;)OI.Q^=;UY4L_"&7MA&-7 IE2AR8=AE6;Y9&U'8_I21WQZL(*YWG^)J M32%[X^,>_V4S>N:LM\*N\--I+ J)UO?<=72K_#WZ]MA$I ;NE%[SOD-?Y8>@ M7)Q1$>V8-(W'PNP+TJ*0FDFXDX 5+VN"ZW1ZU4OQFP]WI+ >X^#;2YR(S^7A M*93;4\\2G*MB85^7R&+6MXC"M,GJL^KBB21>ZASRA>\Y MWX$C.:IKORA36W*DK)IF169UAA_3C):+O#GJ,KEDG<$!O5IN6/]\*)59I_X22&,GU/W>5M\BI#>05^73TX$.WQWK#I2EW[>+ MYHV*3>QIA1S!%UO3SD H 0=(*?TI\S=4)^\Q/#ZD,V;^O);&/51^_L5Z>S'NIIHKI\OO:1+'9S,G>TL3Z*\/T]KQ M?QMH1=*F3V :WSJ/WU(V'.@_T!!8]>"''L+XB;O]7)"]$U4F@IU!R. MR)7SNJ,?'/FYV"&FT&+P>]9F9'4G*,LDO9#Z?HOIL'$(C_Q_62C^%X@A<3YD M1_3"(^R2_NM IWZSL4?$3;"O?!AI?OD!GPZK>R8WB:3M?B&H(X7178"<@4^D M]3(_AU\W4^.B:O!"X_(J^%/1DA8M1FTL?K+O-#A):-+D/E7VXJ6&G;?$065: M"@=U]-4]SE,#L6.^BN^ M:^!$RZ>BXV_G@&W>'%V$*BVN8L8/L$2[6.K*&4J#$=%Z$-# Y/M$\B)4TQI4I>"H*@#))CZ#4_GY*&@QV,R\9*+"HJ:6F&H-=_FLC5[%*72R,7_2&0IZ\>>_2KZ+#$\W M'6IN,VOGVGI*D!"_T !D<^UK.E+2)NK78%XT!=>%S94Z\;F_KK(#PNJ.E.HK MW<]TR#&-"'+%/ F9KH7P'(B&_\.PL)49^Q=!O96]9.QGW'G:N[S)P;6T]\EXZ"M3I.PS3.E3O$&PSV3+M^;(T:?6/I:E*'>V'K= _B6&4&C5 M5F-/[<0K?RU5!\> CMG*5:N/T1RNE'N4S["OZSK;&XE@N]*]1=?[[L3FEOQL M4#K11Q[)_>1C7? -ALW6(TM,C?J9]ZMZNIFN7?%75+=@WPRX@_)JE3&##0U: M];B>>)$\TY1-&36H0#]<-@]9XHNO:1!).FPR,CEU!9V8G#-JLLOPA_W+A@-@ MP(1RQJIJUN( 4P,>+PU>!YSXI[J^V9OM?DL4"Q-V@RQG8G MQ79V31GAZ0;/WMXSZ?@Z5:-T"Z;)/Q*CU)&V?.FFC3AR5#"&0D>Z@(* M-"E*C4#H)?0B)?1>)*$'0D+O7+[OWH?_WCO&>3KG/^=AONV7O<=8<\VY]EJ+ MJ&]KNN\"7#J&>I8W.EXEO*'@86;E!_FYR%4W9L8-_HF]TY08 M%!U$F 0X*!]K[[-'P^)\FW?RDUBDRFC3QEU6_7^!Y*1#3PWTT6_N.0M/%?0P M):8?LR!50H )3%M*:YM& JPDE_.VH<*'XM/?G[@6J^3JJ]P*#B+F>MH#(5[8Y/2K\Z\9/CK[^?QI2_RM!@%^*/(@)\$)Q MEZ=ZFSIA8492LE41W6KH/5C^P3D%??NGKD)[N@HCL9\#'_,H!.<#UN57* / MZPA":)_9Z#5@FWWI7#R VY4MLTCY82%I4&=7K@?Q3"B_ 6O'*0J>R&E175=G M)RA.*MQ;\<7/+EN8.L!-9-YU4]]#0-EIA[MR)'FP2:_3U3B'0^@5.@C(=.,8 M)Y#1F8_JT\&JSQ4^"4K0F?SY*5OS?G)(H5*-3<@14S%^]LGWTJ?8 M7OF'7QJ_5&%ZK?8)#R@2AOVP(RUC?J]T$LOL^&8 P<\2##$O<\J@H>X0R(^[ MU5-WJO-.E6=W]Z[O?J)62R.\I@92*^T#V=NV:(3^,KL&J*] #B[5=DN[4VS' MG 39+-O'_N#N/*C-;"+L$G=(;AS6.BC*APD-;"QJ^&UPCAYBP%XI?R0PD,.* M&CE\6QO2RES!'X1K25N&T'9!\E3PQO/&9 .._\7,U?-,EK[E2$YVJN MG,[U['*W_WEWS'D*BO3WN08DCO9<-=%? YX[##*SKN*.K]00D8AM%M*K(&!> MN=?R[D4RE HZ+4UU"0 IOWYM0!I_#5C)QBP=+DM>!8$#ZV^LOW0?[MC4^EW' M]@,W2FC0&.':;G@@XUB3+OJ!;2EGGQ-%H_9JGM.B(N!6@!0LO[34Z_5M8I[7=3A.E<*1CCM8(4]!1/H5.@U8$/#7'&BW^U%L2]<8LK(^B@UB0&5 M22ZL.T15P%/@PUW,]_%NBX]<":6JCPD\UK!9K>C^6.?=\U(PBY;\S:I[Q3.*YH#[QGF(>-MQ'>Q'O7\T*D9/_NU?W8HLM [ MI',6+*&ST.Y+RB;R=S71OP,EQ[.D=!+N43 #D3BJ_9UX&LG+'*EK#F(Z#>U! M[($\M,]OPZ["^'/DJ\WKY#_#8XY51U.J^/@*FXH8=3B+4YZ9?+.>DL0SV;.? M0,HUB!)H8NSF3!F*V)3X"!6ZLFG%J.ZJ.W[W'#]\WFYHY+_3^,MJ&,1^!NV$ M/KP&%#H8?<)U%5\<37Y:]W&>.T=C3O6N 91/9*66D9%GT(]"=+.3:VML(G[] M$<11?1O:VNT-N6@AJHI?A+J1@=\):EY=#-SNY?)D."R93NYN4LQ?V)1/4H).?&:T7EWS/C"-JPDGKR0Y9I^<+]A_$)"$6\POIP7VS#6#3T7/%#RFAPKX] W2ZXW.1H=&ERWQ99@MT,K5>L>LC#7) M-K?K)_EOZ1BQ77)OS-N*^)?8G0LV>U*DS0_#VF\60_*N7GY3MBOD]1"D4ZMZ4/C%PO,Y[_8QO9@FJ/5<0K&-X* M9X^YT8L1%!5,NR;/AV])]?NYD1Z8X45\6-9== 1>F665-,WVRI+^)<7Z1;LM MW106>0VPD]/5&*4MVX96O4+8@K@EV9ZLLT45V95D(95I_G6Z]+\>I[RM2WL@ M..+\MN35H+FZ>ACFGMK1Z[9WKD>Q>VDVIZZ[L=> 5O :\O_B1\: QVVELW7Q M*,-T^AR>M[VLT)X4@T\X\1?[D3.]-[@"5H20F+5HB!Q<^Q^7)N,8"? YVC33*>IP7SC@XO'5SU8' M(ZV7;)L4X]> ,8EB:8EJ>]9(>XIZ<$DBJ^Q'DC4D(N=8G*1HN5G5M"%D;PW% MK,;!QJ5^9V==]L;"ABO$0S*GLT/2];X,8CX+!%BW3VM49XNLLVKW3^$WS1CQ MZU>J&FQG./-+BI+9E=1 F"T-YFFB)!S")MRW!^BJ&+[E0K!KQO^OQ\2AT* 0!?2N1?=-2?67:VU3W)1?Q+T(OYVR*Y/]>WB6).[X, MS;D&#!-_T%*G+I(O_?[/B 2H-O.;WRE'8)EVFH8Q M3,*;K37[E*U< =-V#3C@AN4"UQ'_RHYFF2@A-JC%20CZ531Q_><.9N/8G=<] MGI>#.WLXJ:+5SP76<39\;6:O-L2KKG[@RZ%Z=4ECJDUUD;=>.JTDBHB(T"2: MK&0!)P5YU)S7XI6:=:QF$6B#7?$Y\#6 :NO^MRX9H]^WV% R5,^-D7<,R'<> M?L;#'32^R+#2_MQ*;>@::1C'6M=]/K9J/R>8!B$N[ET#DMP0A\="^[2H,U"8 M8'E(7Z F7#43T:TZ5NVK$'F8L43^ECLKED.B^'Q ].XNTCSC)^]D\3.CR@01 MI2SI,-Y^]QE-?P0:WXB:+";H]@"(R+@!%YKXT7P7.C_-N.PL7G(FW&\1X9*I M#5I@<&F6 [?_G;.XW6^(\5?TS7,HU9>.5 -2'4&W>W6I7N@U1&H[F)^\ M@$ W;,:AZINIV(0" 06([ME+Y-9X8Z#0Q1 ;"">8Z_>0C+7>57[F^0,7;\70 MWAY?KSA'KK' ^V#/T45-[WZ[I>8,F,-.<41C7AML0S)=?T[ZN=?]N%G1", Q MC3I\[;/-K^7('UI:.@O9TF )W**WPO)@]>CII[Z[;6-G(BN#GDA M,T>0LR=)I&[]X*!H=4^DE]D-*T[1[L;"\ MWHD8&XK;FMV1[35KU^PE8[PHR612R;S,7KO,;.JPXBJHK5VD"((*+CQ>:+A3 M\L'8VOS>YE%4L#/:9N&[KR.6M$:UV;2R$K>8]T#C)K#)!F)X>T>N 4UD: Q( M*RE[MK;HB\/>/S?JF1 KN2.C421@8;?(^.=^YLX>]K4VQJP^Q_U<;8OMB-3\ MDN3Q?HRFR)1QRSE5F!CQ1/GGBS%B()'9ZHWT?WPD!/"7:,(=55X]PI,40L1] M D;?^I4_/_,4A[4G&8 MP-OXKTUU57X:_7ZA8O*^-L;)H5@IF"7N1[<L9]WG1>!>'%KZ;M.)9O7 *OFN)W%-1%- M>!TU'RD1>OH8EBFK@(;1G)#CIA%?A[M=CNASEJ$+2.")JUG_,O3C(C,^YD58 M67QAM%*':]"?Q-!5A*_OCP\::B6BD(Y)@P;69(JZNKBUNOZD6*KT5O?:>@9: M3[KFEG/9/^*?N20S((_?JVPWA>Z=G4VR5J.$*$_HNA^4+)Q.OO!IUB8C\_LSK??)6QVGY,QN7I:Q>J GGG*@3H5[ M3>)_C'4M""^+-T5C9&SG%3&IEM[K4^DX)+5W).@D'*675MIA0GMO;L[XD24] M5S#6!V,*"I4G P<^FO$IIQLM_8KMB!UD/V)I*6Q&=["2#S=Q.G",E*9(O](* EM& $[3JA,>-L0P!^:E$H/OM>$,\^+K(& &' MI,&#G@W.907>'X,M)%,],KN'-N).#U4VEH::YSI;*(*S6W=LE?:%Q$BD"Y(NYF@L[7K&$.,@?::]P@,I\'*NH5_7E$K<[Y<% M;SV(WD4[NWHY"&08/?YV,^(0)) MF-\G;"'&K4%E&K1D&P>VP>:$;U)*]*2S::A-U%;;8[?]"/0]-'5?#8.N>*I2 MZW9LG163KXA\V<_V=TP\;E1?-8)Z0&Q!A"2"3&NBJHH(GKTK:7!E-B'NZA*1 M.)'Z7*A(=S'EXY90DVZ!MVO[7-_1W,;5M@&LYEG"N99"TA2W/5TU&L*0T>@G M)20D*$AG'W8_LV3_;K9%L%G<'V20%\A2!D'_RNG1UI-EA2;Y 5^A?1AD!,XB MVC$)M,TS5+:_O<5I9CR?E7\)[BLQTF=9\1MWP>4QOVAIXCM[,Z+LGOE/B)GY MX=E: ^F;1X2J,8-\S"5\9FY.2[]%G1AG.RDCIQAA2N5>*-*+Y.:;',O]=\NU M>!VKVK+0K07O*=6:<8^,GP>7Y.;I%+Q:S+2MSTZ1NF-%?6>@TDUI^>Q<0X'" M1%O:?."%<#G9,6^1@A%^&>4$?GYBN'R'C6J0HNDL?9 QZR^1K\Y/M0EANH9D M:"A3^-A7![I"(%]FYWO%\VN T"K/\_$D+=?%TN3A*_83W8XJ#0L?#HU"A]34 M*"?BPX3>WSO?1"E%GFU)E6NHXV)](SLW+GC1QF"_F;R@^?)%'/#5=;M&B3WV7GW-57V=NLEFB6U=AYY$]\"ZCV.M. MRIG7=AND)?;I6MG?9P0*O]A2Y-\9X3"AZAD_3Z]7IDU3_#>2W_^&Z% ,EES8>+&5HK%O0<*3\/<:EX/TP0>_\?D?A[XNY@8##UF*#L;L MJ+[(\N-J.Z]$Z\_U1OKL'7K6FYJ&UGIR9&OW8#XX: <5E;<C>EJ-0YG1QU2'OD2XE6;+63.Z35E\Y660B'2.)8WSLSXY8NG\?UVN M0OH(3141R(J/=3Y.:9\]2$C!$D0B$>\OP&W^AKB2SL6[=>>FE@L_3C[S@FO$B[\ M9XQRYQX*YHO_^D_?T=Y^\OTMP@?^^0[W\*CS^R0)6;0X:A[S8 ,:6&>,3(\ W4/ICI3<=TR-/A M?R;UZ\7/HM:$X_#/'BB?Q$,)NWP"2W#(;C.6-,MA[ABSBL0:%4&M&7:DDI8/ M(>84I,\_.OM="JC4 )U]4'!8EY[QT^V>XPYP78+:/S?:=DLI M^1(BY.AUJL&++[#I-&"-2 4-R)&OLO_EW91=>BBV OCZCR"A]Z0LXU&Q!_].7_Y M=* V%5AWH(TCQJ#9RVJ8X!'7E(ECF69.M<1PAFNLDA4S":4JB_1H64'E'D5*IM%6#GK_IPTU6\D]O2 M1\0ZU$+.)=3)?N.*;]+)\>!2PV"2)PNX0[ZVIWE[,KH&[2/ZM$[O;HD)Y]Q/^**MSQIT]OKHEP 6 MR3#N,:B^JX2G",?F:J( GP2@A,34K^!M.41L#:4G+:B<5?4 M#E%#F)<[^_T8*WKL2+PT&249)JQ\BX5>HS:LBR3#_J%CHSH7.0'CD'!\VEIN MU3"J9@)6S?@^:MX(, MA5$^7=#T\CR32+-GU-"4'B42Y (^),^IVYBGS)O,)DG],;O0Y^%DY431B<#P MQ'.#H$6$/)D=N0[1?$7_?.'"&.N:\+38YO(X.K1YJD[MQ"Q0FX^_,H[ /.55 M_%>!K #@3'%\1KZ1O9#WTF-<<:=TX V=$&?QE+V[8;9X_7)JK?F"3D M-Q@8@[8T(_7TGK[E9NP\L.KSV@THH\#_&J,3^2E( M&6A& #PL+Z8BV*@Y2UI4J66,WUY4OI_95%<@-?^[F<3KX7CEB>C+Y+]J1VEY MHF=GH7"ED=_ZZ&17I[:64J@T+?Q^A*Q[,=0Q+$!ZVAY3QL(]_\J_?;K713C6 M=U_O8"G*:S9\)$6.3R+[\3R#Z7-L0K_!8VMNS^6:K#!4P\BR'!^TGU W Z/M!"3>.:MTU[]63U+HZE9%#RSPI3#D)0=R/K[-=7:(JGW&_=P M0L+TBN?5!]3-U7]OVT%RX0](CO0NPA0!DU(JU10+DAP1."7M(I MVHQ;6@X"P1GC5N 48C/$6_-XK0-/[T,^:R9\.9U38;V<5[GUJ]3HO.+CUB 96 M$%J$EF< .Q&:C*"JKGHF1W?6-)R4AD7,>KZ\%Q"Y!M"_>GA0@O?&Z&?_59G$ MHF-]XVK"G+%[:(&EDM0!IWGA^G-;?_45 MUV8QCCH?S,UQ5T;,0"R3^*UKHW1PZ+MNI+J7?,X;=+'[-Q(+;"!M]O,HD/W< MFTFS;'?VE9UR*?*I@4YP+"W7GWWMIG$LUN/KP6;U\Y*967"#>X>GOAOC1 R/ MWCLT(.'55([IB89J=D?EQI6ZL:+K:FD">;%L^&WVY'CM?B,7>Z, . ?0C]DN MC]HG]PWM:[;S:4)8LTQ)LJW5)UQ\=9F#/&?]J#AC9L:+?:NF3SFWEC.O 6Z^ M4*1PEARXH72!33GAY;E>MEWZ%@IK+F&_UKWV#$ )8 @.J)-S+ES?_71?'? M ,*$DXPBT\U ZGCPG9(8D!_&.TO#AH*GVX6!CWT%50\V->[T'$ST*F^@#1R:T MT,@AL35U^+2$:-.585YEYMZJ<>CTT::F#-0LR'40?3Z"^@@?KZI,88Y)<[*T M*]<0Z2T>D%SV#/+<(^ R(*[]Z&]8NGEU[P%<1S#7'3C()Y3\_@:)- ]*!'<3;\G:VX+9X::U/=6#>*3M >1]4%R"O*6UM1 MIW3&)*2ZO%$AZ_'5T&;!U(YLDI&$0EBZ*R "@PT:'N$O1UZ'=%*>)["I;[#C MM"-W8@,U8PBH?R?FUB6F" LMS1;\JN_;C/4L<3EQ5Z]-U4YB-H45MDX>_1BP M6NUNO=7LLZS*RQLM=H6 _24%HSHY.GZ+&.X:^L)2G55]MXRP]#R357B?A*%[ M;(@27%<:HW#';I)0DRXET/SH[2?#JT/D9[9=#]GU)7'8\UI%8AJ=EQ8F0IV7 MCS6=!4C:%U?+;%-U>!@_[R4]$1')'B#'%DL)+*>A?;ZK,?$L,-H0Y7:+R%&2 MY5 QUN#CRWL,ZD/HX.-8\3L"TON/H"XH"4J0ZUR?&1EZK4RH%E,[U<)DJFIX MC^$P:F>@0LQI[7&G^FF&UL("B$4*:730!X^31LE\SFJ?56YDGR>)TDY759IW M3_"-W9!6^Q71NUF3;1/,\Y1UY_#?"%F9QD=]*E@I(UB[MY1W?+'%4R5@4AA&%WK^IE MOL:Z2$SEMZ19<+X<-32N^#*I*D"=N8WP2'B8&$_E8-T@GR'Q@S5//+QJL?-I M*L4]080*1DTL.,NT>&MV8J)N',8C.3+GG>M4NOTH%L@2_\>F,?F3?*CXP@F; M?N.D&'W]!/?@27V*3(9+KG))B=7OXYZ'6?6#3A32O7PZMH!;YK)43UQYCV]R MPSK,* EHQYX$"F% VV?XQT83>':+!&B1&@D5(,I#_9;.MC3^A\3TOXT[KF?^ M%U!+ P04 " #X6U)4PX,8R@)1 #*7P !@ &$T+FIP9\1[!5B4[=;N M2R,A@K3 ** BJ72/H+2 A'0IW=TQ"-(E(" AW2G=H-((T@S2W3%T#3-G\(O] M??O?^S]G_^=SVQUCLOR GD/'!+5E)&$D!#0P,,4'\ M<@%@E7 S-P$ >7F &0 7%3?$P =]0T/U:A1#9!R,#:V<32S=0*04\ S <+ M"QL+$P<;"QL7!P<7CQ@?[\8-/#*B6P3$E&345)1DE!1WZ![>NT-[GY:"DIZ= M_C[3(Q96%NJ['%P#BXMW (\7')V6FH:1A_H\_R"\ ,2X: M"7HM!AH]@$Z,AD&,AFP'0 " AH7VZP/\_D%#Q\#$PL;!O8&'CQ*HO@6@HV%@ MH&-B8&%A8J)ZO5'] "8Q%LF])V+8MY5>X]#;DW*^C<[ 91 O_TJF/ 1CY'KC MX'<#CYR"DHKZ_H.'3(^8N7EX^?@%!)\]EY"4DI:155%]I::NH:EE:&1L8FIF M;N'HY.SBZN;NX?\N(# H."0T)O9#7'S"Q\2DS*SLG-R\_(+"BLJJZIK:NOJ& M;VWM'9U=W3V]PR.C8^/0B9^3"XM+RRNK:^L;F_L'AT?')Z=GYQ?7?J$!&&A_ M?/ZE7\0HO] Q,3$P<:[]0D-WO18@QL2Z]P2;1$P)Y[7];7K.M[BDXM$9Y5]O M,' IP\C>. SAD3-R+]S?OW;MEV?_9X[Y_8\\^].Q?_@U"1!@H*&"AT$,@($+ MR5"F=/3_N!E59-]JJGPL/4AN\M!7Q-)O#$'?XPR>:&*Q.N4"XS\2=]PM&KU2 MP+)4^% (=NHL<5/6V_^YZ=$<&6UE.LJNC$G+1Z>]+C3F?:<]R:21SHK]&?_6 M;7@I&&_)2AC'LV#@*FOISBIB_QWXKF>JKS?SCQ+8)H5Q"ZRCI^HC86_RC_$+ M/HNIGX-Z6_&M;_MWRHGF7H[4JK1D-LVV=5ZT!NW&MW74Q#Q>K\0Z#SX^LOW6 MN".D7#UF9=CX^8,\9IIST$&QA5*Y3Y70_LD)H+&W>A+)>QM1C98]5NO[YH@_]Y]IH:65(H+L9@@3T]N!%46=6/9;S4U,=(5JJ MT143*[Y/GP[DN%"?PL.@2.#X*Q*(9BG@++Z ]25O\=I,E]U&3 M<,RNW6A%>T=+7_"490MKU(]18W)!'Z[ =D8!Z#!.V6[D%BA+Z/ MY,_ .1KK]@GT-^K, 2<@?9IWWF6Q#,X/VI= @=<%G8_3)?.%L+<0S$R?]=.) M*!OLKJ_GO\*/R#+[P;_M?EPR%P0ZN/^;)/29:_KW4 M,SQ5;9U]M=F]E@L:Q7=-][*W1"DNG>&'ST37[HR_R7@J3/.J'Z<]H484:_R! M>?_7\@\=UER'*2E$I?P\R;EN3I8@0I\QM&A;-BWQMSH!]BGOI3R@]'-J9V#F MC<>L\B08K-("T]GD8!U'+85AE]B&UFEC>?ZB#NV9UC+XDP<1\W?DM9^'(@&M MNH94Q(YP&T>29-_!HQ::FEBMRC$OCA*= 587KH@8EO=]B?R8%W:$-FZ&[5I& M+615,7(3]&:O\9F;?,GN.G88G^%?@;6AU6Y?+T7:%^C?B)YP(>@_.Z2QIC18 M.4E^8C=C_PX)E(&O/HSXW#7ITAJL-D?CAV>RJV(3);XD'P*$$")&=1:Y6B2>U-9R7%V933\[G+!3J_K) ?Q$_/UZG^6 M9B>?NEBW1QWN:;>24OC$Y=Y[2.A1:.?AEUL!?Y:WM>_V^OX8V_82M8KDR8#5 M\GLHBI)V[4\&@-C=(Y>50_EST6\3IG< MDL6'C@@%.)P(Q8U&R26(,W7(63W#U8(BG/$[*P;9.&SH?DP>$=7T-ADLN#W< M%U;5>SS2Q&&;/6TAZ'2R;Z$-;S=[@)5XN)&T8;U6W@IK24UELK0^?1SXR.&K MZWO!\--.08_1^I^2-GL0Y26%73MYMIJI"Q.;3_.*-\]ATQNUM03[G^T,&QZZ M"*Q--N*[A3_9YJS*8]QUC.WI=P\*J;H"/4W]L?>MUN?5ED)6CY_U0M (W'+T M?4R6W=D::(? ^^ZXGFIYU@5N.E[;+N*%2 ME-30*.)XV4J._PAP(BT0=Y1G:TC0RQ%TD(?K$H*P<5?W6^H=5E1'=+:';9PDDQ8]BX] M)=^]#%^&.YQ3.W9TW.9]6*:7 MAB*5Y:\2\4@$PT,/U8:%Y>;5S9VZ+EW24AH"NL%['(:1B\V2X6JC6_PL6ALI MQ_F217]'B007WZ3$@E4-1,=%@I2M"43BKR[ M*+IJ61*8;"..:FM=TD("E7!UGS38"XXPO96$,C@&GEP:J=O1QYW%2_*/73%N MRES32(!B4-U]H9_,B9"[)2%H5KP/7!(> U C#U][.[N;H72(_L4U!G5)(H+2TA_K[;[1EDUKP"4U%H9PZ;*WD)\N%"-)^5GS[:^I?;\Y6X: Z7&^ M/Z Z^G+MD=E$E@*Q:VCYLTOR+UO/U'BW3N93-1):YF0K74VQCBNG9L5CQ9<( M(CD)Y2783>O.#2TUUJR;;BQ,R<6ELO%R;CID]!@0#8ZW9.5,6HRSF4+POF/< MDJ5+<2IR>B70TUCSPES\47:5*;-XW6 M _!#NK$""3YE6Q>FH3S:S&";DM?-U3&3JT\8.4NA*H.A?0G?/+@;7E!;Q5N, MOQ<]6V*$Y\&3?F;FR,J9J&90>4FOE33A+WS7#DAB8Z?==.!S]%<_MB7:2%JV MSRTPIT'HN9 (Z!QWK6BIJC@_F)FZKY2;U9M9_-J\A7"PJBC#T=0@[/%EZ=P3 M_5Q+)P(EB4>RRJZQ[(_#R3*+I>PQU=7V"-LM&14>=[?="\HQ00+?V#(@@\Q0 MQ!7>>&; @QJ#!2J;4%Z/!XEY?2,:$U]M&=B'A](QHV2=X^->YW$'?AMF<;SW M_2/T3DNU0ZA._S$694ET,F1AAD'UHUR^.4SQ[OINRMB4IYGU70WK-]*9>F2W M#/#B0P62U:Q(WWP:QF/*C/[_LPC_2Y-WG@UP)>ON5,_/4WI*HU>=X]8 =6K@ M_0Q5.CXP>G53-"BCE!U"X98Y[N*W>:)AHE? *"8-9YEDCLS+,K]HIU/+LHB- M;(]*] G*+^W5".Z2Z> :*'N74IW'VV(:#?EFN0B^N%%[!6-" N^@[?I'MVTO MY]5.JF$_5N><)FF0@)E"R_,N M&(N?U2^M5)3X%)_&XCOU?\C^CGH06*F\?J M#=&+8Q=C%.:UI\E@6-)9&,+/&@EXX8$7>/9!5YA3B#.R G+;7,DP/SXHL-V M%>+>B 1NE 4C@?4'VI&&?)0H29FX7*'AJ@@8R0[;EI)J4Q/H??%R"\O(+^\>!4&NNU6JU)_R_S4 M44=N1OFN_;%(4?J0#Q7]3K)>FOO6B9L"Q;Y-'JQTM_<;5*'VEL94%Z;@^S>D@6Y55 M4-@^N8>%942J)"'S^O]!L/\OIXY&*NN^7MI\_XUJ:YT7UO$2X>?$>U:U"BPV M30-+>_"8GZU;NQRKYNGT2"#0#V8+/QP#PVZCDC6Q=TN.$K[^WWP0CK\#A(0/E:$8R*!+6C_!Z5>O^T+100UT=?6PP%5)/!% M$=$,@@WZ$*)2/X\\!#KD>&NUEVE%S,7[(1(@Q)F?.U\KA,RCONM%G9F!L9' M@(@*$D #7QP?&I,ZI#>*QJ*0^?\WR"I"!5[JILD@@38Q-SZ$^V;:V0TD "W4 MBNH<")JLPJ:5_/[RDR=YY;+W30>6M:1'^3]G,&1E^XZNY#KI;IJ[FD&UWBM# MQG0FE\R.IXF.BGA/;\U\>U"5^##JLMLQ"E;VL*#$9I?5Y+9F'ZQ;J&#KF&Q= MI:-74$ZEMRS^F\?(4&K)2[TYK8TA]X21;):))^?)ZX))B]G[N?DG;QB)I?CV M%8IZ+FYV?LY)DEGA'&"08W V%>"I?F&E?$K<+\6:#&DR+=B@XX:QLE9L*6\F M$ @L/^+J>QU6_#_"JO\KK'I_A!55;/Z*Z]-?8<7Z M/:P&5*LGX]"=F(;Z"5EO#A -&4I MJ/%!:X9]'3XV.1=<8C$OBHL$>NX.@;>2(>N2C1=]_Y/%]G^YN/1,]R\1,D9S MQZ<4ASP;<:L04.MRO#P2T+>'<,G;X/2ME9#25:E]PYN"(0$_N-1B=HP\ADS\ M)F6RY0]-Y<>SOK$]%VH$?3\M4SJ*X&SC:()AF%R^&)W_*6Z]U M&S@$2N&GQ @>]C_ 2=GTT#T)*Y#+VQR/^3G[+ +6*_!U78SFEK?$J[(7L/$\ M)(#/U=5"/N*EGYT]I+5QV&ZCP\_W5=SZC1W:UQY4#C&N&%A%R(D*7BIXE+UX MW++YGL9$_<,GACY/M@:5ZVCD9=G8Y ESW!YYR>?.:!1#J7-*#DKFDJ2$B(,I3P:JC;\6F#6X;N^X0/6HN8H%&Z=Z M,"NM75*\?VH/)3#C'FL)^!Y8L(RQ'X%QW(B/:(G:D_"WDB++27H\/8RG3@RZ M0'<'WGB\*A%:@ 8>E4"Z>.D80N4:">EF\8MDXO:9GR],^$*:#W8&EF;3.#&Z MS8<9FQ$#7CD(%2 ,\G=2?*>%$^Q<0KOG["U+$7@_HD7]O?]E M9P_(-53GBSLB,5=O2RM%T"76!JI>&4,?H(%^AIFJ@/-4WHD$SK8_>JMIY,S& M*9*'==LT> >CX'*,XQOP?=^R[>N4H\V'VYM>":ME;DMR%56C/(U%X. M5]>3 M$"JG_)G3Y;1Z*(W*)@YZMF"@2IP!KFAF MGFA6L@G*K #6^JBRV/6^U"E42B M8.,E"UE=O3*9@B>[@LP1PW#E48G0MW@0SL*^2^,"$MBYL[=#'BGDECM1803/ M[[H,Y3K'0Z'N(-MRA/,.5N_1N)D?/8_I>@9EU4)8&MLFB:3SCHE4IGBJMMR% MD7]R7 #=^N'%9[K@^8GYQH,1F_1194>78,JX:#%^1B:XAH>2G3"DCBX/8TN] MVONV\B#/[;PMEPA3MUO2KTT(Q%/FETD$OI9>=E*;^L$%YG<8OV9+3^[6YC$\ MNVL;,[V?&*DXR[@4#GV6#Q<:.9X+]XBK^LXZZ9*8(^9PTB]*O2@Y5XU?*W&N M8#Y-1-)%&K>IQPG3S80+-4$CWYHN1.A]DP ;5;7*!>\:,**[/23@2FN;K74& MW80+#?LPF+>00PB;^R;[&W;?OQ#7,J)ME-)M]Y.Y4%[%:#*SV"\GCF<@E3$CV$Q:0+4(?U!M*%1) M+J Q*#P02'D\L#';]($FGZ&N_\8T5HYB2ZN6K.KEUG$NSF@K)F3YO5GK<7_K M$8/NL1WX;Y=O3BF5)$A]F3)#@?^DB8U>F:4[@[68T,S^0\WKQM*' $-Z6),1 M+8L(DV9.5&IP"H_I^2TU*/ERGG*<&:M,==1KONZD-8"8-&<0M%J$TI M6/W4T7ZA_%PO60%7A/^'.]G7(5DHQF#:8CF=X!"/I_Q=;;,+VD:M2?/\)7I> M@,NF:_9D1,[[[>+*%^:(>!OO'U7JA-$*R==8 M)D]URB_RK!=2,+!V^7)M2;RGM0+=@@L5:II5GDVUU0K&5V;>E6:W7IM(0%-0 M=[LX](].*J!HSZV+[507["B.T3F+F;D;+"[YW2"TM]#[*:;C]-IXG<:XC -] MJ"8E047';0&EO2H:M=H +Q[($JT'&XO4 ;Q+^4#^WOE=L:\F7?48M -+$C'$ M.3AA; MG$@_](ZHZ5_8D!B;1Z#30WG8*KH6BV!/JL)S/'6;3$VK%[^QY]!&> M<"].]6VD_PI"]4INH:3LY$%6_IEVT@)UK'OMPNF M?F5(X-!;=)K$E/CM2AH'%$'^3"CB68<>[DS!)C787V=S,JEF*;\N'E_*1G-) M^4FC\+)A6KN:9,FB!@]'$((*MNURD#WYR)&U3_*G*X%7]8\U9@UL8XS[<3* M1PP_QO2^[-=8VT2:@M9=G) /K9?U(+Z%)%;?*9A>,T5 DV6>9<+C'GNR9 &S M+'Z3Z? F'^<1"]$'9Z;Y ZX."*(QDM6-2\(;7BCD44W&D6'XHQ/^="*)X99'7[/TM,QK/*SR MOCW6N"/@M';WNQ ?&Q=H+T9Q36O=.]1D6C4=+FK-G=G\Q9P>IH[OKK4<" M:IBNM"(=[@\HF05DT,'3+A%^K9?%DD3SYE))F[-:T](AITW5KL\OEIB)QN/> MTR(R]N6[(IR\U<5&)$H3LK22^;G/M46MGK^N\*0!<')9N#2A7A17485M"Y ; M5>H7^=90ZN0;\7V\,@>J5R,Q[I176 X"YWR^'8+QK^Y+C4;B+"G\?/AI.=B$ MRU#T94#8VZTJ L2';=]UN/%BL+ "-YJU-2OH)R_]N"*W_^HML>Z3Q0;MLE"8 MS#[)J6Z4;+PUB_+(\+>3;Z9HG]1=^W#W#D%]T"0;VIO/;*:J_!M%/VZEV50S M%THY4^N[CY?'TQD*$U#=YFU<7$/BJ*Z]N1U-5$VV=''SK*$2E74L]Q,E\KXK6 MY&Q.BD;9.FGFQ^S2U= ()=S\O=<+?_G]DIJ\+#/[R?7Q$Y,O&QF^YADB_-T,NR\8HI)X,8-X;)[TH2 MC_&N]\SL7]LG<)$P'P6/(:1 U-^?W8R'0:?T^:*YZ(MP'"<1H\EUY=\#[>>I M7$-BF36W_OCU1MW>JLCV4F0S5AL)E#9"WT0NX>S1,QGA3/&T0>46O$UZV2BT M8;.U=FQ.5UKWXUDJ @*J1R'<5D][)BH:VWV@S#;\/FOND;[9,-!/7# MQ7?-2YSVJI)[<#&#^/EICDK8\-9D1A'WSMH0Q(U"R7(S%5L'^F9^RL[^9US"B-4K/PEV#Y$Q%;E^^O^;S+&FJG$QQR9V=O=5S M!@/AK-MSX8O-#W7VR5#U@Y3OD3X.XTOSA/C/WQ_<(SJ!.F"@>]NY^O!T;"$! M4KCB(ML#:]Y-;3EM[;2S"VT6"%NIMVLYX_QIEY9-T/ZS]DGL".QD\_MQ[;RM M^ZO0^$SUZA/)[J41@2Z%%)5*C)&%JA$XS_[M1>$&ZVP2"?(0VBUM3G_*A)L= MTD="8@RSY??V$66>,%'([4WBGSI;'CZ9XR>NMA9I=:P3TQ24W33JR3_=6K4J MDG4^L<>;'Z^_H'Y7>Z,Y6QE72$%RQ#]RWN.5V?&5. =._\('L\!$GJY)7:_6 M6??$@=D!12NE7IQBB]JHTADO!NC>4O"F>BU[+4DFUB&@-^^YO#0]WAFPV#AC MNB05#&?PMC:9)+!_T6I$OA7$0&7"W\.6:MG9%<&38;UPAC&U#=M*Y$8"TU?# MDC<1/K;#"8K[I;6Y;BVG[>,QVH3*1_R)J31=A\[?UB)3J^HU:#N3%QOW:+SN M[3=LV4^>4WMD:62_9/:.D\9Z^@5!W.D!E2BPN%!\FP&+_V1>-K,^C@2,(QU- M+7.],YS1.UQMK(QB4PRGU<,W].Z- MGXW8![:[5Q:.*%LD!K%R1AWGHXI"-LW6W></F.BIMZE]:< M?WI=[7#JK*50"I4U!_WA&U9^ FQ)(HQ6?KH/VSAY9WJ:SOJW+.E8]T5#&WCS MC+-8XT_1Y_HXPQT=REU%RO="UX25%N4IVM/P]1Z,57/L^&N1.]Z MS_?\![8@B?L);5%LJ:F/XB8=+2D7@+.-,O*"]. M/Q&N,ECV25QJ+(6T@-"5;712& PPO4X M;!I5URH#F:%,_TE#PU$YSGQ[G1-B_8>:0&9FS"INZW@_-:1I_A5^U&VSFK2M M8R'CZP">O\3.^=N&)V._3]$6O_S6;01T84S%L]9*+JQOO%B&)9>S$?VB@FKI MO0SSC@ZZ18PKV0"6B%D)T;9VF082V"L$E[-?&2*!EB(EJB.UH)/[<\60TS'0 M1*U/.1*84\7JNV!Y=DF^-PZ^W(S:UF[]I8*^ZDV6<17FN@6Z.I;Z70/-43"^ MZ@];^8B.QN,HQ$4ZN^F0%F@BX3=;D#>Z%UU(P/LE!=?Z]?BMOX]O\YL.AFCH MX.]Z6;^/Z/O_4W!#?8^H1/\/3\R@KX,N6E'W&T3CSNXA 4;(<]3!(84$Q'GF MH%%>3_9STQ;*@(T&R1S256VG>]DAKH_6JEUYD< MN("=I&VXP XSL2;WKE!6 M?F;%3I-F)(/R5?Y[BY35[Y\*PH_S'8=,0@:K Q%EYP4*Y+ER/A M-HH$B)LD>,45">XB 8>[D$\F XLE/DNB-B7._J,,UJ <44EV(\]R@T(Y&K31 MI#S1REQMTQWJB&*W36ICG'/HVWYG>SM'>T?NO*OZ&_DU4;("$GV>5@@AV$S+ M,XOH^J,(323POK@'P;2N9"1!.]U5,U$.[RZ[W\$F^IRF*VM@WUS@DCV:P8/* M!!]>J9D (JU.Y#KQU):6:EE# GB+!>8'&8Y MJS=;5SX%+G,G([8'A:0J%60=T;,V)C$R1) %HQ^^:)7DLU_R M@G;PRI5^-"XRS/H^\0I59)BL\HK=D(KQ9J)*6_946KY4"XJ6BGZJ,W!@=F I MU9/5G&7#FD?"?F9D?7MWAY:IAPX(Z20PN)K\48)Z4M5T4M7H7%ZAPJ'#!R+Y M!UR#/A_0DI>5EL=#_"??8GN^Q':-1$,TJKNB"W4YRF-=#TM8 M(""W& )('FO;L,9;A$:I0WP$^O;.W;.\X@PZ[YSLK"D')!!A_G7?6!'N;4[" M41#Z0D<^[\10Z8=A,YY."SG/ B%N0FKE&DO]8[M?A;$\6X[+N$7I3^+I,&I"S0 M]Y" MO(E4$S7R9"-;>>_U:E0]+$)P5M')@466*(P\#WWM1=VSZ:Q TGJ-W2BQS'I* MT0=N/B^%?S[T10*UQ(M5.TW&"Y?%[EHE=:+A$^ 2EL<-O.N%L$UR5Y:/[!GO M(17SH_.!ZV(7RI152A( Z5_:W>M%>9W2 E4]#T.)$W.DNXH>DQU".EHIW:(4 MSQ**S$^HQV::4_04$S"M W2^O5O:9T3P? 6'\OP$CV\F$"$.3,HNKI3'O-^E(P%FU(*E")RGT3_/&^:?0 *RYR_6KI]WF.J$,&^NK-*/GC#!G/+07_:(-[Y&H)$ MWA0!F3L@38/%6((/$:A%E]<;4+!;"5> HLRIQMM!&JD,+Y+ZTCH1#'64WDJ# M'I*AK<--KG\JMOY#T8A-43%-?;04LK2DW!@[\6/BBCDYP&4:"0@<&Z:MZ;DC M@1L/*I$ >.\<3_%,AB?M' E NI6,R$TS?(M.GX)D=:"?D, WF6(D,'").C'H MH_X0NEQ6(4M<3\QR=I^#,R8-P)% Z_+U3V*QFG\X>[=2Y#:W39G0WVZ"_H!V MVIU+;III$O[O[;]D5_-X8-;_#_M7!W\? *UWX'D_U;\?(-WE?S/ _P[ K_XH MVY[* ^[_HE!> #*/?$O1SFTN+07T-1KPY"!2X1XU)GTL3\2X/C-0'"Q MJH&]U)W*MTF'9:B.*-0@L=1,5 $(- #ZZA8H)#HL(>>BO(*5=X,IMW-G^)_F7,Z]!6J7_ZA_ ?5(O=^,T#LW\#\3H,0WK. M?Y&6^A,N:LI)9-^E2P>57*^Z_^(#5N+Z:_24]$EO]=!Z[+S\*W* MVC/HQ_\*Y#KF<7Y])W<@5&>A4U=Z12R>TH5S?6H?0+>%Q6X*#YG;(XZ>0QCT M[EQ/NO)_GG02[X]%W_DO=O0B@:[QV#N774] ?=3#M6W_-ZV\** :T6N&(VJN#1P[IHY>\+/D/D8"2L .D;AZUO<>W<"C>MK1/ MZ2IX$705&UI/%-6D:U-7NT]V!)'*Z>;:?H*J)$KE%FSRO(OA/,-EQ]KQ#8T? M959?7&F3-(0C #QF;#>*3L@Y2Q+TZC,2&"*&$NH._/U:F^T=Z?7C'*9,WW_= M#;FSFZ@ID%G M/N+[,*JZLAQIA9%LH1(%I5ZZ8? P%U,)>+N9 Q'8C-I?T=A;S\8X3O3BD, S M/=2B\$W0AUM$OCPI1T0G2%A C#?T_VZN]6_6QL'#G.LEBMO-+'^Q!OH;-H%G MDUT7DKID!5<).9!!:!YD_CX4"5!G77+)(8&,,D4D\$6N#,$CQ>2)6J/2WXLN MV#]=%15I:Q05\K3[/>[CQSSE>7ABDH""IY;V.[P:^+W .G'PA*LP=BA?XSCB@V6Q!OJ!+ MMV@P#*OUK+!]5"-"W"?K-*H+CCL6021C;6&9S5>N*6%N=:HBSUF));'US4^F ML*&YV&CI_DUS^23]B5D0"O#OVN!R.!@%B1XRCP_9?Y56L%XQ8?YY4ZWV9#+U M$W?@_88JMG?O'Z+-@; MT>6+"BIUS&;I4*;CP# TE&G];5LBR&!OVAGZ'/P5L1OO2EZ08II&1>WX6K < M>1R3W3)QG%JL38<#^%U2SS!W8X3)[N(LU7,B6VNVMO/Z#="LGM"A!-1 J^A2 MZLHK0G\;\@]CH(D_QKEVH6AACJAKD;4S::]-<&/8BFJX 1U7 M4FZ2ZV3UEC67;&O82PKV(MH^V.]7+_>C,C2+^$ M)6>PFGS'O%G^7R'^G?15N<_*8H:1/[=T&>G(J]*DO!41),TB;%G1]SY4<2%V M):EP?11\LD)O*V9P*9"O)D,OMH4N[[3-'7$^1 "U2(!,ZH0OJ'7=2!&.9HM@ M+M^IVK Y\E94DGNG435R*UHCI?6C-"9D3F0C04U9RTS+IW"$I0.RYFZ6O:O/ MY.LX]:F-=+>1*&YV>GL*T0D[O2((09MJ?<#]T$XQYDI;W=[&FIUIL>/B9@K)6(VZEDCMB:KES[7NN\9U M!.+,G\4?IZ+Y]Q<+MJ^3=HTLP:/-_B3J2J[=EP-S^T!TID("2("4<7Z%W(DL%A0ZP,: MZ8RRA^19]'C4'# ZI->:]>ZMBS&NUO=O0X(1SN-G/KUK*K#(:EN3(L99Y\K7 M*QJ=:+03;Q78Y-)557+,!9P%2![+D]7-WH0Z.%I:(P%_? B"/19Q:\<5X5W2 M"GMMBZ)G7*=X_63T\N,'M3GXOG9F_N LHJB9C#5PEWK8IE=TW0V+G1F;3I-$WJ6C( MC$7G#Y@*N!NNWQUY_&^>B&%L#OCK'\APZV?/70BL9\U#X3'R%!M\B$@/%HJZ M 8*S 21PWU$+"=2 +N@%%XKJ__G&J\]^H4RY_^+]D4^"1^E8V8Q,WVGPAD>. MA!HO]6L:)0SS, [U9V+*TXQ 'L^VTZ\DM*BK R-=SFQFHTGPDZ('6R%=5UQA%ZF/C*&([YCQ M+30U@J^:_*TJ;6><[>JR:PVK!>0(+8=G/?'E^)35)1\QJ-?%56G9^_,*(> M@WTJ]1-^E5M=4PEA]5OAS8Y'>T8#XYK:TK$HD/X6&X/S9# $8.VWHVPG=M;\<'[K+6" MSX>>WW]_UY31P&AD3YBB5,Z=RSO"SL@!//QZV0:\,THX+V_<2==!Z7'GHR)B MX%7O>:DIOUFR[13X04,WCHSVYKB+VKD*#S6R1& I6#PH0EX8L] MDAY((+MM &6'=Z6_41F.="ZZ,R1:SYY&C&EV^@O,RH,+ORX'+-XL&;XD^9U MK)G 7"I+,JQ2S'S1VUI+>C'$BB,SRM& SJZ0R ?KJ1=.4:4-+W'\,=^M-20@ MG@?Y1EABG\S(OY'\$7+6X.(=K-?S(*7S#%MC89_)?5DC=IN"I?X']@M6 +Z1 M2I TH$!QT9E)E559<9 9RH?/&"-W *_?):7SWE29MS:OL[S/(+"Z"D*P^\]; MF\TG\W2O^XP0@CE M,BQ]%24Z5K3DC7V !#3JQJV6*^+;M<1=\7-F#CK1SCW61(H8W>YHXX#?Z%Q< MY=*@TB^G@;.GU793@9]NB6:Z0D.5M&9_$9U^AJ$U&^37]# M^U6M<13XR?[F]3+^NNY)_*<&D,<5"\X3"'M0T4M6_/+MX)U@U'14G&6(]PL+C3^!XU9?W5$5C(NQ>+GA$N6F MAMN9:J@!32$W2"$J<8).1@:41!&OJXF;W=G>.)'9?:""SY,^T:*!H.V)W=/9 M/,/7>"D^(8FV%19\C7]=%&N\^VN%N AAGS!DZ:AYMT-F**Y,)(R:_9-H/6QS M=4#1$U(%L902B'0?YXCM-5 477YE2RI,/B[X(,C6D6PY2;Z2K0]6LPZ'OND@ M/<5/,8EKPBH6Q9^0;/>8%H><>-C!>&NPL6+>KK._1FW)&YK5Y4IQ]T5M(."F M-98R6'\3GP_Y^&)]57-CN(S5K&ZD<-]:F?"; E3925B"VO,SD<#\"S!;%WPSSY+(_BOB5;)W1,:=FFPD<%L.\4CQ_ *V8.# M%^2B\" #\:AS!K* !/#Z,Q.X>$XL&R_[6=U4$%[5A(4<,N@^RU M(9,G28,:38K-[$^GZ,IL*3FCQ#CM[H-V"/CJLR05FXEXSCX^8$2LP_,/8B^S M#DH(%:4;AKUJZ@]6:M(0(GMWK6$_P#]MNL84*#U>,6ME:53?=^+J5=PEZHUZ M!*X#,WN3A@Z:?DB;!L4Q2:BIBU5_6.:$B9WD*3TMCHA>U [[. ZZI?VL1#P+ M%PIFW8\Z,0'QS2LPZ3Y\,3I!B*-RD&<33YU(7"\:PC%CNZ8Q^@X;\S$F77KX M:E%R?5JEW((+J[[&S$8"V'2TQ+@J^;*BE.M(!#>?1?*[_JB5=4OO?;E&CO.# M9D514#K.!U2V%ZWV9&%'[HZ>-?K\22P?;S&J/$$E@5%#QH,Z!U'M+4O4H8.C MW&Q2\D$[7%,A5@,SS=7VW#@(S%;7]2]J=O<^D-WU'_1_;V%M*-TCHWO]7N?+ M?_X7RF/3KV7GC$D(TMSUMJKAYFF"]AMUZ!.\$+I5+[^@/W MJ#!4_F?BZ(%G.)F>M=I_0B M'E>0E2P_UD71MN)LCZLYC^HE$.GWQ;#,#HGFTOG%8:[+SU^\%X72''4F"M-8 M=:,CP.9J-T9'NBOS+?B2J@5B"ZMX3L.^2X63FS^.5)#$5__@0HR;V9W*3 MX^D0_W@ZOCMN!GTI=QI5L9$1:LCD?4910O#'^:XJ&>V7WL-3[7Y[HX6HHIJ! M9)./T!U\&7+P'"P^%V&BH3E)LK=GZK*T]J_W";R;,;"<+6'>LNM9A"5\R1%D2O%50O!1X>< M[O0R:ZT%\'XZSXNTOE$G)1>::,;#.>@QM_O>)F0O2VGX^L[]P[E1A$D42NGJ MR!P:W_GC0/O-0I_I'=].M_YG\C5O)3E4KZT@@9:(:SN7ZZ-.RHTWI3^!_!FC MFU[EE?_H2#%:1@).XR8YK&&>=[W\F\M[CGERYO=(\@)Y7KN-#TW?*LY@W.C> MVH9<',<5SI8@,A@W,YX]X<< C$Y*EJ&5:AXI+\-G'ZA'!D"JP"BTH%]>A(:V M)7Z:+M^6.PDZ!B=F[1!M0KB4E*2X;DJ?W+]\AO)GZ%='YAU';@K.0#RVI9N2 MHJ?\'1(*VSKE1K\1(3J(R#OD(2.M_WC.,)'PRX+,6OUFUV'^>N:V@.%$_+ [ M&T?);L:JG'O,JZY+5J(#["HOI3QO__:$;]P=314W%AERH7=:4RT%QY7(OC42 MY N'JTLMHLJ[O)" FU^ZX@F^KOT(#=/)" V61W^9L'E6,"4.;JT7NV3@EXH M4['"EU\S(CIR[.&@25Y3#:^K-<9CAPR%^2LL%&SDPHLV%W@&Z9.Q7GGGLX]W[G19G^H-@_=.PZLXP8<&Q MAO!*S;7^<$@M\3GTH,-$QII5KG[05W#9*;OFPY1NE_T=;H=.AQC)#DW%?(9H M7?5083,OJ9R?VOW6)/)6V=Q;WV6E.V60@/!XX1/[1H$((&A 0D0=NMRC%FK3.N1XY!&;Z7__$$VKY/>' M:-F,:#%V(NMHEE6PA #6XZ@;>A8CZY.EE8Z$9]7D%];?VI6$JZV[[ 26DQ:# M&/RC=[0G38.YO^OC?\_8TI+O."+1QQ^-GSW=WH[X_&#._JTTOHO/C?IQ9:$2 M3D\6RKV\)%K1SHNM*WK3<./,!3OM,F&">5MT/45G LZ!YAP2ZW/-YIKC MT](\Q?$F$;"O4__-4VTY.8FJ]_H?2_OXY!B>F(1+P2T4Z0+C,P6@L!<)%-! MEN^$S+UC)?3N//B9$'=A%GK@E8]5_-&\]XW<22_1\5WCF$?R)<69^\5W93Y% M3=J0&F62*0,;A[P4T?VOQN :%_V?MCG>W+TT7HF#S@TDG)@]%X/,:PS4RD[J MASPP=*B-YPN[K2>RTZ3FN@,0?,&.5";ZD<8D6G6,\8 (?8N/6G^RMX-@QY9M M5,NK\=U!!]6]:?LJ W]?C=N16,)N,COC]V(W17%&J[8$3"R;11?=2!Z95-1^3,R*U+%R MP,7 80A?5K84)?(F>I9TL?2JLB&)96_[G*VX5OK>1_8U31I?-%K^[H?"^RH@ M\@[/4@M7BOB6%]15:C4C9-9SIM+!W]_"-;MD9\\B2LVIKTK&ICV*57395K?N M: N-<"M2/72*3/LR)7YYDBZ5,B1!VDFJ)&4!U//!?:T@6TUS/#\,*O=RQ8:.AN_'@LN)2, M2MDB=X5%&[2^OJED>T?Q6+H4KG,CI8[195*13+/)6,BEEP3*D_'O'TSK=:5RW++4$'R09M"N*B[RW2V3>)K9,C34Q>^_*+ M./I:],^US3A,2B^]TYY]8:OVS6WG9^M0*>Z/+M9TXG!XKRS,/4_KK'=*?A@) M5!PU4TH8W-EYM":_JL!!-K:8TC-GKF.]+F:K5>^]3[7+(^0M^Z-WQY;\<,>1 M;>6R'Y=?*#.$*^!9+#1:,I/3!@YRM;5U=+3.-V^(**FNJN6P-Q4P;E<(H3?P M=<6.]@@G[GZ0$_:-$C:;4ZAG2\$)R9D+O!@[&W&$!&UPQ M75-7D3 H*)66]^"'I?8Z MJPJO]D["N)"^Y+++J RO&8PPXMEPSV',+."%8M MZ]TT:U/:)CZ0,/:T_QT;$2F:4!XJ1@16?:QJ/']>U7!)[=34%V>6V,O+$ ,9 MKRKFIK04!SOL>2XE%CF)=G/O3Q M[T\NHM;D;1Z6>UZ_[K$"O6P[Q\M1=RX[OXDJ(EK [PM55_8Y7\/2,T.WFFYG M36YJ23:ZBB8:YD__/$?'W=M-PE7W?!UB("7JEQ'OP*WNG;5NMZE&?3R6]\[I M^]:6W):GQC;641BF1>]E(LB.509_MI3HQH;]9BISV//!-^-K(VJ#$GD#3E-L M*XXAL6YW/^NU)ZEC])N5I)%OC%.KA^RR'F5BWJ Q7M3T&K)]]-0H&+R/]4;2 MDCH?/92I'] I1^7!A"J(YB[$.]3:O+ZB5?SM*DZU1M+^[*.*;DVN5#XH$>-B MI*"8L^F] ,[#"?\K9GDBV7%APASSV;OEPUFPD^J*@TU\-V>JLJ5;/W0Q;@$Z M_J>^1QT.)PC\UL;A-RV!NU_U5F_86%OI&9Z$9(9_6B8P9*#M'K =73J!^^[ M?=8\I.U3N?H@]]Z%OI3/R<>3AY2W#O(V1B1T2P[Y#Q\-+0Y%' M%O1,< 9W7M^+DI*=N"^A,^S&-0$_9_D3_?PTV/O;&!XUV@W0YXUY$15LJ(U( MLV]SY-;&4]JPL:YR<#]X@ZG]%O!J?_MU/CKEU<)2-[3-4%X;OXQ[(WJC&&N! MO+NH]C2$XFG_Y]NIRTL%A21NWY8N%;5;:ZMO#10JF@L;M?C\.-F-;-TSZ@0+ M\E"]X<#\;IO/3:&NIN7'Z'I#T/Q4GZ=JG^E-I.QA^$FW")=J)BQB.@EOL\?3 MT"&ZB^#TL7:C4 =I9%&CG3[K>PWC9^0Z!\S;J>S#BV-&K<--X!/ML P'J,+I MG8FF-BQ#6XS<0D!1'T)RBO.B.4?RW.Q0J;C[]))TO=R/9?9NB-,Z-X3<8E(WP\6O=V1P(.X"M #975%=EFE!!:(L0/D$!#V@50 MJ(_/!:%F&I*P<7LH7STN[)AC/OE.W%([I*:'ZDU&IR")H&H2I9-Z[J2;E$Q3 MLGCLRZ'BXN6FUKK:>%KV\]V[;C$_LW6W97X^@#W&>4GH((HC+[C7<4)M4I;S MK$![4]W^0QHDFXVX^<'<6%\EE-!%5]1:?$[V<8P64YLIQR"X>YG#+C?L M[8"2[@ZT[=*R7TXEJ7=GFY6-@)C57INGC:6)>64:(^Y%:O77ANWH$8>:3I9Z M#]Z;G"(%OG&NBJ@Y[RV':":ZGO.Z(TA@:4H9"93]KV:N,ZJI+0L'04-'I)> M= 1"#TB3(D5$'KTF-!N$2!/I8("G-(,T 9'>P0"AA= 4A( BCVKH1=JC2E- MI"23F5FSUAOGQ^.'/^;'7>O>M<[YSM[?/ON&LR/3W(ROLIU[^B<4GM;MKW(Q$2@#"6,UN_>I/8AB./(U9B-J*J5__JLM.[XUZ%2KT"=,-$IBY9T&/MJ M >&946:O:\[DY,-.!@DQ8>9$A>X0[G?H2>NZH *8$3CVZ9/='Q:=/A>3KWRJ M&K,8 R9I@1PKYQNWO(0)^XHUG_9:/*1F^P+RVC+8B" +6?2&-C B:R2F M/H'I$-$9W%#L[;G=U8?-&N6X9*^[R^LJX%UC$)ZT1.,Q['@KEI=]0W;0SO4\W="]"$U7<[*S_Q\R\+><$]*UMT= MO63"2F'O9G<.1 +,.N M2^XQ(MWP7L:^'19LO@,_4+W7D,\#+3(WOI(=%Q,+=!%(WZ9$6>P/4$#=@C46 M>]'EA(K-.TV!]F[J3;@[0S- M.<_)I+*PQULROI0*VNL"KSR#.%PW"8&VU:JDL>+2OD#%FUZ)J%C"51-EQ0D, M&.K>(@9>J/*!,/I.0I>A.CH>1V?#6]M,ZF%CB#BSRFK6AX$,SD^]0AC4K@1WV5%]7T,K!'VD^ M[N!'!_H+T$>VYJ+WS&1=Z:#Y.G MD=F/O\G3H^@_*GS#PVSQ1HI:XKT(*:VK&AH(.KR]WMN$,JA(/'Z,/3W-=+9] MC);=RI!##2;#$RTD%.>\RUAR#I/)15>JE*; N3#1C#F>/EVO1);-N!L_\'*P MG9PR@#..= MJ/P42%M^8-\81S,T'Y9<^?SU'GEFKOB&%7]^O-!;,YNZ7;6\V MOG)OBX(F81:8>S >5[,(1 MWV6:O2@RHQ')_)B8!E=(UN^,^/Z0I0&1^'OWJ_TW-3'3G8I-+XO_Q)\SB@D= MOI4#BTZ=-M2,MXK&!V=QQS_]:DB3:5+/;@J,D>=4JOWB1Y2*=@[S-3)5WKP& MZD6[@=&K ;[34[VEE7UQ-^.$&S,UU:D8Y0MS)/[$=6:K;FU!W2!&*U[RR^+2 M=LYQ'($4'V@'EF_223)\:*0$!55Y]G:KSF8?L%6_X@FL/RZ7 ;ODP;HINK7)=ZU\Q]/$=@M-(7L#E/"C M)ZI2'J]G1+;R742+O2/%\=:CNUN?H^YS/=2BO&J6;%CA=&G5NEF]0=.Y%=&( M$60<"AKL5:3G8>#AS$C,HH_4,&!CY1,9\< H;KR\CS(LF<)6-LJ=*V'O7_(C M7@ZXZ#L^XF%@V418P27?Q35 ;?'^.Q,Z L_9@)KBH&_]\'6A9D+E(PVH<2L1 M_TP_Y0;6EMO,B^?=ZS4)+JK:YD9\^]THJL5$?3E+F_G--R4%H\'$BM%T!G![ M?41HX^2!^*&U0>)3:_\Y5Y0UY#/*S\&<)P;"@N!V*GA7YFAO5^ P\NENFX% M\IM?PZ;91MM]MK8EU')*R^.WYE'F\Z[?+9@FSC)FQ*T+YQ65]T%SJU8/@ M:Z4("?=>--)M?')"@^!3TJGZEM+C-M?#4JFF_I&IV9+,>6SB*+A^*LRO=9E@ MWNT]#&V1=?EC2%#%^76@Q!PO[YB*SR+H_O8 QX619+>YV-O'5VD\!0:2;_.W MV_@Z'Q,J%[-],/FM)M77_=@^SM0/3KR&X#_*\EF<&%R(UR+4[41'827#1(U M"!N&RK!\J62H[5M#@?Y% 8;O/%X\0:"-&!T["I??IYGLAVO'L" -16Q]&H3; MZ.9H2"'0)5WMVP;A5/(J/3UM/MV-D# ]L,#F/NOHW(',AM-74 L)$(H4L'2? MK10TKH#UL$3K.UM%S.U(%%^:26$0C,36._AK2+PWK6D=!D-"-*[W*F@_VLIC M53&GO1@\:LSZ3'$?=$]&L>6-TOM;#<-?MCQ=FIFA-S:7>BXU1Q;'JF^+K9^W M&PFU\46_0[_WN>>>.\7OJOP@LW: ADI3#.U\OWHUC\J*-M\2 -0Z#_[W?NSY M7O[#70()L#&-7-4I'VE189;:/^]/.ZS%1J$9N,5+6VX%3F*VKZYZUL[N/QG] MO,+#*P_7&)&?C0JX+G>I/%5:@Z+*OQ+^*GLVH4SD(&L]G3J!T]6A$X%2YK^9 MW/]UI:-A@_&8->\LP- ^7 MOC?JJ9][(4/D9(T%.N#+(G2G5U3YRC<_H-!LM>(V\WJP<4.NEXLBG"];,7GJ M DK.24[I1O0()Z--25 E2+,;QV[AT"N:>^>X3]Z(#NH&9O:8GYV*=2,!8OA. MUQ_@86]VHI**UTH="7Y&W^9_%&!##"(YB;( M_PDC[5=I?CJIMEUK_]Z5*BC[UF/G)!Q_^I_]!I6N)$ 'HN*T*FB)7>&]NC?^ M02G6ID$O^M34]DAZUFS\67*-6RDF7S6" M2F-"P87Q4%C-(#YMYSIZPHY)57: )I'WAT=NRY<@B#$Y3W'GKE<*EJX+_-C< MN<9A[C"5)Z@7OS1ST:(_M,&4<__R$FU7\VX5+D3(2,V>)B?04R1-S;M2L9H< M% =H#*@?$8AS*<7F-X=HZXE5)..)_@O"*[^10?7P//5D?*UTNA)\??.WR8L<[ MSPKS-)&H:($^XL-(1V#LW1N&#!0;,$UW7B1BNF5]^DP+BNI*ZW;KX,8/7C%& ME,"5$F&03U"MX:LY%BRZ7!GC6>?]VSF7J_?"=(QY8#4CX*&[KS[.>PH9'%>\ MPP'"7A>SAJ_N?>:"K8TFZC^:DD0_X\C8VVC"1==]BY4&F%.BZIA;2D((=[IP M3A/D+E=YEW"IWXAZ/\#U6$=;=+,7M3D3[XI[RF< MZ UH5HZRS'&S%XRY>.Y#>_-%A9K&/E]EFTN.3C"'@?H^7X4^ ;.(-R]KVK_( M!UM:6@#0:?R[F^7(L7P28#"-[$$0YB^M6? M*CPVMP3B/HH&P/H!05SC:?<[PBGF**SV/K/.P!N"870>5"3 A _L'57RBD]< MX$=%5_X.A<:041$R*6/O53%)I5WR7:IK1Q9K9EYB+Z':S27>7,:2 \T]W3].FW*0FUWTF.P MFG'BWE7+SM_I3Z1C"DW$F P_-BA]9H M%TY%:Q+@Y/)C:7*^;.:_&>@KV0'<"%[2-VB-<)9:E2"&DBXQC$D0"KMJ/('2<9$H#%X$2 3_*?XMF1 .]"VTZ, MU2*B]1&^Q(L);&3SUU20I7SK1!1-.-11M_FG9G4D0.0/Y.$K+910Y3W:<745D!_-"&UF/W!..7A( /^0MNUHY\'--S7GJ7:=3.NX!(MV? M),""&R5CW#19':$NY)X40O-0)IV<61?^W/ZSLTD%Z"S _8S_,W;!W!E$'[P M8CL;67J>/VO]/]5NSKDLHT97?J[,_[,,%&_F4F3&WY>ZXXSN09X;_,QWX=4O99 M;%/\ZT:'_T<.PJ\E'D)( .$4O2-C$J P)RYW7B-^-GNG[0:6 +Y?WX@R>LNU M*+Z1 4.5+WEK%]2&H+ZX%<1IL?YT#^S_^4&2)OX!4$L#!!0 ( /A;4E1R MX.=YMP, 0? - 97A?,S$S,C$P+FAT;>U9WW/:.!!^#G_%'C=-7VJ, MR4V;P<8SI*&$AE"&'_=Z(]L":T:6?)(<0O_Z2K8IG$MOKG/<04J>#&MK=_7M MYT\KRXM50GTOQBCR:Q>>(HIB'S_]<>5*<%:'D#.%F7Y:88K3F#/<8;SNUSR[2-D+ M>+0&J=8T'\Z4M4 )H>LV7/Z9<>7.2((EC/ *)CQ!K#"^@=S\!B069.%"/DZ2 MS[@-3C-5+J0HB@A;MJ%)�#F$NA)F07+0!98J[)H-T$S9!8DF8%7"E>*+' MN*#PD[(0)4O6!D&6L799/J1XFC]QH%3K_B4+9.IZ=NK7ODE)1TJ?#A9KW[1T M^0*_]Q23@"AH.0W'LP._FLS!XF]G54F&XH7)93\6_WWX4#,4BP*,Z?QF.K@= M=">#WA0^?8#970\FO?Y@.IMT1[/CP/,UOV,!E->GL! M&$SI$=>I*5F74N + M4#&&]SQ)$5M?_GK=/L M&+;>QE\+S-> M5SR^KCC;^LI=E5PP/W>84!+!RXSVC/0B6BA,5JB,B6VKZ <1>/?VV2+P,1-$ M1B1O'HRN#%C(13-R1I'_(OMTI M/TOJ[9_R"XO^!:3CH36?ZK=7MRTL?U?USF(X?']6M)HS8EJ>J=*[+?DW[#HB M&>YTBP8/B&4+%"HMO6QI%+=QY/)4@#LEP*YN80]F.;-/&K(7!?MA!1-<<1BB M0(\>JG*+AR0Q8)^(LE0K_U-7?*ONT$^"N[-XM?M8: _KT^Q$=PHRXYR:KNH$ M"O,5LE.":M.#WC1^/W:G/L(JQH(B%KTTG8=N.ON-^_-J.C^B%+'OJ%--7\WG M\1/X3'\^X3='A'^)'Y%'""F2LE,?=J<]%9V.;8V/?L_/3["U!+ P04 " #X M6U)4PW-21$@# _"@ #0 &5X7S,Q,S(Q,2YH=&WE5L%RVS80/==?L='! M:69$B2 =6Y9HS:B-[,E$=C6R.IF>.B"Y%-&" . MM6OSQ)D;$WB-K?FX(LD M["[VO5TLGI"4KI+SI$2>SX]^2IQP$N?X\&?,XHBQ$7F3<6Z0IAK8WC$@)@X^AT'(51!(Q-P_-I> +K:PB">5*AXY"5W%AT M%X/&%<%DT%L5K_!B4&A3<1?DZ#!S0JL!9%HY5!3M4&)=:H472@_F1\FXHYRD M.M^#=7OIMRL7%+P2-KKAZ/01O&8)%(XH9^&@K_L$IL+!V M,ZAYG@NUFX9"P8@)-6MQZF>3'W]JM)M]A= 9OPM3<;,3:@I^X?#!!5R*'1F, MV)6.0(]5:NM9,J[G1S\$/TGGRX=2I,)!%(]8,D[G_S\9B<6/[$5&0X>F:\:O M6EE:@B[@/8U[C?1!RPWNA*4@N@KK)I4B@T66Z48YFB&X%*:"%]FYOQKK1+$G M!A^QO;Z^=4Z#*Q&$RK2I->D'7>Y60 P6U$"5M2X?T36U#[AU)#05[;?P\R5) M ]P&$[C1=@1Q' ?L[/ST+1MVO\]/HK,(N,K]DM3G9'+Z!FHD31*J/9">012R M"%9:[8(M4L+WJCUH<4?R);D:PK*JI=XC$K3._J9S-217]HLW"L.P]_Q6>X:= MO87MS+=-:C,C.N=';@SOYF9M-!%8\90Z2I@CO^7?ZWTL-Z9RNVJCMS%CT7,E MF<,4A'5V,AF>G<=@26CI8,F2Z:HBG_44::T;0[OH'*BQN=?R2TQ-P\T>V*0M M,XJ&<"]<25&V)BG^ M4>IY:BVU,(Q54F2//MTSD]4^OPL5@LBE;7[^@OQ/I0 MT5XR11E:F3=:@KY#^0&V@NUAQ_;,2R-L@Z.>57/X ]2L1VL M5NN7VI!KH13RFD:=DOB%U8[_%YWOO3:>*'@&/8'VYP%\C_[-9>R!36 M7@Q6B]MML%Y<+8-?-LO%A_:AN:+6(S;%Q?]K?F'XV=02P,$% @ ^%M25*$P>UHH!P -( T M !E>%\S,3,R,3(N:'1M[5U;<]HX%'YN?L59=GJ;P1!(=IL"8287PF;;! ;H M9/9I1[8%5FM+7ED.T%^_1[9#R*7M-IL$@S63#%B6SOT[1Q(&M3P5^.V61XG; MWGK14DSYM$UG?^_4=NJU>@7OMJII(][]Q;*@2SF51%$7[#F,O)B[5!Z+@$)? M2$5\L*!>K57KV_4Z[#9J>XWZ+O3/P++:K8 J HY'9$35?BE68VNOE+5R$M#] MTEC(@"C+I8HZB@E> D=P13GV5M2GH2>BU-YJ55.!6[9PYQ"IN8_#0^*Z MC$\:L,TX;%=JC#=AC 2L,0F8/V_ JW]BH9HC%M (SND4!B(@/&TL0])PK;4!M.U1-<&(9"=D $BO1U!*$5VP?C45 Y(1Q%%]?*#I3%O'9!!M\ M.E;(\Q6WH[#9JH;MK6=E+]G$T_Q;=KLS\YC-%-1W*[56U6X_OS .A@.5*[3& M0@ T1W_0&_7@X\'AL RGYT>5%9M$2]2[Z R@=P('HU%O<-[Y2[\_/AUTCO 2 M#LZ/JSU]^^3TJ#-8C;0K#N;/<:38>(X2=(CC@1B#\B@D62S"#IC67"8Q_0@9 M >%N54CL,V8.WM:=^U(H 1^)C;Q/N5,I X$SQCF-A$YN0H8"DR/F+GBCZ;[Z M=:]>WVZVXO:1"$+"YZUJW$X::\VW97 %JN9123&5!N0++>N$A_*I6%'-'4@8 M"L85JFY3J>!0N$*FEM-WCPEGU(>AX\4!*D-E.1E$KQ4+RD 9OFHE8.J) -G, M@3@*IM@L8I5H_QEYN&D??2E40NJ67;34M7?-")2,4^%\,AW'/A"%QN)T;C&. MKD/2B> 3#,IRP@6PDP^AF*8\Q])74A@6;>L0?EY&>RRZ9&Q/?GR\S<$A('*88^B%2:56C MOIBFVA]PC@-@0-&I2A,^P0*% 69]6,@]IT0"12G1&]2A ;H)=FIEP/I72Z5/ MN@TIUH^436>&)9!/D#J:"NU1>[^SBW[#: L2.IG1,%;2%OQ76IO%1:0I2JK$ M54^T+DWS\N)6HF+B1[1WJ,7'PHCAYL0)A6RDENQ395A9%D\/7(B(01NP*$H\ M-9&$)U1BKDU-F+OP?'3E^OOB;\G[26#$&'?(:ZX=YJ:"AE3JTI_JK/O@"*2& MKD:31A&1V2\EUI+-'=IU) MF1*W=)E#?GN:Q92YRFO ^]]>9NQTNN5*"S![O"DJ3DI?;+W *;Q\;(-IRIJP M>T7X$HL1 N:Y/FV +B2%CV0(30X"#PQE$PL=,(2?VF^TRZ+^W"WOL MOGOYN-JCC/<&R^M;%%_?(G9-*R&5A8=^NQ0P^Q8@4.L0E^2 M*-',J\K]D:64"!?Z_[Z&ZB_AX@$:KZ7'CSS"=)&YK32^RO:* ;?.=C4H^@F- MTY2ZW@Z_7VL#HU5F9(.>]=;:H,>@QZ!GG=%3D#73\@ZF@=NFPZTO:91LUI7A M""?Y8^BD6W.7%'KIQE&R87><[2KE$9?K;'X#MB*!+;^U;?.L:M!CT&/08]!C MT)-7]"1Q5)!%U9T'0 S@-OJCJ%/]H!<+LC75">.$.XSX5VNJW,%PG6UML%4L M;.6TDFV>20UN"N!D@QN#&X.;-<1-059.PTO*X8)Z[#-(V"FEY_)1I M[8UJ %0< .6T5&V>20UN"N!D@QN#&X.;-<1-099& \(XE= E4Y^9KV5L.-3, MVN@I'K\S""H.@G):K#;/I 8W!7"RP8W!C<'-&N*F((NC/X7'X; "72'20UN"N!D@QN#&X.;_X6;_*]FDN?3%''F MT-6_6ZF_>;#*4+VRZ$J#YWHF_C"'/HU4QDO?$R(?/GJ888QSC'-RX1RSF_>$ MNWG'@A/?A6X%/NA?A/YJYH8;/3HIOR1K\% 4_C_/!D]EF-7O@QCD_ M<,Z#V*?/GKXYJU$]$8Z2)@FYB(=GL?WR.8_/S.^_S1*> M+=1-&?I>&=K"5WT*Z#16RV67X/@DBO9+'P^&(ZM_T.U8AX/.P0=] M"OW2W7[W9#2XU>:-+2FF=QOUV:70[YY_.KOFACVPWWTO*$75%NZ\W:IZ*O#; M_P)02P,$% @ ^%M25);Q?JP8" 8S T !E>%\S,3,R,3,N:'1M M[5MM4^,V$/Y\_(HMG5YA)F].[C4)S 0(E.D5,B',M)\ZLBUCS797ZUP_MHG<[<>6?':_3 M]CH-O-MO%H-X]X=Z'8YXRC6S/ 1_#I,X3T.N#U3"8:2T91+JX#7;;YKM5KL- MGM?UVMU.&T:_0;V^VT^X91#$3!MN=S9S&]7?;9:C*4OXSF:D=,)L/>26!U:H M=!,"E5J>HK3EDF>Q2OE.JC9W-_K-PN2^K\(Y&#N7.#UC82C2BRZT1 JMAB?2 M'D2X0#UBB9#S+KS\E"O;FXB$&SCA,QBKA*7%8,V-U@S7(BIG&?$7[X+7RFP/ M@EP;I;O V MSJ2X2+M:7,06-;U,?9/U^LUL=^,.I9]]JNOZ;SY7:0*XBXIZ6.CO^[O#RUCX MPD+':WC]IK_[\,9('CVF+P)$(->%,_:'X\GQX?'^8')\>@*C\_'9^>!D I-3 M&)]_&(+7877OU1;;AM,Q>*_#Q<4A/([GJJ9/?AG"V7#_?'P\.1Z>P?#W_5\& M)T=#&.Q/R$#O?>=5;0W,')S!X.!T-!D>7',O6NYX&1X5C_] M_OT\VF[ 'C/H1W1:,H>/J9I)'E[P6N%877@T5&A-JJPK M+Q@6"RR=0YY:G7-\"*QN$ER37,W0!B2\P,V(6(!#&E2"J1#][^1N"*0\X,8P M/2>1A'WDJ+>RIL&Q$(U!E9(2+.D@@4#H($]0+,7IX(HJF,4BB,'D]&A!TB$D5@(8=4#,V%C?$"38>U$VFG=#$U3(3[F%*>YDJWBAF?<+''3^0QN M.$0BQ9VA35[N1 U!@^)X6U?NB[2H8;%XQ>^!S$-<$W>[XO8:(D5H.8<,-XMP M1OB3<@FD<@_-BFK$:BAHX1I)Y!(%$#TJHW(<1XVS)V FADBJF5E 2_,+8:QF MJ(C18&%W1&%YB1"S,.:&M<\@68+D50-//%6/OOSQ7=M[VS,E#,HT1V14423P MTOGZ&)CF;E=QEX0O.7D?.$+)E\+$)$YB"08B"D9T'0H32&5RG$X'%:+^2G!(V R84M5F5. MBH3"E44[;[*JG3:\0\Y[Y^38]O.8Z2K8M$#*3_@!J\0?RX; M?ID<-4K4 ,.YA@CI\*XR(M2/'7K4"V[C-G5N*^Y M9(XY91)>HK]6Y@2Z*3!^HRU&21&Z?HK)?2-"P;2@!Q!%J> R44HKY8;2MPLT MQN5Z%Z>5X6B0Q;Q DS)&*,LEH_2"C^6,6)8!.*,H*JJU$'[S.0EB!L#Y/.RM M;C1^:@(T?A);GEG[=%CKKP]K[YUP;I#W_JGJWAQ&WD]%2-1D1J4.3II4CB:.885 2!:Z*5^MVE_LOR@;)<9\A@XTK M($ \.P-<)7_A&JT2B8QW>$81@D3PE%*0%2.)R##[/M/U^Z%K\)AT'4Z9S%TF M(BSS**(>_!11:&XY2UQ5OO?(K,7E[<<+QTZPJ<NN.*1%2%O/3BG1I>(!$ MKJ\=+C!?6\98"OE5W"W#+2'G*^K$&^>K*],8GK<N:J-',# MN&22"&LY_TQ"\Q46?W0_%&B?6V0+T8GYPU!^PD\ZZ2THQ3_E LUW],E3]]+: M;#_W-IY65GC4WL9 XOD KP5RAQIDU&H+!$>PEZ7358]AQME'JH6*\X*KAMQ) MQ[V56+2!OXI"93N@:$_>$GI9B!,-OXJ\=]*M/!_A%.0, JY6%&2&/)(G^/SH M"_0O-A@#55I#'LUQ#DW&4JI(E[95;RJ5:4)"*=*CGE M5)>D[*)\\Z?+Y,:33*HYQ[NS6!49C5UC*[+K7RG:&M\[[AWLJZAO];YAZY=L M607Z"FN(-(4!K]XWWO_T8-@_0)!UX9#[.J>7P=Z[&M!/XFXCQ!P?"2!SFU'.&T.,H^XV0-[7Q8 MG&R-BE- O>^5=M_Y,F-?BBF$$AFS,[FA\'9I#X:' WK>^/AX%?Z MT7KE[NCH<#)>&8NCNE:SFX-4V,'HZ.3\MZ4VE*!?X=_R@58TZ5?YN_VF^\\% M?P-02P,$% @ ^%M25.+%\S,3,R,30N:'1M M[5MM4QLW$/Z<_(HMG:8P8^,WTJ2V8<8!0SU-@3%FIOW4T=WI.$UTTD72V;B_ MOKNZ,[X8TY"F R8E'["E6TFKU?/LKO:=!/.(L.7K[H.^$D/^#7?W9: MG79K;Q>?]AM%)S[]KEZ'$ZZX88Y'$,QADN0JXN9(IQS.M7%,0AW:C5:CW6RW M8:_;^KG;_ G.?X-Z_:"?Q5+^?Y6K$W*7#WBCH=. M:+4%H5:.*Y1V7/(LT8KO*[UU\++?*!3N!SJ:@W5SZ8)PT5/Z8M0H0C-X4Q#H?CR>AX=#B8C,Y. MX?QR?'$Y.)W Y S&E^^'T.JP>FMOF^W V1A:KZ-%XQ@>QW)5U2>_#.%B>'@Y M'DU&PPL8_G[XR^#T9 B#PPDIV/JYLU?; #4'%S X.CN?#(\^,2]J[DW>:;8W MR)R#\;O!Z?"B?O;[^^$?"TNVFTU/E,?"ZR/3I5Q^5(,CI@27F9Y-$5KQ6&-85%(XW:*.U\VL$P]C,UAUPYDW/A#:3"2DR0,(F!F7 );M!FF%/1ZC1OAJKI M"+81SXFE7S%Y#I @CYY#A81'."']2+H%4GJ%=61JQ&@F:N$82N40!1(_.*$G' M7NOU"9E-()9Z9A?0,OQ*6&<8+L2HL] ;M:Q5$&(7RMS2]ADD2Y#L[>(]J&K1 M5]^_;;?>]&P)@S+,$1EU' ML>EN/@!GN3Q5/2022D_6!(Y0"*6Q"XB26HB,B M9T3M2-A0:IOC.')11LOB>#.C0QYAMX5M/,V((SR*(QM>XX5+77$8(/O'N40) MGY:^WN8[?JC/2ZE5- 7E-*J %52EM?"F[;-6+AHE]K.1.026K'YPPI6FMDU71M? MO'R!EVRSD)\2-$(F%[HXG7DI$HI6)NW\E%7U=-$=E.+*ST.Y[-)G5_V^X9)YYI1!>(G^6AD3Z*% M_XVZ6"U%Y*LL-@^LB 0S@C8@BE3!1R)%,^66PK=W--;'>N^GM>6HD,.X0(,R M1BC+):/P@MOR2BS3 !Q1)!757 B_!9P$,0+@>![U5@\:/PT!&C^)+<^L?3JL M#3:'M?<..+?(>_]0=6\.(^^G(B)J,JN51Q.S2&O*OXFOS$0+[B";!0N$%&Y. M*=6Z9)IY!A5.X!/12O[N0_]UN:$L-QDRV/H4, P1SUX!G\E?^?*K1"+C M$YZ1AR 1O*449$5/(C*,OL]T_7;H&CXF78=3)G,?B0C+/(ZI-C]%%-HU=XF; MS/<>D;5HKK]>>';B0(R*MKC$!#IW=VMPG]C/;J0YW=#BS]^$(5C<_;S#X84E M4)\>3?Y,L&^&8-&CQL,"N[20/7S)IJ MZ["?2MPXE\6SA8\Y9I$X]?8=0V*D+,:G%>E2\1")Y MG5%/S1BZ/'ZWQ8]?%T[6F"^ MMO2QY/*KN%NZ6T+.%^2)M^Y7-ZHQO&,Y;>Q-:N8[<,HT%@%/^8"U3?TR=7_F6VW7FN;3RMJ/"HM8V!Q/L! MM@5RAPID5&H+!4>PEZG338UAQMD'RH6*^X+/AOQ-Q[^56)2!OXA"93F@*$^N M<;TLPH&6WWC>.^E6WH]P"'(& 5<< MG\X2740T]@E;D5W_2=*V^ZWCWL.^BOIF[RN.?LF65:"OL(9(4RCP&M=_*.0? M(<2Z<,P#D].KX-;;&M#OY-;1X;-Z=QY.[7?S[A>J6*"A'FCG=-KUM6QH9=?P M?=/_ZY5[V'OS<)MHV,;MGZ#!N,EZ_0\B$1\8R&3=?R(=$PHI L M4CA,!(_A^"84GQ67UV=L;)B6#XF-[?/BM0K"X18P;B6SFY>A16(*H636[F^] M'UQ,ZN>#DV']W7@X^)5^QUYY>GYR/!FO]"5QW>C9[4[*ZN#\Y/3RM^5J*$$_ MS5_S@5HTZ*?Z!_V&__\&?P-02P,$% @ ^%M25)(/GN%K! /Q\ T M !E>%\S,3,R,34N:'1M[5E1;]I($'XNOV(.Z=I$PH"AJ1IPD!PP*6H*")Q3 M[^FTMM=X)7O77:\3N%]_LS8DA.1TBM(C2$5",I[9W?F^V5G/C&U%*HE[5D1) MT*N\LQ13,>W1Y5]ML]TRS^JHM1JE$+6_&09<44XE430 ;P5NE/. RH%(*$R% M5"0& UH-L]%JMEKPL6.>=UIG,/T&AM&S$JH(^!&1&547U5R%QN?J6LI)0B^J MH9 )449 %?45$[P*ON"*;38A<,(Y6]8VB2V60F"U0$--0HY6]FI=L$6G[EM=SEA'SF()VJVY:#:^W?S!O[(LW-N_C8:"RW(N^ M,W-'PU'?=D>3,4R&T/\RPWAJC&JXG$>E M@DL1"%E#-TK%PE4-4LPN.>$*E("M$"S3X#H$208D$*G.O-O#-X.T^T4(*J(P M)](CG&;&9!G3%=B^TAKM_AKJB2H&V9SGF*YG-,6\K?53*7"Y:^(APQ'WZX"+ M#C$C(SGC*Y*5Q;2093Y.6U$B@6+N#V! ?9H@*VB;-332,B',XWB%N3M)8X9N MO&,J*N9*^B-GDB88/)FV^,#OA)P"&C#/3H+3>Q84@5GB64#7] -%?.\ M_1$(#THVC)>%@UY*%PR$<82%J3O+_6B7YR-.A$D$FDJ:%9!P"HECW$:,;89S M4)XBQ&Q-G!/N:S':"%AA34/ 07E<\A&IKHQ0D3WGSU\UZ@?HS@X,J2=S(E<8 MWD64M [#'8IX,05/2*QB+ZI-K#AI'*_KO_O[+"7^YGZ-]HX%*NJ8S>;OW<($ MPZ/ 5:?9W:;Q88? AQWL#] +Y%A5OJN\PQI"3Y\]>_TWN?M/;)I9(U'66.7&EZ+>#F&S2M1CK$' M?5'@E,&R$Q2/M^JX13\5I:M?1+Q^C_8#=HJ5 =-9H2@3^A&C(18R6-0H=DMA M$H8,R[]_.%6G\"1U'-N%@VX7]H/U&!7'#N49L"/]$I\EZ]YD>%^VO+(W^9]VO6(% M[!;\F&391?7:GKO&U+YRC,N98W_5'V2WM-.KH3O;D46A(<7=4Z%.VS"]&M]\ M>["&(_0WYF($B $"PX! @6@D5P20() MED&#RQ ($FR0@P2"NP=W]Q#<@C.X,Q-L @/S.-]WO_L_Y_SOO>O=3]9][ZW3 MK%IK6+U[=^VJWE6_JJYJ]'?T"D#V2$5=!<# P !>W/P!:!C K^QA\P8 -#6! M.P X-V<$P(P;WX1W!###0&JSJ]?V[M8.[P#T/. $@#"P<'%P0;AXN#B@4!X M!.2$!/CX!-2D9$3D=-0,]'34=+2,+-RW&)EO,]/2L=]EO\W#R\?/Q\ F*")X M1YC[#M^=7R?! .'A$> 34!$24MUAHF.Z\]\^T.T .1[F \PF+ QV ),< XL< M ]T-L ( !@[&7P[@WPX,3"QL'%P0'CX!X0";'(?BEI "+J7N2Q"[$Y7P^YA,/ [%B@[J)V-P3I%7S@'X!#2T=/0,M[FX M>7COB(K=%Y>0E%)ZJ*RBJJ;^Z.FSYWKZ!H9&%I:OWUA9V]BZO'-U<_?P] K\ M$!0<$OHQ+#;NE_B$Q*1/R5G9.;EY^06%1955U36U=?4-C9U=W3V]??T#7\F9[[/SL%6U]8W-K>V=W81/XY/3L_.D3\O?ET7!H"%\;?C/UP7^=):4^ND*YF8 M1K'UP2$-SUH0>SO+,S!*3R_ASSYY@_Q_PYYL\Q_R^-B5.I M3SA2^%)?#_XQ!&:*^H[%_XS"47;WP,K#_5K95_"Z&88&1G$ !BO4!S'H!LK=VKC$7*MG/KTNGGCAA5BGSZX-JPO &4*7S:=DK$ )9PE M:M*U73[M.?/HMIUM!S=3:'\C!GR?$XTM*,9VL&LP1G[=;B\FU5$U\O7I@9/V M> V'P-/[Q&-6O7T9;C=41*VYJ'#RWG)="83&XV,Q^^X5PP5[CD)99)O'S57A M\2D[NB-,#$,_;S\G%/_VBI@;G@EBE;RPU $UZ)HQNB*R>]/X$%S9^3Z<\-*R M8KL\N8%R0ETKD>T.]>WQIYVP><\YM7?+_'A MFX3FOW"+=B?3)WK 5N\5Y[.%;&VTTP+G^@:W3.J*3IL2( A&)@P5<0%L1QQ MPC'BPH S!KX^%#XBQ*0%<8ZZ)4\NBE<-ME46P)J/VV@@;++'M\^@H!,"T96_ MR""ZXC,?.YV,/Y'5ZWMB8/PV;WB#BSQ=J?HS:ZFU_@AKI3XJ0$83#9@>H($3 MVG)=9/@JA&:;,-_8@[5SR[2Y1=@A9H#<&'L^4U5U/&?J*#N(@I!GWB8^ M;31C"P38#YR!\HV B^ PA#RASVO$,U;*%W"'[A%2HQU:\>\TY;9:5+5NED25LH9CZ54:_/W'[^W,H M_=&-\"Y&)EVO6-7JZP+UIDK>OFD$UR(6%G+ 0OUT.MTTDASY!477E%-BS%:= MM>(7FTD7>IG"K')#QTE)0G1;GYDLO1D0I'-*UX] _O)[L+:3M\\P3F2IU].I M_ 1WTTF;(=DV-,G/C.)33RMB5A]:.'$&?=(E"VX?Q+FF\)0HL1.,9!$?\V.S MD>+N-BUD]N[F7).0$RUP 18*4A"V'+C&V3HE=IJI(@AU\@J*F MGSU\_;UT6.?S!E21;T]5.?:^.I74O5OQP0HLP84V1BQQ&?-BK2%YACM?I!VL M2P[&J=_T"BOZX[(D92KIGQ=M1HVULEO]Y]1?-M_FO!&)M91 ML@0RVRLOO1*AB\O7N@ES)YF5M9N^6PH^ K^N:0F0#O?\)2?FT?NQR5-L%KRS M@NI%0>VQ$KT1M8K:+S6*CSKL"+K#U =N/<,8R"#]=$W@<:2*U!0/18FO;:5H M-!EG?.T%10OI/"NC5M_'D^@ '2\B)<:1@VLC8A&5_)\$!? ;AX3W)XOY^?!X3V@CEP=D1;Q^V.A:ENJ15*[J?"KWN6'&] MTI.-@J%OKRG]QN7X4WK]7$L3RM[$$E902@7%ZM[YS,,9\=I9)$#HY()EJTN* M>+.8)=\]RV9BESSZR:&QVMPSCDP2%16YFKO%F3M2ZX0D=;FSMD*\7W,7&Q]E M7-$Q #]_C.@'KM8=*.?L^5$'&[Y+I9E]>!Y)KORBU0)382O!,8.)122"X$*E MR*91*S5[+AS,WCG=N< 46OK2(.Z'#HYQ!NDO$"M(Z!(U_&Y*6<]JZ=-]4G=^ M ;Q+F4S"=?UL?V]F+;)00(;W)Z._!YLOCWBUR+G8C*4< WFHS$ MVD).ZB/#::MY7S-$ M7D8@!\Q H"@>K"UF]VX]5AIY&VU\]96UVU-IO[Q(,,XF9..CRM.7>(%'U[G^ M?N#B#;2[:3DXT6NXHQ5\Y,WCR!7],B]"$F_=.\)EN=SK6/"W!O'Y MB03&,QPZ+'^0[#I'R;SG)'X_9)/VN,EL?(S,DCQ MD&-H@/L6?.^Z:?;&5)@*'C#U^-WRD7_-2>[833Y_7J'?M&0MI9)9:&Q+>_$\ M\. M+EX?%4;,BB#+CCRYC]1%;Q#SI(ZJX_01\^1+9E/%NENW/IU+5 M+(T&V%L3T8"9XPU4Q/0G%KE69.B[\A.\CNLQ$DO]8^J @"?KOT]\\J:C)T<4 MVXE2*C4.9RF,N82BQK/B@ )3(;8S2,E2N*/H>JQ\< M^$W=^[X!_BC==2B_QQJ@MO5=!S3Q3C^&NVJP*04&&9:PV@+%4W]1&[U$Y MH3"1@P:"O+WEZKS&@R(]P-6 -HICXM&=,A>GI*\*(=*[VD*]]+*S MAK+L&.['.R>ZQ3ZNXEG$3KJS"\B_.SO9>\!2: &Q*9Q5]LQ;5/"TN_?-9;Z? M4Y59F,[1UFM%#A<-#%#"EZ\<(5<,IVM+@G( &@B.1D!0 L2][4;SOBDL?C[+ M["QI^K(B,V' 14 8?#F(A2.E0Q[O=)D<&7.*!=LNF]-DOIOB,VX<2XT9 F- M!BE\3OL\HY[K8]HFQS96C09H/:3VNK[8#=4];O3NWZ*H ()< ;J!A6S0YYC3 M#%*MK&9&V$@$R@6"2.P^<[]@GCP;C+%ASZBM6U-28TWC1"C-)F MN36.,O>\B@6C 1A]?1ISNLWR63JOP9:TRK>#G6'9;:R6K.;DX[42/7E"E/0: M;[,L7UZ-UW2I#?7TY@>^_MSWL\?IB^MW:WJ-^^]\O2;0S](U<6PX[^]3#@E(%O^!UK6&)B.AFX^?8J!'_1P^OP M>K&,G\$X)WWX 7W42O:ZA-X:-_:+U1(?IU=M.#)JSZ+]A@,#T8 FA;_T+M]Z M [A9.L, )=V$-"\ (UP1-0Q!+9''0YLB*JTOXMW)TB79RK%PZM>@=M-^?,OY M'VM,63M:R1L0?-;^$!NMQ(_VT;'X&]P M/)BL.&),]/L$:3R*GR(?4NK!WS8REVY\A>T&1VC'#:T:5E89A_+VT#]/IP:U\U<&?#Y7%48F(#1TO93Z, MH4YB)\[\3 8(^&-(;%%_I#W AW 'PA#:*#;:+F5#GY3!D3JN[TFM8QL!&?U2 M+D$840OG&:1OLYH;^]9$*Y'%BE^F?&[[YN[XL8,;];)E.T6T)VRL0WA(-G9= MCK$B]!+#Y=B04(76217H"N&5OO8$Y;?&MM@?TI9WR*3I C$M 9;%#N8"K+:L MYBXCY/S+/)0L?"O\[8U!WC.UWS?V3;4DY#>I]R%BWJ?'PXJX"*O*0#UK;D8& M@F&"E$BMO:X9][,#IQ?CBYS7SL W=QS66YUU]!(<("J,[4G]1/E>9D4T8#1U M"QX2($9*MN,ELTDXC[RKR^AQVWQOI/ K@M_LKTKU\WRE^%^"*_KAH0TTC3!6$F0]H-&$PY;R1H"FC78 MX?M[[$$_UQP^]0,LTEMQ3Y#A*X<-H'99RLXY/B7?XAWQO0(IS_<45E>;ZWIO MB4A% IQ26ZK,UI0!C\1N;6*/HSZ:-*9)!QFAS7GCYJXG\&ZO\9Y-2QC=MWOY M[]-U1UW%TE?2@UHY1T]&0J>/8$C1^IHAGHX\(R4?;IT#JL#!I:$FMGJ<%"S) MCA[O RJ,?I\[HZ>LQ#YWQT0C;9?W9Z:_5 [1G/KF]/?1/U%8B0INN.+H8$A" M'J\QN^A-Q)P0FVL%S_&R/'PI1-Y=DBM2[]O+]-XL_88U:FBG(-40?*TG#:-) M.;A3&N8*NYRUTC/$_?'HWA-#%6!7JHG%21-NWED<[D!I?6R&$I@XL9K8BO*L MT4=@UV',DBBI$C1T+&!T6>JWC3U@TC"^KY54"+M@(M2A ]GKODR*HSN.YPL4YIHBC)\/A^DJZ/ MQ1:%>$8Q,@'"(I_U&V\FQ>#N8J6IZX!B;"L]8ITSTJJT=WAQ^=B\,72(SWZQ MR+S)(:*58KK9\"6L_H10Z-V9T3=Q<:RAA[-DQ D_0X>%)>CEIG9$ M=4 I'B&=1E/G!_@P>6BK/,W<.6/H M]GI';C:$T_Q*Y1>5S',I:-+AL):6W8",,OS-VQ M,K2C%V >L"(^!MJKO.$@+;OM,!ZLKIH;UWPQCY*$1\5G>?B-CZ_VF=#.).@E MYJ[5150=M[X9),MU"? "+&+]?6&%?/7+E4B]R>=U65 :!O/TA_^2'ME88K>3K' M@S742NNA800_ZJ"&7U>]$:B1O[OSF,56CK J_NOD2PT&M-U2GY &_&\?ML&AB_/J MA:R2H-C"]4.9])1#\<4AYR51I/%JBWO?TJWZ21EIUH\'8F2X\=YRE>"L\5Z\ M339W.6$)+":KAO),ZPQ2( X=>Z?,_N95+>B# ;2@N_L4W3W#QX9OX.OO% MFOK7*Q2>.Z9UH3ZW2\W]1M,H$;*E&;XVLS4K'M9AEBA=,++8A MT&NRI0643AM"1HZB#I&06O@P9=_XN1T]>./Y\P56-C+%K;:G$]1'SW1 E/"J M3JM./[HT?%%"34R-XKS/LT9+ZN_(P,\9'>B2G<]A0%,8+$ESOE2MBS[.XM52M5?!KCLEJ>;)Y0QL!K\;@&,(2LF%Q M/]A("MNK!\1=O 3]),FX'6;>LN(MIN>$ZZ7N6J,!LBL&;X:[$# Z=KC;+P" M3?O+%=]'N*2H-_1CTKKUTE+*/:)&>AA4/JV^S!MBJ;+A'ZV)$"2O2;A7,E:[ MY7"/#"5!^#4],<:?Y&O8AIBFG6D+PG4D!"7(E0X6B/_@GD@K%=0T7#(N7>(4 MI*HH/U4A$!>%2RK1.];L5(:D=ZKW;REG>\H:6[Z2;[&314W<_L>"XV#:"IGGD;$HH*M, M]7\4Z;F'0-;UQ]' WC#K%: 7^7=FN16\[D8&M4\D4S4)B4=/%%IW)_W4 !3X M/EMBDDC/\+)\7-58IJH++7\Q_FYOWO2N'9\$^-"R03U-19]8)&E-FBJCT]_O MF"GJ*IX*H]VV%6^JV<+7VV55X67.QW=VD7=$)\I8-CX_?I;H[K$&>T3$1L"6N3NK)]1RSPC M8&7 B3C+HW'0S)S,9B=KT59\[O']Y/CF&8H.(G=RFI>-.^TUNXNWYRX_Q,R?])2^@'K'C,.H,H MG6";#P8EV)D37F",L\)3_5RV+'91!=ZB?Z4E[/3Y^643H<;I\]::@(UG&P_' M0H#+-_E9_I)7K(KC7!4QN>/[J4%3G0'3VVJ85L"[;0#P)FA# WB'-Y)]X$V* MPM&&9RO=2-NG[?2G*QK(I;@1MA6D4SKK1BTL76@ XRF*!PU\<%=& QFR(=>8 M^4B]2"J,U#_,<$V^2'OM?\:*)$B'&8GJX+JC.!H%KS#VY>'4\IU0I.H[\PNL M[Y"5.Y @Z[$'],OPJ.VV$] 7--#^# T0R,.8QR#;I"_1@'_A-76V\I_W__/^ M?][__Z;[%R=,UYXY_M1S5'9@<:GD)&BX($CXET9+(M7R/T&#-_XAT?Q"][;U MM%L(&F#["=G[L8<&'G&6,OQ#6;E_-OTI@W^:#.A%P0+-,3GEA%+QAA9 )84< M? &O?Z^?8ZXY^-AXTH?M^E;:I!V#53QLP+[TK>O>66NLYZK%Y;J#\+/GIKOT M2@'SP<\ _-/B>5W?ET[6/X8(1BA5+ .4F$+I+.YTQ;],PUMGV)IHKW59,!E9 M)5:\[*;0MKH=Y4K*^]!1_;J"^F74/?&7SMTT/U7P,DBX>^H:H5U)I4>BD<8Z M3=ZE%!?J,[I-L1M&JW3Q:Y^>#^ Y&]])>D)R[QZ?U_#X5I><)'RJM+6XT$RA MV-!$8-?<3-V1Q6"*^;7._D.K1)RG!$HD$M3Y5O!C+67>DN5=AA^$H(F7INIK M[(3N@%KQ1I;EEV-^NOOM;$TGSBJ.QT/D3[1N MF?!^W4A:RY/F@V)T_S R,=R[F I",7CM3)AWB6J++6B,?K6,['!T9U[A>SV? M9G,;Z9FO.%T.N[Q2ZAH!OQ =G;/K?9RPZQRV9"M_QUDI0OS;PN=1;#1 *J:Q M: <[A/H6:6XMJ>/.YLW1?GO]*O>+!/;!R)KQC'N,85'UH BN!,MC4EZ48F 8 M5&."_\24:^;Q^ K-F9L3_[V'^-+D*L# ^I4V=XMQ!@E$91IL41%C)#VNN3CH M4RLB;KAPIM5\:I-L<4NSAX#1P3;B%!E;Y5,* X?]R^FKK_YDIBA-F>%U)4RB^%G]^ M99 L\O,>;NZ_X8IA^!$J[,+\RO,&^F40C)4FUPH^;639FKG]1OW'PF3?3RIE?H!IO M'/Q'OK\S+?[?IC+654BXH*@ ^[P*?'/61Z-<_4SS/O]*K]K/3;FPP,\7:[76 M6*"G\O :/VYB!ODE#_W.B8^NN*"-EA96-U97K1)99U(+LYC2'9I6ME&'ZD@% M]WFS=KB:;)(%QX(KRVGZ2CG^+)*OTRU9X*.P)UOU<=U2FM[&NH,SY-;[N;H" MK)%6$MOSIT@5!Y(]P53S+G&!/).MXB)($23S,>!](+8MMLEP+4.):%-' %=+ MGU8+>N/]O.XL\GPC\>UGE/.?R1_%4*;2^4_I#T4_-S+^;5$0%? [194<_!9O M_:?9(HP_ZJGJ]YCSO^;HGT0X8 W=ZG'1P50EW53P@8"%S9OX$;P,R^3CMN!D MW^4PUZ:1CT8H :;&,$\&L9(D>M95;>@K.'5XVQE7 MTI.C;I%>C^@M(:.MR9BX?5EEKU^<C$E=9<#YQBRA M;@P6/M2_1H"+HW8_/]6*38)7RFS7]Y+P@P2.K8?H>MU25X!EV8@M')+/7+465(R![): MXVU<[QP(R>"B43X'W1^X<0J&_=Y#COP@JV,UBR*/$D66T+,+JF* MW-FBOZ7>/K#WQ":-?ZYGXT<%' M"=9&8)M&G'8X\H0/IO&IU%[T4C_ &OM.Q37B<:R5HST=]0:=Q82]U<0MQ'( M]_C2DK3'.^,ZJX_^#ROQ2<:U%5@.DD984K>QJJ::%;*MR?NXFHH-=C[R\C&: MF>3"6B7N01KCRZ$@QV,/@RD?5YE??N8>SMN A4;N@(2_Q7@\6=\S9: M,;OPCP=;-8E="96&7[^5,B4,\??J/1W-O%K25KQ_UN/?RD,-G7+K; :&4!9WF"YS,P[9# $,(S M92&'89\L=6BYQ&P=R_>RM(/#,?W]>THB5IN4CRT ;[+29*#X#SNMX8H!;&(P ML&$P*WQ5MG6[G,EEJU7U(GM9YOQL1Q]U97?]_DP>R73C+6W]1:U+CN2-;NRU M+_0:=.-2&;)'IMNV62W0P/L;A]M;@*42-GQ\6GX!^G[C,UQ^+3V6^?/Z/Z__ M?^=ZNSADY!H-'!),5$MV56S8%FUDXQ8^J.F($F0)+$0U37?/--8T4VC*IJ4R MZ1:ZN[?%S!76/@0N>8.XI@#K,<,EOYH;PW_)BB*!7(NIII=" M1N7ZT #6#1B+U,&-]#SJE>7:-<>?1\:I:,[5!=_5?U+7IZ^,!HS2%3]QSUB7 M]?U.(H7E7.7\8*;D-VG;[<5\9@W8+!G0._Y<8S5VIMY*E5/5Y\M@;TQM!-NT,C0 )9#[[<=.&L/8_GKL_8]+2YT\@QR^ M&YP\_;)]7O._IN.@I-:-F(^226)>YO%WT]-\G;U%HOKX $MB(,]FB6Y4-+0L M>_R=[/U>Z7::#7 I1X26)*SS?=.1N/G3/:-?=' USX-DI MGYXQLC4@^>8(M M4P1>UE=%/7SOB#OYY%XV 2ZN%.FC1'WXX<=5G%"[.=G@O%L#H69S.4MF3JE- M[WL=I;P(QOZ9><$207ID'BD(^6I-+^V63)B>A,"W 'DI/8GG"PH$T@G[&+)% M(R$RROD>^0HU4]7A'Y()DQ(>\V&.Q1^^#&U<+>VSO_>.)@_RV;AK>Q]33/*X6@A[K^()@)M$L0 MSP3IH)B&!DR=Y$-K"OUFB[2O9R\KH&O.XC2A)! M CPT\NG2GJJ%ME@)]:[M1]U #K/D$F:E6T0YEF3.>"6_OC"N;>6 'UQ'%MP% M'V5XF$<]>!D!=?1D66T0#)R;FCH*9'PXS7C-=$EBD(;G\ MI7?_LX#EGQ"-X:MET^SEKDTPN9@-PX9UR&<:B$7M+*8V]Q! U84SY,4+,I!%P MSS;6>,$?GI;A432PSBIXY6<*V7D8GVTXQXH*W+B!I(/E5SRQU=; KYOT/Z=> MA'SX.WF0C4 !$JH3_!4C.F782.EJ4G>0]>4#1K%N9-5J<"+LZJ%UHV;S$AN" M*O#<2R_]6.JR?R&TK\RS3Z+G!6,ZLX_.U^^E?0'- MRL-M&0[EX$J:OYSU>D MY>:/H_CJX/D!U:PX-IL376>\N,>?\BU:;>8OA[<2Y#/V<0!/^T+XY2IMQ.F> M[-,^M[G[A?F=K6^E"':?S"LY<'DLZ7$?XYGERZHS2]ROUG[O)F([5W-8E:>4 M4?TCIU8@P[;RJ.XK;$+.B,?$OVM#8D'U =]L00:I*!KX0-C7R"U'BX2ZN%*< MU,R4ZFVY3^L&HX)8X;_X/!FMG_$A?UG:W>:UIM@ZYY?%ZV=Q0KWS3@?T60DQ MV/GE6^WU[;HIE(AC'Z:LN7;L/>VJNS"H2]C^"81RVXPM0BZDQ& 7BQX-J-0; MXEWX.\LSC"7CE;VTMF=7?_4R6)U*.+U K->.%>2#4ZKV.KTKH79BB]V.:5XX MW7PQ6N1T"'";U$^&=)8A<*$C@:T<=@F/VMR6G^)#R-" ):A#UZ3N8PUK1+F/ MC$A^*L>3E@#1-N]4KC3R=(_&O?3 ;#/+AK4Q/_HBHB.>318 "$5['2?$R/ IE/"F_=MPG)1=+JIN_P_[6 MERC/7Y8KX %VG+]4G!D8#1"4F[3V7>?VW"2%&B5AX;&*RGZ@^X;C\LZ]"[!2"4EC\BFT;4[29RBLX@94*D]]7/:ZNA2*V*JA%?&NH;4QX[\+*9:2G0$PS5$%IL$*FM M$YQ"B3S2-1#N(0HT($[=7@*-V0-\QX)2G+F$/R'X].!TFI=B_> MGN]0.:O:)PP7Q010ZW\+"J7G=THKT70>0Y% 'R;[/NU8XID\:?$R3'[3]#JT MZ[[GC_4@2XY*]Z&VY222P0L56K MO121KG1!<))BW.2]9W#X-C]L<^GY(M.7^G=.NW@K84#"_\^DWN%+2>(_2%O] MX7&P$F'O^=JQ*'LRKCT#_R8V*^<=A:SN^&A * >/D19=SC6MT0W2]H=M46O, MG2=/3^1J.GT>(*$%'FW=B=-^1%.",P]K=5_[>EI1RE:[?1-Q!0V]DK;N'S*&[0'UN'/(,KH-@^ M[R9J@JZ6$E>1P:D>7G>65+_Q^\[Z*2!G\F=X$8*=(ZMH +!E<"T?] N[^]82 MA'.7XV=TX#PG>"2; =C=+G. H8$P_5X_[ FQ$IPTZ]J%O@A/%]YY]K6Z;Z2P ML)W_V-[\PV"A>'&7QHW1;]$=IQ9U<)R+W\3L%#<$>,Q$E/G8%"/#=NZVDNQ( M'93F=L?,+ID.4#;'X$H;QT73O3@X+UN&R8<)-ANO5'D76$_/\2FXWBYQ8N+,CV6SI5Z5F33-IHH ;PQDK,!Q5'6 M]XH@^,GSSB_$$V7<8R@PN&AW>LZU-['0YNG2/&.38!WG"].'3>[4W_<5&$?C M?4NP2*16L'*SOHB5TZCFVJ;/)B3K99>8AUNXWZY-JS@,8^Y1HN3(6 _ ## X MD&!ZSH4,R3?I>G.!$YQ9+KL8.JDG(,M!E+ .,VV>48A5 C(2;AM'$0.NOSP7 M8-6OG*DVUM372!FN:O[X)O@Q>3P'1V"_W)3;WXN"BFV-(LMBT"*!-L#)8B]20;FC7D8KU)CB>/XJ48PK7J/*]PSCT MU* 56R%S7K5QQX2BI-)?#6J'2:)M$3%%YP-:-0^EO'W>P[=:(U_NM7 CZCDO7;48VN>B>FM!KJ".M<2L?9/)W!.67 ME[Z;U,'5#FD6RT.:#7N#;]ECNU/6=.>M[JK/YKS (^+L#A*3]?\/D&'K7^_ M]KRVTMA,@;F;HFR6/1Z+#ZI(BJV?8HH2G&P6<.?*AZ?K7_>[26^,.> G=*Y< MDE3$[;9IX7BY4F%L)0OVI#R;XAA%^>8/PC3!]0^;7H#+O-_PMNY@G\D_3CZY MIP!$*6S;R1N/OBLGWX'F[]62F<^I3_-..((FO5B=ACQA<(<(/Q92<=APEFLI MLZ0<\]3K@4A?MJ2KY=?V%OKM1*Z?U63L: MJ$IC\K+X[/+>-!6@TM&2FB$L]S&']\9 KC[E#><;_O1P&'&H/@*7\2E>(\@(^M)4[@Y MYHXV&N O[6]H=3V'-*8V.O.Y=,D3^/#!4LKK5"TOT@KZ7':]LJ_R8"F7\RE! M.L4/@F.TYKR^" MPZP583J>.@CF\Z1Q8CU[J03M3O/E&R_((&&?A]$&\595U"2 MA[$<(7*HS,/T6E.\^XYKI.B[YRFYW18+:V[2&&;I9NZ(N,>-+ Q5"+VHH!IM M0E-B%3:I ;Q5Z^L@2?G#&9=<6[?&::A-X-&7_NMW&/9_1?I\ MY@B5$)@=A_LJL]Z,=@@3_3K05EFN)]?. $SEN!NL6<4$L <8)JT TG%F-R$B MH4BWF< W"%$SK]@WX@F#:1>PW?6/\N5HWWN^A0/PY//N6(&1[B/*);N%P^MO M-5S3 [*U@H+0)PH96#UH@*X:"2ZK+@^YMOKHHU[W5F<'+M;M^'FEJ1)5C\4- MG-))#-N%(\T+[0Y6^1B+<<,T6K1T+DH3Y])@W<"7V-6=*!K>KLB",-P'=Y[A MX/B.J(V)MF#VO*W6E)OKG/52!I,IG$KL^HZ(B=6F6UG)=D\G1"L(3/Q,I% F MT_M4$?GMP<\H@%X4X]6OR_YC,K?:[K?)7A[@]YVYAG._+8NT!LK,>R$DS6)K MIU4L/)7>Y5\2?Q!H(0Z6Z]P7.23G6GSY"DJ@Y![%RO#XU);ET%.\?8%#;AK$ M( \X3[&DG0*C#V_A,XG4*&B$A;L"B0'3)EO8GIDS*W9RM9[GNE_UZ&ODHK.) M912RW PI?$V6V$$Y"+_H/1O4\-[BKTNIDVDB$\'\YGR/RM$I7O;8Y/G1>[&4 M*P[C21EZN<1B\M7^9NV<0>KQ+PT^S C);, MT>Y*^UG]I-$PB"@ARX150(WS!9DV=I0U5E5+(\U]6EH'J@E^XF,$4N/CIS^Y.!!_!B@JZ"TC=7/> MO*VRHF^GQZ^_.*#"6#?CJYSTX_S>A1N9LTL#MTXLU>N\D\RBF/4_9 M=.O6C\%X1E7Y>Z4%KKPHA54PH7[M6(V'P(FLU*9==^.76)!P?V@QMAV;N="U M_H!)P9SDSR OYAM#95,\F(-<@E L63?.?!=K(9GLC-X9'Q$5[AT7"C98([+P M>=SBV*!'OUK1S/RZ "75&@8ALY'Z4.B=.9]Y/50="^]R8JJ2;N^\_99)ZUX? M@5N=V%ZU#DAZA9C]6!%.$I-O&Q-:SAXHTDTGGK"O0=6_LN8F+"&Q6GMXL%'_ MG&Q)TU9AP/HYOH-%@]%?:CL9M1N]Z0GV: OD9ISO%9)*I/9ZW@0P2$14/.12 M^.@Z,''Y_)#T6ESECTYO^/I;TPW*V3B_N@Q$ Y%C__9QHJ/+OEZ] @FU'"ZPH^[^\:=P?;+L@,86.*!D:=+Z^O.M! []Y?WD3^MQ@P4T84'9FWU4_XX,,T M]@XTGDQJSY7?4@"LP6ML 8Z4]/8J!EAUS'OC*-9FHF=07EDYIBV^3N^>E&;11I'[[.F/ZR8*Z(R,1(6],V)=;%>W8XJ5>(?_3 M$OD?5\G_<0R0*/7($U>GT\_EL+ W-#8*?>ZYI_;$ %K47Q',= :B7KMH#430 MNVX%=C9N]'U\*R/D1O'5>& US-K^?J'CMZYSF,XO,EM;+T"XK= RYRW8I,RQ9*RAY9?(3]\_)W!&J7-+9I#*C\G@EZ(>PX?2"M>6&$5L%/NQM]9*<)O5T%#ON^#K(Z M:]K;-)H&1^;W6>08&G^?4TZ--N[E4![@A*EB<<8AIXK^K]?%/\[ 8*)JFH<9 M?4W*+$?,HT911[+V"#*(JYDKO'+N6&G2]2CDG*%E72!CP;,6X%?]5I6XJ92@ MJ(X=[=G>S_2JQ+O^2VU%W+#-6]CSJH>O?^88?A24^6'_0LD" M=/LC'6BY618F"^IT@[R!;\;9Y?>J#JWW!4/.4XZ$SCE'06GSQCY&B'GW9F%5EZKUNUV.ZPXLC(YME"YNK$&X-+BVH)S6W!S(-QNS+= MMR DOGMC?U,%\?+_IBI=H \AB%]2=9T<^\>A $*.@G2=C?XW5?]^K83W] MNU8.'8P_O("NJOYM!#V*87#-&](5M_U$,")1"\Q_3_ JM^HK\3")L;_7RFEI M6"?"(5!4F\FF]@+R$6QT.+ZT8:]WBX_M+O4OEH4@.I=>:ZPM5BIM>)_&%!1U M)U6C.]JN[+L:2F88(>*ZY3E(^IK3)4*_#L7:@,B=>1^.4HYZ-ADT@4>$*%(; M!2OFQGLQ]_2QL>#ZVA6.R8AE>=C.[%_@QMOD*T>0.Q!D.A0RQ1W::?WCA;5W M&)OJ^?DWFYKC;]4%W(\U-('I/AC@O,!XJO\+LFS5(4Q.S '+QEF#->2DSE!& MR9V\_5,?GW7^KO#W'>A;,I#'_;FU5?T($/0T=%V3IB=9D,3P47W_]LQC4L1] M.7/M=H;31U%+>*7@K+K:R%?!G/A,UO<*,EX TL"=1_^:$9TTRZ>'R)R0YU]J#>Y$=A%\ZQ/ MZW$)\;0OMW 0(U@LW1/[?F1*A0N>HP]5>O/=9UOGY5P&91P';- (W] M\WNE?/K6'%@]H)U^$C/[(3K3&396*;H!=I2.R8^#!AP$$)V%G!:,J@T[ M>Q"H5\,E6 4V2B^U>G\OB.I]O*/+K&4Z612^2(]B;?-S<'+N7HL7,PC]& M3!JKVS3PSI3Y$0>X#V0?[8_49Y"L_F.%827FM!YY71UIM$W3IWIRFHVHF,*? MFRZ=O:TEVJSE"@^8SKO+:)T*+TR MO170S&&Q B6O\+MS)O6%V0*UY>,R(]@@,- MA*48;ZQRL_;UX4=Z7;Y[6Z)*ZZ1\F8B]UP[B/H^,Y77MOA-LVAT_K+Q/7P?H(AT>%'T>TOF'C6 M;KDTD_]TX1VS.=HFP PQ]'X.;I-KR8;LKU<-?ROG+_JVT9 M8=/1SCB5ZTH^7D/0=E_?MP!U'@"E<4S,$$.5L&66"M7SG(N+*&7 BZNT9*>1 M)/7V=8VO@X4=ZU+RZH/PDX%=W\;D8P&KWHN1[E(N-*"$!&=JW$_WQ4ZHLKM( MV/-^K?^DY!7=TA8H,(K4PFA.M9,1-,DQ+>->L.#19&"FIW$M ).+:9=[SFIR M3;UM'["Y].1&!UF0FGP$[;H*V=";6K8&;[D_K-J!\+KA@#"R6I M!.MP$@GJ$VJG= H4J].J+PGA$(6"PZH BWG-CCY]+R>SA?Q^/1U'_N-17.W9 M5I%92.&D#&L1S]Y9J%40=,**"M*I@7@S>"W7C)&[^\#UOM37GO3\)+Y<.&T$ M&.4 DQ!3B^MO>/*RI49R$2P%1T1[KOP0^1ZVPX,UU :S]HB:N%9$ X3-JC12 M5Q_ZW'^".40AG0@XBO4'[9B/9H[759-:C-/I?/*O3=??7%FAU]A0Y?KZL=,D M!X=?<(+'#38"O1,(Q$4R.@.N1>.BF$GR M_A)20I^[H\V\Q6C QDBV9^@KKT'RNR!L0SI.O.P'WU094UPL.&0^^[N]^V=\ MVNP5,KQ7C@6>/HL&8)Q3I=5'-?8_?,[Z/M4Q5IPLR$O-E:2Z=#:2?FR&(M7> M>IWF=.\&*/P51"3!!-\ MLC"NH:/,YZMIX&Y5WP4P6[QA8M 0T2,<1@C^GI+)!U.U<_?+R@F3>T0;+20$ MB)TH;2-$3B/2VF&TPK\8KLDR20?N4O>U>%EU(X6^VY M.E[]H#=1M,BI6->VG-!,>3649J34IM:-MI$OAKK$F5Z1M(JSP]('ED3;P?>^ MCW[7^R-A:%)WT3B.]/,4:^XOW""L9=SZ=-(=%L&)&@>*)9/9[>C[%8)S&=9' MFY^5[K3'L%C,..SX7QIF M@X>77MQ".M+&RPMR4-688]LN";6V-"#8OHP_;!3KC6>PF2%U'N:ZH]'4[ 3/ MQ:4$Q6JI/JJRRO0H.G[^94IL+$?!-7OG6.E-0M7 '9,%M2*BRC>B//[<>$W0 M83^'7RPQEPI+[>I:[S; T4#0^L1!;N67J!^K6SIUGE/)JJY1]PJV52]J;U17UH%3[[2\8J+LMH\ L2S,^G15+: M[T^/<$P4Y(->3YRJ@+FD&2L*'Y^U#S(VE0Q6<*Y\LOSJ!$TD?L!L]<%U;16" MMS,W:'P5?P@CY62L\[27>#WBB"=S7IH\ "\+:*6#EZ5F"W0TW'?\X/GUX-B\ M^/Z24P+G&C=]CWG3E^JVY\9[!O;/M9YITCF2UEICEOT!I6Z=@ G5$GI5$C6J MG.\>/J.I>]J>VLXL#>"8_ZV=3QEZC<6-U,&-I/[W=KYP5A3NW]H)W]/((XG2 M80\81/7^VDZ(R0^!T_^MG1#[QJNN"$."?BUN^FL_(=ZOU4^6_]Y/2&Z!!OP' MKJDP_-0IZ)+539^(XGQ*6N%A5A?;D*+21CCT\:V&;Q_#!$C>:-+0['@[YA,[ M=S46TMUP9R"& EO9K#G00&:*4"A0P@^M"),EXL4(@HWYB._?3 M*.&GD9_OUR;?_N"H^)Y#P3X?(")1V_07VRXY^AV'K+_G[M>RHK;?]%I/M[\?RE@8^3;^&JX9D'XM- M9.[L14"K0Z/3,V32.YM=S)'%^;9&BWTH-B_V)8,=59>K=*5+Q67659+O+(\? M6!$)=Q]'9A-AG&A2K\TY] H&Z;OI'=OJV>4T;]/=7HK]/G#R6C''>[-1@Y0. M=6>RXLS4N,M0ED8OC$L^<&44Y*W\:LYFB6Z2TC<*7T;[:.A,&4L?E__#)*B>C1 ZZ,QBN)^E^Q^5&/J M;,\V+GIR;.7L94G:*#MB[S]#?96^*O_1ROYCYCR2K\L!#0B>W[=V.$R<%NT[ M?,\\(MLARUN?J/;@BF](V#W GGCL:_C=+Q!KSE\R"&X5WLKQ M"O*1-E]U+.47^.8G(5R%':=[&VV+3+[$7G(QV3:-N"DTZ5G?.RQLR'[>>H]9 M<+Y6>"Z3#/TOGX+":DW,.7RN^@G1[:S(&WN.5Y3AK,[IR+=Y?_J4V%OI>AE> M4Z7LBZ_7V-J<)%"U(*\A;?>8*J[@08_Z".=Y!FG^Z0C9#@O]1/)-<#,)/KE\ MC082XNI-^T9)B>IL30CPS,)BKF[>>8U),]_R C M6VAS/&NZ/2V(T_U&''-1H8-N92WPR,P;OCD^T75Q>M153F4P;V)FP)NNWIJV M*.+[1IMI+5$K9.<@&3AM_&]Q:U);4U?U0=D*VU&%Q.WA>Q6_@']2$6;5:2E$ M#;X1NV0W%U^;^O8'7H+Q)T4^2>P@[/-V;I9>?YGDK6YS:AF+5;"7/*Y2II&- MU]U\KK3B@D)AZ;Z(-J49ML#W'8MNMN- >Q/83*.M@_F"A;V:$E3;H1;CM M"M/[_]7>6X;5M2UMH@M/@KN[.\%=0O#@[L'=;>$6W!:J46O.&F/6J!JCZJUS^Q6(<:N%VH0/ MJ^=FFZ'>E!\_=R)-D:-YLH! %0F\P@RU*6%0W$>+R@IUB+:=@\V&]E;M:>DJ MASAP>Q]3<>?3:._#K @IASWX.BI61CKZW*J^L1UXO_6=1?3?I- M_X@,#'#4)[<88])Z"T0SA[N]^2L2G>WHNW4E!$T)GQ];F9C W/[%E5:>5"^@ M9H\=XH@9:[B!KA%ESK&5EJ3+#MU- N*S0TWETR;RX1YUBQ3_IYSG5@7A 7BQ M):F^KGK)=*H3L'AFY &]G%[PY?T7S "H?9VQB M65*D=F^:^V(S&P3OY[FP1 M407%#3V]#B)!/C<.L0TY9(L^S*+^%8:N!:AK]TZ8M=3)B784".K;Q-'@GMDY M3?QA13_YX:K+APTRTBSLA3XD=W"IDF259/"K\"R 4$ 6*L_C"J2FXGG<:+N; M%4/7[1-M<$,]7^]CL(3-3SQ_F6.]MVO"[)"8DM&8ZS)7X&2_R+6,7C*ISD4S M'4S$O_@G#UV(1Y9-P_CRLCA7_33:LK@5;1+Q(=FV!'M<>\!YK$#T>KQ7*AU4 MQMLW4( (P:SLM]Z2XT*O][12'N'!7XLRCTB1]G"IG@!8]:^3[T]35W,"!&]/ MU@U[2AK.$<(HZS\Z5]@X,5'[!6JA3CZ[5-W)-76[XJ=A4;6EKG*^:K7^D95\ M]P>3EEFHW,]:"W43.>X^2)A>KSDV89] C6-W_P8^CG)+./.Q_*2;OQFEW=6E MB_S6[L;FEPXI;A7HD$=%3#TYS]PH0[P>3R)NY[["N&7)!0J\,L]SDWAHN?0> M2B9-B^%#812(OHT15T>XCQGGL[J.S.#R+*_0DTX>BU7![I]1\B*RF,+O\V M M6!@JE/"GSD/U?,7IM,PI.ACI56AK"A.8<*3Q>W16'":P0 H<&L%2LHDX?\2< M2V3/9T58G7-I+AQ4Y>-PBC/<[8"39N) 4[4IT,YT$65@ZNS%D;FNJ"'\&(;O M1P#Q\/8N']@/.KE#XLV MSA0'1U:"EMZ@:'B?2#52'E?X!C\!RGVAQ[H>":9.LMNJP(\I#A[0L)&;C+RS M;Y78 ._9>3?K+?_[H.7&S(@,].93^$2[$J!G,BK&3V??BG>?XEJE5C_VW5V]3G!/ ] 6 @S5/]JYAULTPS.1[?/;B/V6;/65'Q20;.84DNQS4_0@)( M0S+1PR*S;P1?;])K(%LYNR_J93:YQ'8U\VQZ)1@4E^*+T\.BQTMY 73^JA#A MZLLG /+/5?JIR8%>?E>"D&I9:JT"O8!U-,*#4,K3,EDZF,AG/TH ?/T8(B3P M^)!Y6AXF"EZ-V; 3.O01*A K6!+\JA$)U\DB"M?>J"3R:OI_!:XUH+?==?T[OCLBYI*XE2SQ,W._!\9(U0 YC31,%WX$?R:8J'P^'EI6Y_ M29%L;&])B-K<8I[726^;W".&G3[*S[(%]P7M+[OH?>,/6BY[&383HJ^RZ !0 M 0C6@(U:P^!VY,DC/<,]99N&&NZ[J =]N.]3(LYRP7%9?:[\4L&M7!MW_2WC MM<@\"HVFKVMGZR,(L:DPFI10V!%(9FI^P:I2=T-659Q\?WXI=V!#U[&;_WV8 MX-%6 J"3TX@LON41<%AP)U1?[2:7>VUW,4CR(^VGFMV#=<$]4R;. 1%0=>-K M^<\U=U]STRHE(?4VR23$D]33==JMA92=ZSA6>%\8&&*U(]:A MAKBZGP#F/N]GGP!;UX;/CF^HL7U4P2+7UDP$C>EK+YWWV)! MN%O$5ROCAADWV+IJ=#(2*UOLLVH\.@:79"+T5,!5.DQ?LV&X+3V/#6K5BM?E:/XZ-U'=LVOP)JW3)X)V M=A9?OY4G+.UI7-<8BA/8(0!3:1RXAJA( DR@O#,R>"!B//=1:TB7;2XB;J47 M1>F*FX>\6:@VB?TD^&$/#N&U'Y\ 7K>OGP UZMK"%$ &ULL,UG'-^7VEW2? MFPKZ.'%<_S,8")1UL9=<\8H8REHQFDR)\CWOJ>_);0>\#^<$I=": @\'ZZ- M?8 0O&+D*G34";!#2N1X)=>?4MT4,@8^9FW;'(9YW#-_?--$]XAPP&-XAGFJ MD6X;]JBU9T!4%^PP<9K:875K0\\@\<5IFG6J0 M4M)#'ZE%L$WE8I*7X-#%T%.U[8Q:5%#Z.-K^HF5JPI508Z(BFSJG>:A9Q7\O MSSE9T]!>.*>&M;PK;Z,K"IE'@LV_4_SPYKX 6 MD3OHS*U%3'836^\['RDR#;GDU_$%<>G],2#BR@T!)&YK<-:82*@G@D@R!@MD M4#^1W3+PJMKGREJ? &&D^"<.T-%I^CHOCG\H_]RX:GYP$B69DO"LR#Q-E'X" M:%MM^*/U\GNRR]EP^'KX!,5!=(3)IT2V+2!FFX1*PN=[H0*7)#=OGL=--J?U M:FPK,Z";R\9$DO94YU>T7V<^M!+-\>0+TT;"R:OME.@$OM\T#!!X,]29;18P=N$8D MYQ0;2,\F=Y0"[I NA;L;Z859Y2JDG[\%9,'7A<"D\X:C2=8%V^F+L4\/3C\! M8R::KO[!!GC5;02QS2RMBL5N/*G3_>O!1-98=D0R19&LA7G M E!%Z6"^/P$VX$['HOP<2(!=M0?G]9A@;&E+N[O93802)N\NK4UW)KHPA?4C=E6B AAI\>NV M@)O-!#6 %7YRZ4N/LIH)83*"0.[EBWN_ E!ZIQ^_U:+QH]^ALRD MX""?-]-\LWYTBA@DE7O->DI;/V]H H1H"JT)CA/R@MSD-;X-HGS=V: <>+B0 M<.P YUVTM+L]FR+ $IVQ5;D1]7K2G$(\;']%"#WX1)ZL:\.&3]'%U<#GP:>? M$W DOB72T\8A8GFJ'_W!?ZS*ZOP)X->CF:SOHS519SYS*="FV/]Z6<*%KC9% M-F9RMANM]\T)/KFAXZNC'?B[^2WL$QW_,%=]2M(%':&06'[?U)GGASB#H]X- MO1"24@E3GN:T$]Z_1?+4Y%C,'2+A-PH?S$+Q[C3$J$7%M]1QBM.JLC.6LQQ9 MB4\TC7BMW/:&^R54-3L[8TVY16\F2BOUYLI(A:5&"B;/?2N#IPOJG66CPVQ3 M)D1CE0&\-K).2KPZ\.IA14!/V0-%I)GTA.S6=!SAJ[+!LP>*B-"?07#CX[(N MLQOH=Y6[L2 \13K=Z^<&,YWZLY7G5*!KE=$()ZY\B6N(E[LF$:GSFI 4]A$_ M"Z7\MV#\^MPB[3T"V]O0(A?L_/QFW&0K7>NL2YH IKE4FR< FIL(V@$&Q'!# MSVEU'[U^^,A<8L6J .7^ J30J)R0J8=&Q_4$"&]__8UB(N.@9Q6!*L+A],>* M==1XJ>C#X-AUG.%W5.GQY_41:"@1)CMNNU53\\&GJI\_XU!11='9DQ,J9KTB M;-$AF+*Q4<9LNBYJJOE.O47@:Z-#!;@B)\Z^S:;D7YP+YY?NX>@\1GGD6\=' M')Y06.:++Z,_S_^L*ZXN'_:9$UQ'=H,M M(@];;3;DY!T4X7#,EIB8K[,^.IXV-(I\ZCK1K?TKD22Q5$U1C(TP&0;5CLSU M.TEZHZ/C;"//6IA-],%C(7Y4>OH'/ 3MV;F#8W!]@U#JCP-8F4PF/]ZB]'X@ M;J3Z H+:G]9, -9?*T-8O&UMGE'Z L4"M( M[&@$R/+\ ,%,W%Z/98446C_CI4<*5H8LI_1DF :G.-ZJ)89KOG)N,N?="T#5 MSVFJ"$O-/ZX#7TNUS]"ZP5ZG,$T&[[YZ6*D:O\G6 28-,VB;1 M"(>':VMC->(:DAEC"K=EKFRP$+#Z?",:I$IKW\HR;$M@]?V;!8 MUC@<41NB2=+A4\(<_"B )B.9/:2(^03I8SP$Y954SK>V>.MV]%51-A^[@5%&Z[$^,48RI[3WB)Q- ZW MD^_\>_E"-9&DM6$JLP4[IC4Q^19;143G[(%C Z7(+(X%%6DQ8>T1?;BE6^0$PC6K M#53LQZGR=/(1S^AFO=DJ '(9P9PBI@+RM^)B/2P4ZRO! V%ML0$:7FD1D23)=1F\AA24[O-GAERTV""*'(9^O_:ZK]8;LXZY MIO1$@Z+"*$P%G^CBS/5MB4Y) VP6I@J&FP=O(WNJ4]6_Z^+5QJ#;MO.VC2-V3FZ=? M[B*XB^Y+IFLK7@%AWG9-"=(BL;11\7.6;SW"3B3>SLFFSH#(U$(OU24!!*[K MJ/?. 8+GBJ<\4;.HE%W^+W%EZX6HVIM#1S0/,*)G.@[7HG4Z[GUM5@G!9SR* ME=IMTY%"]VL?4X_]?\&R2;_^#_(15A0$>LG@'F(BEQ+OR[?)6*_(KN<+E9=)+7H MFSRG]\2.7%(ST:;),0J=6W1 MAZOD@IO_NY\XYN-P9E+@T:ABOEOFGQX6.ZVL;V,,8YZ0V5\Z1:E!"&-+[G-] MII*[*:G3",!N15M[7^-1_Z@6U[%R="$7I0 LJ F"#*^7Q[L56:ZS_!F5\=L2C[J7%+5FF$O9HUR\.3?$*O[J9'+QG%\$W2(\-+ M":'@7@3,E1EPSS_+O:J[K"=KSY(7*11N2H9-L3A!R]:I^LIS6,D9%;0@S12BL*T*L:)_,0\R6 \;Y%BJ!H97[ MT76I#T_>&(I0Z_6;)T!V%JK4G(]F%M 7H"\YHW$0%Y.AQK^Y31>,WBUCBU4T*.ZS/NQNF>7VCEHK;LQ:VB/0$L H3;6YOHW4QL.;F MP66O\?=F^0!S =VB/GN8]*:4)UNT$T8Q,^[Y>^(U/,R,(J%]7N#*F_(ADA/- M7?D]5VG17OBD/Q!6K&%3J]GAN'#%L,AI>H@^;$3(9'@<)&W;7S:AC,0!^B^>P^-=L_H*9 M_1=\&Z.0Q$X2[%-G]$WB5Z.G@P-?3);H;J4;C6YFX_XUZZXG0'?%*4*8GW_8 M*M^T;8Z!IL),0&O#$\!-YB;>E]W*?X/O]"14V) 2%Q':':W&!>Z?3X=NSMD MRTM\GGK\!/A7B@N5T&$1A_2PB.MBFE.R5J;;WPAO1_< [.R?BT-ZE5L MVMV<1 &040<24M17X:,4+58@^3:9!$_JN[*74-D6$CQPB:YB/<8J='5=CFFA;F:^_6+XMY$_.)\ 8;-7B3;P3P#=&2X;7UNV M:68'C7DIOM>EG@_+=)V'2KQD'OV>Y?61@.W#1Q*KP7RNM =Q ['WM[:,18*F M8O;K+[%]:M\EOPIHL7?XZ,PW?+$&+69"EKRK,W-)&&ZKTSWJ762":H8)U3+\ MNK^#;_&S^_(:V6ZY5RH=S,=&,)$B=7Y?1D>9EF%707DZUSW'VW/]WC:DK]++ MN A.J]#U^DT[(,.P5%=FZT?2CFE!P:M9&'GDKZVF0_8%=&4[N6<%5+P]/B-# M(VX?E>#D6=_53+BFZ7/(!>@N+/16=J%1'4K@P= F7@IF7$9M=G:SXO7 2'+Y:)7AJU _58569S%&! M/*E ,K0@&2[WOS;V$(:VCX0TJD^8H'7"GN68F;Q5"21GU^"W'*2YH\(FV@7K M_+*4!N+KXN3_56^?A&VV OZS:XK2VU,=BE E2?9XF*#\CP&28EP+?TF<^/] M=/#_O%_\3V 3_ZGJE7_Y]5>)8(%*VMB*VDUZ0HZCZK=<8X ;=F(>I**G^7)X MZ:?7U>BLGJ>UB9I\8Q&N/"AO.E[B9R? MR>/+-OQ]H9FPN^AR'JX)3%\L?C")"KKT/6M(Z=AJR0I"!$G KZ?.*N/_-PZ, MVN6'4'F4!Y9RC%GX^G@9P0]P$>Y?JJ@" _CV^=6_V2;D37 ZY[3:YVOCF;() MB1'W 3Q96MPV25\!5DP<<1&Y(61(=9?>Z337/W$A'D+Y3O-*(*-!Z*#7>/9Q-&-A% ?IF MV>\__PSX<7C"Q-K.9K LX^3@9,<:^A[T37__M)59,,.%T97!WR7Q<;?.N>/E M?=)L6:+RT@]41,E9"K],,QZ7XZ7,C:4KGSO;,>M+Q+570 ^5JKKJ:5=B]N/9 M$?N96U MMR>*)_)*K:)[!>&Z^ >V6$S MCUVC&H MJAS "W#_)=_Q#RR\RCO]43D#MMTQG[A+J7;/DZ/)BIO_%FJ+X,_ M,S#_$F#JERR8?P%0]6NRT]_]_^[_=___2_K_ C#7C;RLW$?CJ?4KP)Q(DMR_ MM\(V_I^1LFP$_KD4SW^F+/A???TMA+]8".AZRST65EPSTU%8:)0RE T22NPR MMU!ZQW%;:?*::M75*>^F:[>*1.<(?!JJ^HN D5#4[BWLZ:6$-B&V)%^(#$_] M/@LWK/MZR-8L744=\6\N,@_ >/=_8_?[VH3(V%+FK0-._ZXC7&+=C%P[M1;5 M0D^^1*E[\P:+!9 48<[W9OCL\B8$X*8S%VDR6<=;NZ3/_@30G*8*+)2(4.O$,%6&7I4D?GQ2 M2M$6@Y@0(V&WADYZH#EIKS.+88]K5TVV3:^5N@.QS31HZ!)OM[O"=%/@(=3AS_02/_Y MWE]$4]P6$IK/G6Y'O5/EB]W36\;P8AU*+S#AL6(V@-NR]/?4ZB? &LZORN[/ MS5\#-?\""AM$9%D[_D6Y$>-;QK ('37T3N@J&,H'PS*M?Z,@^MLKI[.GRDUK M9EGS&J4_YX@3P7($.(K,W,[\F][RGRA*5N>ME75+= YP)Z7-8J1?=W6G* T\ M&)I1/6)!U4A8_)ZE_@1XA#3\@N[ZS^U?MR'_&AH3 RUK9=$RFU)#&?)D+K(! MA%?ZXJ27OA\3(>K_1:)8UK*6$2KN*C7DEZ'7CHA%3>!^/7;;<0)'&@.PG=!> M^S6/O.,)T,[\B[U-^N?FK_MH_WD*K3&C(F1)O"FM=NXCK!C*&TNLI[\F1UI>]I:$^ %S G.,0"2G"+_Z["$=F- MK76UEAK[.WA(9R]R,*1QO[L,JH^I=JU[J=L9:M=.N"X-#Q>L7,E9- .5@BDI MHM-+UC(0FJ ;8_RU&F>8+T[P@$JUX"ZL>A[K]ZQ.!6$@5G8QE)?LDI3OE8(\ M$>)?D)'$2#BWPT^SG)1= FYC^LL*^GAQ^$.^4_#1O FHY%5'KHL@#(J^V ZR M*?X#G99#;^[P@IG][-CW&M4&8W"V'F*5Z6(G6I(AQ[8H) _0;IYALK4O8ZY@ MV0CR7D!RGQAO'YR(<_3MTK<<4H;QI)ZI];T-E.AZ=,38* V MOM(U1#,8[QQS5W6(.M@"C]@OJEBJ["+,3: M/\P0%5^5[B65NJEC5O+8,S!?0X,%U(]7[$M2JH%#Q<+DIQ)A89Q-#O8?YBCP M32+6:Q2YE?3BUHG !>[\ZT0P>K--V0OZ0/N#OG:"C_O-!9])2BS<35',M*J' M84V1&/"^)P2([&;3,LEDH=Q&AH[N,Q[@L1P-O=:3K,ZF1+!!BA4._?J'0!!Z M#=@G?5[;P/5G4X'$J><6\FQ,SWV"T-/3.W^HJSL/5%($<,O/-#;C? 4^CFL" MPX"KFG/$3BKYCK4%M[M\(//),2G]7(WYUWS7NJ2+Y4'?_BGH7\CTC8"/NR MU1]'(. BL-,BG)UWDTMV2E <;T4OHXP@IH;U,>9SD7 M*QKW\&['"4W;'M]3;Q92I6E/,>G(V0S97F)-$>A&78/>&B$2K[7ZX?XPD#8 M/**A&N<46ZD:Z%G.JEHG']CY4KU(*0LD/6: +?T*+\RDC" QDY/6"DY'O!)E5+6B#3"*B7;_D%(/6* MX?>0G(05$TF/]\6YU!&=,+,!.+F10(N5;5F0K5U95>"B+PH_P4Y='/9>HO7( MAEE;\NBY2M5(V2V+$2J98V0U3!S'"RU6?)C(K:-:7_$>G9T(;YS,KY8>J[8$ MWO-6H!."5CN*TNKF(P/*.-=(!2V?SB]N@,O4_RBW.X9=US+FPB".9*W]"\Y* MX#3(Z]5&J]FFD:]-(=!K=O86KSSMCN/.E.(AE; (\)+0IVN0.DF.KI.Y@6\4 M(.#M_8EEZYS9/-9TB##7L8>R<+#(9KAVN(3W7CE?+FL/]%/GX'M]\VAX_0]C M$'$!>WJNT5IG[!"F.D_P(1-I_H^<(/+*5V7U> )*Q7QR[)7GUW$;JN"X0T;QAB6G:-59N^WWBX$G3@T%.X M6R0B"@35")CK3C*8R7]4\: EM@*-84&]F\PSFJ<_S^B="TT4YP8GV5#N9 M9 9Q6]4,D^N#C,;^Z&E]CC6Z!$75_&!?H@@C4@BU)Y$2@J>$DS#I[&6Z0._( M^H,D/5=RG<1'ZY_[W+J5=CGK[FD,"#"["!YX%"W6?X!4KN[CI+K"V]Q]*MMZ M-?(9#RE$921.CR%QX+TE=!?O@80CCR9.)GI^W-OITLLR:%WGYO2.3QJTC7$V M.=+1T;(?W:46'3L_#'91E$,4>W5&^FL\-D:,IXY2")07G$IUD[2HOP7C,7XI MS2.J1L'%'\67 +AS_CN\/Z79RRA?&(FFZ1,.CB:V-I@%>J MO+>F/()XTPQ-J$QVG3)5]^MDK2["->*K$?B@B-DW7?RX9A%T,FA].?<2/["")Z=XF$UTCY2Z5A0D*-41\K7PS(+W9JRIOK 3]KIS,X#E-VP/\X/%:0/2R=A<-T*A M6N?^Q.8GP#"6Q2M3D<-R9U\ ;1V I:&T+TE$7=< M^6!8^SB L2OVF(8$R07F3/"YSJ[#0-4['-<$'9X@R:6==:8/1A3O6) MX\+<]+V5@N[Z,A=4E[YF"GU*'I0F>*2_VOTN"3.,IW<(=\,WV/\"+A/RUCX' M$G!;_]GKUCR%G6FNOGZL[W*0"MZ,\ME'5Q(SKQ5_:P54PUS MJQP:R'SY& LJ66AH@*;@-_U8=2^S&]6:4J>+8WVR"GZO+1+;1M-H$ M.OB(YXLR+UQB5X525:;*?]N05,^+9BQ@(/[( 3V0#[#=CX%/V4)F[$7'2E&< M46=B,57!QQZ5K^V\V*Z12I@;4>A.D0;'S"9MR1W<"4;JL@0Z[7QF* M7$'1$;=%N4YTB!=O:-\2RO+7#[1*4+QL+'_(QL+J55J9A%GDJ'8L!>ZKM 32 MCN\PF1!X_@11Q')@W!W%_NJW*87F&8=C2I!I;9WES ?E(Z3M%H8MEDAX9SF4 M!^C!N,':@'O 'EUW$ M_UPU0>:1CI6?T"VQ8UH@0T^&+;:PAG::BZW^ U!9WZ*O62&P9*_9O81#C"9/ M2YS\C[R+)-;/FE$\S"8G 0_T MFN;@KK/!+3*B#[!TH^S60(-(.F9*=3X.V'H$*1ZCL]YT?O9VZXC7%7M$V371M"TV5!+ MWK&_%G#.#^8CUSH2'8 I("-21$8FN#I0'8_4W>=GJ8"QYG>I1$G4_;;6'I7A M"*JR=<>D.](BT+^.,.SEQAQ [N4?Z77IPEXML*]?RBNWDGG^M^J$GB!*H*,09<:25 8D5:V6^UCYR@Y'_M+F]('K(B>5%W \8X_Z.D[J+XO;-O"@?.4"1BMCO_]V$T_"\2DR5D$4IJX#;\]/(]NF M:,\CT9)NS,2_J#A7M[?7:*;3;@/><:S!DF^HD\J\!R6WU$>X?9SYOJ3,0JHY ME&P.PTXW/U+Z1ZC*.FD'WALMF'-[XA*.GCEAVC2MYM@UV<@!E9::H.=!O71' MM!-HMK5:![%RF,MB6RYX=@IBR!S>O]Y =$#176!_=Z8O5B!EQ%CQ#92#H?EC M]_CX?2L8A2\+F1BE_[9'_F6)-;*_-^5G\Q3[:23_$%R(DBM,XC)(ABOW=T@I M3?;4V<"M\,LQY)>F[&^HZIHBION_-]%-2OI'B(?J]^22$Y<0&L[5'L5W;V3#L,>OMDIR MJA'A&LI':SG=M8LV>A/=/$P(_6S9O"9:WPB [3@5/$4(/EROUE7=),94E2X/ MF6#$3^8(ID=,#-74%MT7-R%+/>),HZ]]8"&T*=FKV!5]E\(!()"D CGRPM & M\".AS*A*@2^\Y*<;8CQ=/#Q='+ T565%SU.%YN,+ ?#DE4X+:NYE7K]:1?3X M25@U\<6Y5(D!<,R>JP6;I.C6.K9>NV';C2%DC;$+KD [%2L6"XR/&?3:'3,A M75#!9'A,,K"O "GJI\QQ49S VJ4TW2,*8C/E"WF-#=5OR>\].O?5(R2_E10W MJO3$-F'=!9^JA0HL-&\6E.ZP7RHOD4OZ*G)"<844S-L:-7#(.4[T%TZ-BH%4X'E> M'\MK_;JZI%&R]W^/:@N@8G%JO#4/P+!2>4%B]8G*JYPY<8J<5%_#&$W6LBK!;IJ;\O2ZH>GQ O86%XL$HV8^OZX"UQOEO= MW!3ZXH*WS"3QZ'6\\#BM!\PWU]YB83.]?JC10Y4G@,4RL/FVQP!&99A MCJT=J92KIE#]1A\JZ;CF+.JGG-&T)(K+A6BGVM?P/"400LISJVH;I^S)FIKB M_1Y7:&P\;M"B/8.'S&X:59S%^E'ML.209*,2 Z#,^9@'5+Q3B_*M="U M3K0*FD#;_2/Q,>3+7;Y0QKHDI=:7?_WA [D9$M1[1%?8R_QRCSX2U.#>.1P/ MR=O]_G-%&>2DOI;W78Q8%._\<:"Q%X$,AZ@Z@)%@Y5.NBO#:O%/TZD2%N;S4 M>:T\/&]:=,'"_&MT&I.8'D=XIU@&$<0NNZ*?'NV8C:VIEIQ-V.2IB]L5BTR9 M-*3I*-*=EA&P&,;6!2;(<[UI6+6GQ'FS5CFKE=YWB.D)AM]*J-A?0%9^L$MW MQ8K!)L&NIUX@>ELR'6TUU(7R&D5 2Q%98RN+=@)0 KR4H+M@->I/N^P())"D M,7@G''_# J3_77-CE]<1,N*3QUZ=K:X<$YHRP@=KED.41H+[%\Z-?+>-3K6YK:<,\6HQ+A6JO' MF*14:I6^OG;\XIDMXPK7KXUE&N\)F!DOQ=0;IP;OAF\W-J9(--Y1?_N,#[?] M'@93)MI!,R:^\J<6&Q\^]D)@8&!G+M[][^FUQ=::N&Q6#0Y?.U,TJ[I'D%MX ME4Z":S'G,?@?K%>*12+QQQZ2?&]Q4 M!X]?P%GP?W@"+/D1G,[F6S"7IEJO#!2)X2Z\99!CW,8AEV4O8;3H*!RQM$R0 MVAS!Z5=$8XKSS5<87]5%,(LXSB%S,"5BWWZ)1A3-GI&%KB@WF7.ZG>H0Z7;$ M<"Y_MD6B\-F)C9'AASY5$F"_HK$8Y!\2C@#E[6-R^A]@ [H-L'O)NM@I_(: M,G5BO^E&"<#'.Z3/O%3"Y2.K',#NUS_H,037E27E&AHLZ7U/F(>D]WH++Y8U MT] UOL]XOQ#?.,@ Y&.=JQU&1#;1".YK]IG:\VKK7M&QP:FL&3%CBU$B-X7; M8JS$ M"_5;PNC*XABP35VD>QWC)TN'GE0-T2_ =5=I(@5LI!-KB_%UX1.MSTF(XNW] MOL>45C94E,Z7.RZ86=]:A)O&MER_GM#T;1NG^TO(X-" ]62%R%QMDP\"]6Y4 MK5R$A54YXKZ73UF"'S$XB/R>@T4=D]0'4% %0&Y*TYB^0%894&NN?5P;=^,= MS70O)IJ0LY+SY\5QP0H:@SH[+D.NHZAI_/TO:#]6-<(FN5+#UI*5L&[ ML0BD>:GB%,_..S0B1-I]=L#M03' K MO@ VA#AJ0_FSK9LF<0?C)J".#6YNJ,F*945HS/0]F)A!& M()R,8/SJ(EG.IZMW S'?:*'&%2XOXFNI("NCS2*0UAB$ '-7S \ P+4(\2@T3:?TH@DL#SL! MT&3/:JB]2VPH@%^ M F-')L<3P0TY+:/!I?1BQ-"*G[KGC3^;GSYSW#IYZ-RPXU3]A*%*"K*Y_=77 MW47$!TVU$V5,EW)E$K"@E97W@C72>L4P\1$9V&)4ZR89\N9 CZY9 NP?.UDY M,A4.^]\'7ITDE.0AQ=E MO&VH$/G=PJOC\7PY4@&[/HI;A+IR,0QR^LK^-::-";09O7EC5(/9N77$HE8H M)RX-EI1K99IG-^9U1_%?PC(5]SS$3^Y. M;ZUH:QWPI+I]625ZUM+W/VWK]/D9S75U6_0"3G;HY@<#'&+.B+7?@!48)VH5 M4;1^,O(LZ.QX%BSM+!OH"9XUZAVI',MT;Z][)TZ#1&FF:N6$N,^.C]&I4C2C MD:;&R!,&\1<#,L*;>)4#V!559,9_W_N1-)-@VF8H'*):A](KB++WT;9M2,D@ M]:9C=CU0K#ULBOK.,\J#$T4>E@Q=2%CIZ33OTE:VQV;33#V;XJZENU*01&>X M*7Z=GR$S8<5J: MZXI1#CF1)WONQ ]1C46;?3H# J#& 0 DKHA$L1XH'M1NJ::7>%07-'-<2F_ MT1& ='3X_.,S 8#1_+>M/M,I*0?$$2<*"2QK[95YAD)B&=JL@EG4Z(N2$<,> M.Y34*CD76/"*E -?KP<-/X[Y]:LL)+D3O&K@J( W?<8C?1FE'?OH M4"YCH0"^X!Q[!G1_5=%ZM/VNDQDV2G!):0;=%T\>'=^.<)_![8;$5U>I'Q#K MU9;SHENM\=#C?;[:GFNC6=[R1+3JVRX:I!59!2E3->=7)%+G:BW3$=)(X2'2 M4V7322_>ZL'4$%LH1R+6.8DJS" MJ7_Q+2VJ12#%DSA6>^$3Z+NBBKS>/T92.9D,*1#DG0'GM+A3M)G.J$Q09,,U MD=,1-%'Z3B _&9^8DN,FK9$\4\#I6G/ZM&[3 6D!6"$?V:-J%5+]CL8L]$WT M]ZRCFS"R4/) HA\2SAI/@,7;NWT#V%FD:QEC$W9@Z*Q$S$?DZK?XTI1'@! F MP%(084R7)8R7.21.\PGPP;^[N;QFVS?WCO^; M30>MWQC'\)L[C_=;O/V.EC"RD3N/*UO^M[BM(D^ X+TGP U*7 -P[3'D!/4) ML'[K_RB>A0+ZF^9OFO]?T(R =RJ> "\10ES++ ;O1*YB/O+X*3P\&GX*O#KN M'.6(7M=(^M\>3/7_>KGXHS\!MI.!%8^=#9FWY =YY0Z;(O>@,>PGP#S.^1/@ MK1# VGJ5;*+VQ::OAV;5%(;Q6SM/Y_@PRD*X\!&S)T#W %CJ <6 ] G0E4=Z MK_Y,2SI1!]F4]Y"NFI[$>&?C:9L(2UL$%=CW"VWC,^W+]E]H]4COY0%&^CY6 MX)"&Z,.+M[.<"V7VY*PL>2FGGXS\/^5@?B'Z8/OEON"]B(_&R3V3/ZS_^(^- M)\ ]@=@3H$^3T/-.&&*\=^+34E26W9)><)8]=>COECS::V*OK_8> .-ZFWHH MU1,'"_4$H/ (&^NX^O7O]*?NM;-L_+PL^8\_%XT@F4O%CI[Q1<:I8('@;48Y M%:.N$=Y-U>EKJDZXA=-.4;=/,[EJO6B:@I8D2OE^_&+H#-PE;&[@%7D1P]/M M1S)!8#'!R!$-1PA/,>0WQ? *\L$H]N!.X$[1ZM/]Q MWEJ9QI'>N!(+&:@#J#1#@JU,'"M7?MZ6RA,YR?FXO^U1E#&EQT_!(-HNXI7? MA@+!J4ZT4\AY9$MY^.<8$-Z5Z9PHUDP=^>12KWM_@8A6?: MUE83;#9MRL[4\!(S*"N:_=AH#I^X3^I@">J"Z7&M]7=7^'K-@& MA#LI;B*6(+80QE7'R##97>+E0@/&7DF'W_C>C1YGN\=\>PD[\P1 @NST].FD M7WY-MP)&F5$EU/4&<1!6"_>34E;%-*-5PQJCB/8[Z8QMC*9;%#.O727G<[XY M94T=U:8\,W -,98B([.'A@F87QE" "!(K?M7 8/DW0?46U-4XJ6@AUR-'1CF MCEXRQ8>B'SNJRP:3F^N!AT&6T#NYFR\/?>P*]H3US">WY%M:D^HSV3@57P"( MMF!E%P8/^;#CS$X5W[77:&M*SVPF YGMFO2IF6TW0Z^5 M0N4($04(;3XD\/0RZ]6J(&7#G2DXOTKH7S8/X)=G5'J'<7K+LJ M5:WUK4KEQ1"Q6!=L$)L86;!V@Y\ .#;3DSG_"1#IJJO[22NOMVI P?E(I;=Y+6 @4I"PWD M//PW['#V=\Q9F::L)@1:2'Y$;F>6 90[( 7K^@**&6>&.#^GF.CT!AQ\L:J% M!1@8,0;F-41"A3DAACKG&[-+,!CM5A82^53WV13. M[[G G G5/,&U:'AHLGN51?'K]J)JB>KB;,S]\YX_6Y'D1>K:*T!Z+%^LA M2_'AY*,I7'="T((@/=8)1)/DQ1,@FZ?G"0!A#'X"1)2D9!#4)TK73UU$1<7 M"\C +*73FE((-^F'O+,MH/UA1MG.#@4@,B\XQ52J =NE/WS-SS)87EZ106NM MDP(Q!\JHC.-C;]GUR?AS[Y98B@-69;C^Z_UTM)&I#TG MI)AHN%[38TIR-'TA462<*M/Q#YU]!^*W(D?#=A.HG\L8%"B(0QG&G37:4(ZWN!T8WSFP]*>5^V3G $ MQV$):"-9+TE#)R&!AR%]VX[+KF&>)V"@+2OAOMO M1U9"0D"&>R/EAOOH"]7R.U@VS'(M# M5!-,I[7FTM26VTJ2[*6-#+XOMC79UU"/\L[M:6?K9-PLFB)_N)FSO=RTG$C M5GM+L52WC4?GLL/MV04@ D,22Y=U\F?J\J.MC$S@5HM@2FID31N!LKT; ?+M MBPWAG';0O)GZ,X>NO9\2" WT\L@']Z&,.?3N[CDFWG&SB3OY MP]75M6I,=2;2XU;UT:8&&7_3VACF5BL2F"<*COS)Y8#Z<_'>B:8E3VO?ZB4- M5VN]3!#F=$#G9@#[$V##!$+Y&,;ZR[H]B?K(T'17$>.'U3!+L"IP1W](F624 M_,#%: MOUUIJ=MV,W,.4"X,\!]^,^M]-D=+/CTA Z"W].#4'Y 7*KZ@+6Q$: M\)39KP-C5_A)UL]%"=; 5??/JZIXRO/Z#;9"> )@:UYD8D'\#=(WQNM6>%22 MN59/%U:E.!AV\4G@ A3NMQMY@^SQ9&4*,()+4C#Z+;#JYAQZ@:3=7;1\ ))6 M8I=[-5D/%DXW,\L5MW#R0%KD(*W1IZ1-'1Q@Q4QO-+5G?[T@W4-'$9H.GAR6 M[:J>XRI<)'2H7F0?0>-.\"PA4^OU9T-JO+D^A@U=IH-JZ,"\&$848M"N;5,: M*8Z(QLFFP$#'AZK?$:U.;,1&QV5!46(KLG^DA7@-]R< S:VT]%LG=&L^&RF! M!K-R\!9Z\]('V:N2X$*E>XSQ_7"LV('R/@(DV87B[U<]%BFCQ>JW9>^67,TI M"38"&)31*L )B3HVZRU:7.=%VM9>Z5]4Y+#F<+C/BWN7A]P:F20UVH1W0S4]W1$>>P8%KKHX0Z1% =*BH" M]O3>8LW-WH9/G-#@U!_&6&$5)_-PC,8/$.4UL1>QVR/!FH8O_=#O(4;]X(-9 M &%5;*R9M&?9END5;>MA9+]QI&*,IB-UYZ*E+/=V4COR(Y5 B?/\J@<)UFRK M?U[!,NJ_[7&O'_"ZAFCG(64%_0@C"A;%.X>L]4HJ'D:I3\%7.3"?9G@R;[/) M$U=+KE$9O\L5R40;7+*\6NP[Y'DQ1E4U1JY, M9(L':_:2G$G<] B/*'4R3^UQL-J9RFT M[XQ*"ZX57@E_18!KF8JNX9K^HFZ/ W%>??UHCD AI>-I'\T/YCII$='<2 MN-U2->V&P=E2\NF8!4=K.V2SBT3-YEX!Q;F@3O&AP..YB\ 3X.YX[0D0._YK M?.:?[TW\3?._BT9Y]J*0ZPA&:9*5X&W#-+-I75(.&7])D8I:O*0C<)!S[$B@ MXQ;JF7;-_=F<=X_[0*,HSSSNOLE(Z3VG]N_9I'\3?-?0/-/IHS45?K: ^#D"7#2 MXO\HH&(Y>[9HR8USC5BM99<;,T>V$10@*=4&\']:^'\ 4$L#!!0 ( /A; M4E27@N5(5A@ )XZ 0 1 <')L8BTR,#(Q,3(S,2YXR9!\:WW"L^4[[F>,>.O;9R9FI?IB 2DC"A2 4D;6M^_7:#!$5*O( D M&$L67Q*9N'2C^P/8Z&X"7_[Z/'.,1\I]YKG'@X,W^P.#NI9G,W=R//C^8)X\ MG%U=#0P_(*Y-',^EQP/7&_SU]__\CR__99I?J4LY":AMC!;&T]/3V^>CMYX?+)WN+]_L/>/F^L'47<05[:\T WX(FGP/.+. M&Y]:;R;>XUY<"$T/#Y(&(>RNDN8Y>=W M+8HR?<^Y,\KT/>=>X#EDY+^QO)FH>G!XE%3WF97?,Q1D^O5YD%0<$W\DV(6' MHA)*XBA==46&Z09145ZS8,X+>(&2##.A;TX(F:_W'Q?D] XE!3S)DIQ&R(4= M9)F*U?1N+RI,5V4E2F4N3CPK4>KS&@CB:7+PZ=.G/5$Z,$@0<#8* WKI\=DY M'9/0 6Y"]V=('#9FU(8I[M 9=8-,A51Q0/B$!M_(C/IS8E$59,""8!AB5K/9 MW..!X:ZU+IFDT4IP[5DD$.L0MO#+FL@_3/SC#9 =[-7E(#T+E.@O&T0_Z]$N M4VX>^=PF^)(KL0S^70^9^[8BQ_!0S0I/DO;\IZ.#6%D?";<0CKEIL@>V ISR@,& MHDV9IZ*#*:?CXP':G::T(?X)5L4;L'-DE34"V7>A&"('[+1-^)\%"Q/G(I\)*@,#VWV_OU*PQB,>U;M. M&)0L+E46;3Q4]IV_[^_OPY;_/*:5_GGBVL:%(&M<+^\=M=AH>_]' 0BDH>^Z8WAJ(9$)Y2UV>/%%9E^)OJ6P14:.F"QE$9-)(" MW_#&4)1B!-X)R$B/CAR-^5.80E//L2GW3?HSQ#=W1^#():4+&V_5L?&0XN._ MC0O!2(^-O-E,_*DY=KPGC49#,05=2'A78Y4 \L8EDM]=_<,FG9H'IDN"D%/4 MR2CTF4O]5G9#<:>ZM/P>S7_F6X[G PGXXQN0--!T_":(HGI/8Z([KMQ#TP]G M,\(78A%F$Y>-P5S"S9HE@AS,G9ASF"$6;&=;3?0&U'3!X4,N'(0M&7$C%OXE M-\9)PHUQ%W.SXS Y,CE]I&Y(6T-@V9,N]7[,52_:@_<1I1W7W5O3I8&TM^>4 MHR$^\]S(Y&JMS_+>=>GX4ZZ.T:[[1H/8A#?N*$?;'JA'9MR.Z_U=\F)%G8R8 M*RBU?W47]:M)UP?[N;I&RTV^LU'+"=T=U_)[<^)Y]A-S'.%?]8(IS$$&!-T) M&SG4)+Y/@_9*5R2C"P,'N1A N^YKS(8!;!BWR 9,?\F&<2+8V'%(?##'A''S MD3@A-6>4H C%MJ8U"HI[UJ7XPUS%HP5W"92-/Y&R<9.BO..Z_FB" ?N#!@0G MH4^MD#.,/+76=%&_NO1\E*MG-.5N$KK&0T)WQ[7\R8R#BHLHB/8S9',L;:WF MPHYUZ?EMKI[1G+N+"8N%_$(2WG%%'^S#2Q4V+8''%^U]+.G.="GT7;YO!8VV M*TELUY5X8 )CQ+70G>&-'#;19'D7=JQ+N06.,[3&+B5AXW9)>-<5?6C2V=SQ M%I2:(^H"EX$Y=X@.31?VK$O5^4XQ87]=Q)2-TXBR<8>4=UW71Z8?>):0GRUB MF=3U6^?&5'6M2]OY/K*#*&@*I$U!6T1&)>U=U_=;TX%MA@93>MF3+FWF>\.$ MK74M*.VZ[MYA0"&3"0/M9,E.["/)RWDP M?KL&?G8X,2;2WGNIG8 \ZYCN*_WI4G>^2TR8;+$ZATAOU[7YP72 K8FF-W.F M-UV:S/=Q"8OL.J&VZWK\:/IT(O[F%+]9@)U'>W7F=:I+J_D>+6%Y/41$C7M) M='>56Q7TES_:Z%J9AB[5KSFY*I()C-_DKUU_^2;9 *;P^+9_^ZYUJ$O'^7ZO M5):!\=M04-QUE98F!.A2LQ(17:K/]XI5)!_T<"C-%M %A(KN=4$@WUM6F)/0 M*[].UH N+-2CI@L:^:XUU52%'BD5F06ZP%%)0!<>\IUS)1D,/01*4PYT :"B M>TWJ/\KWRA4F-O3*+T]$T*7]JOYUJ3_?2U><[]#K?SU709?.\_K4I><"'UXF M#:+7;55\4YNF*RGHTGN!EZ\LD-K#8"4.JDWKJQWJ4G)^TEHJOMJKM$GD4YO> M&U'5!8Z"!+C:8=<>0[GQ4FT@R>]6%PH*,N56H[&]DHLC;]HT7=*W+G479,OE M!O=ZG3?XV->&G3%S8)K2YR DSJ_]TGB5N"[4Y+L&ZWUX;/QV'G%G#"/N=AU6 MRPB?S7PRF7 :)4R@HI.22&0:HXG5M'2!)M]_F XTBO(4-XBB) @9HV7745(> M(-2]VM2CI@DI;_-=C95QR7X]J:$[W%:$03+I0?3,$AY$FSDA[CY6&FZ%;_0\XGZU>1:]NX[:HKBW[I5-E8XN-.7[ M54L"[?UJIJ0OXCCQV,P:A/>!>6&O+>KV/UI"6KZ#63UGI%_TFF@3)J<[@>T^M/HIH!2/O%(%J/*5T( MS7>QUT#H^K.H[A#8[@':$*#4#]A,Q-VD!PI_SM#U_>_(BJ//&/K6MPGNC#%= M0,T/#M0 ZH5DW3A)6,>U-&'=N(A8[\%:F5-19 MZCD85_%A*L21:TA<%Q89UR0FQRQ-CO88NM9\;0M:Q^SIPF']1.9,"1B!EW( MSD X?SS^\6M(E/9G\(;(:!\)MZ#CN=.HC\>06BB+GI+?))M MI NTG3"E":KOZB9=F\8#LFTBJ^+=?.UAS@#^=2(9%_Z;![*2K=U#M D:IM2Q M V^&AZ_CQ0XO#\]JAG1!,S\\T@B:?P#39N"9-S';/3#5@2GO)X+7ZHKN;3H* M,C47>"E%P(F%II29JM2^,+=,K5VAUN:G&A M"U1U#YJ-,Q B/D7TKAQ[NXZYS,=4RU^ZP%31O2Z4J)Q>F_V$JU=_Z=&SVM]& MRH1T0:+NF;?]VTCUK%K]V%"FI L3;5EX[1*7.: /J^X-CA"H">+/DWOF,YNXB(EU4^L@#WJ]%@V)JP+<@5''ZNLB1)2)S%O/9JJE07'O%0@[VK)L2$XSF 1EKDE MQST>JP$ E -X(T0WA*&MB[D%/CN,\BY2;C#=\ZMY"Y&U/62NQY5:YI]HFPR%1_A/(+8)A3V4C," M/,?IC'Y\5(4OCCPR0;"=X*L-%[J05GE?'_SX>\RG<1+Q"5N[F$]CB'S&1V-$ M?!KWR&>/N68'0N:5BP)MZ-/,CR8N8V#",TWYE V&'X]T*G?HYU 79 H]^ M#F3O,V,0G^!&8S >Y!A23<0NP@@\XT*.8?FTQW'=-0Q&0#E^G(TXB#_8%M\< M=N$^Z80K77@M\/K76F+/8[X%(N.OQ\77D+W+I<%:.Z(3Y@J?A_@()\J56!XR M%;K8!%3Q[Q@H<7)U=X#M@$5=Z%4]V3]OM3V5@X@^(HHR/):'8GU/#4( .TX= M[Z%<>I:_/&E[S+V9]!!C8'.TB"O%G]).M'[>II$57="L=0O!\KSP2V!6^JXQ MICI:Q-7B#W@G_8=N57J/%Z]5M7>*M0J:ND!5$ 8I E6\!JYBJD=/B2;QV D' MS&M;6F"P7$RH-^%D/F465)QHC$2Z@[ MZ4/X%8H6<7:;!2!O7WA3B&VS:.6 W>H:##H%74->-*'O8T&XHPA]%RENA6/G M1'*+>^1U;/8P+%&]38&L%9OW:-%G3F+L%'5JI'6!K" ^4@2R\Q1S8I.0.>9Q M%R#U9>_9MS^3^1QSQ,2S^(D+*B7)6+_@,^H(91L !G%0S/$@X"$="!3.N3/Z MISA;G5/[R/XC'/DW=#:B?&"X9$:/!P5ES!''>\FN?"@+8-(CX:_<"^?' U0V M^\P : ,C ,:/!W; 3?SE?[8]C,I?01D.:6!$=<$.8IX]C.J&D4TTV%L?QY)O ML8269^ZLC\Q&].G%1* MWA4BD#C+NZ^$B3EW:$!/['^%?H#]GA%_>D>8+0726>]-Q!<]F7DNS%Z^6)5< MG!EY/+ C"S8%(%ZHBCZY3,[MN0[DF\AL5T1M_1G#LES:@IW(^U"6ELE[/O$ M579E0UTV9LA[O!#&2WMV011YX]1>@DV6+=$%W)\CCQ7*E$;89@0SDMA=Z$7H+[W+-"K $C MNH!5.5BD;+YDY.5UFNL[NZRDS+S9"-F79+Y$H4U8$YA]DMD M8(0@E&6$ RIPG%[G-/X_1*$-I_1.T$R&J+'#=A("0A:,M2,196/?!?N[>VJ' MEMC,1+R4"ZEIE]LCIF1/-_3N:1!R]YQ!*[!:+=I 0DJ];8]P_CH0$#]RIJB7+WY.T#RW=W8 MY =.\?=-21'>E7D[%K?[^O)A]=#K]M;B[2CZTO]V#/&\X5S;-;_H)=^7Q:-X MABG!8KG?XX6 EU[(5X937F=+QG7KTJIAI:MLR:B&4TXKQY6MM"TC>_(JQY6J MLAG6:"H"?>GQ)/X\]*YEK#S:\JENEG1VN"EQI>C=C_E'2ULZS?X)6-/YTFC4 M [Z*>\P M8V &O[,SOKK:1JYEQ4ZMS?5>1;%HX7]*?/+R1I?\R5BKQ:9,PHCIY!B(R-]V MXMK)0?'1DX+!UFJWJ9ZJZ_@*+5A),'[P**SQP_V#PRQ4JZMM!&YOF,MFX>Q; MB$S=CN5VX^\>_P%:^0/L5/^>1E&1H7=*+QPFKFX=>G>$!\QB<]A_7KEHS_X? MY1X8@'_#<4HA=-9[\Y6:N0&=4*Y+< ^4/S(K=EDM1P@&AKA'+_Z^X;MK4WZ. MN491\(ZSD> U+LX1F^-< MP,BYG\>ZGQY;88TM&L])W*1Z7*F:&S>^V_$89MUER%VQ9\!(@[P(*;N\JU3< M2.,J8OQA3BQZ0]QPC+?/H2@OB27#VZY]1CG,+!?CI\1=_$EA;^"(@E)IZ.MT M(UZ-2VO%\WW8)?#%V.-/A-L^["I9U$'63UFKQ0:X*HOYC?WG9$)OQ[!90D:C MG5/U4,N:OJCWN7A*X%$^L#?"P,I*"FU^T4; ,RMG/J%!9&:=P1X)F+L=GU)0 MSP7AK@C\_TG]2%U/E%^S&4L6:@W]=*Y6E=!ZLW%\G\^UR"/3ST;(X\&:4CM$ MAL7>*C[\,7\OJEAW4W:A*^R*X^% %?)P.'$VG-) U5INWK!%>$<<'7Q'%B(E M I=>\8\OEJSAE+@B9!0?AYZ<')PZ6KA*0MT0V1AA)J-+'[Y\PCDZQK'JZ2)? M &BM8.H)O$Q$-LI2%K$84@Y?$D8 M1U2^A I4>&K]HA#,:C>(Q*'1-["Y=K+64,[SC=SCR"3/.X<$J)254125;N98 M4@OL\K(+\11>7 *%*\.KT6 C1SR$G;;9HS)U>G%@EO&Z)OVHMJ%Y&HU\%RI1?A?P;W9K77.C-R+T* M27<"XE>/S^I;])H+3Z'O5R'#BGM6FPNPJN/7(SV5V[Q;RE&)Q*N0J*KMJ=## M%LFCSOUF59*IU=1AFJ+CGK#;9QM*WN ML%(643LJ6R17W?ZKDJ(G*]LJUBT/J:PJ] M$Q9>DT9:7]'26B'M.=A>?6BZ:J2F#G11?8UR5[DS2YNXE8AMKY15#8ZB9ELT M\A;G(U=)ITW76R[!I@>=-Q%I8UI;+N.J:R^:R+*RSRV76T M7XL.%%&HV,GV2.6=.8I/<<:AR&.<8><=G6HKLZOBH\Y$BAL5)BIF8!$\T=EG MR7I$YLQ6QF67E+=?_HIXK&R^/9)X;T[B\\#%^A/Y_ID;$%><6B%M44M\_N%C M$J"%'\9F7:A)%ZHH[(KJJY,[?H@Y$U$9:870E:U_W22 #@F_.NFO/XEJ!H#+ MSD!?E^BKD[KB(ERWM^V1TP=S3!@7F=;4G%&"=Y#-A @"460*G2P/=+X:,X(_T&EN\22J5$RRPXP,:6. M'7AQVA3FNHZ"3,T%&$RN(!L";E+UU*#Y*SC8?GWX4WA-8XY1%,F+#VTS"1ZR M)>JB/>^3;*.V*FA)]-5*?06/W4M#V2UMQ_:ULOCV2^(3!8^@>="KR6.0! M4^L1YKQ*JF#31>45R%418M7MMT(6Z9P%DMQ$:,X]AUDX8^2/,GG4Z..7R22Z MA]:WIG1&X,__!U!+ P04 " #X6U)45>K;D386 "R: $ %0 '!R;&(M M,C R,3$R,S%?8V%L+GAM;.U=6W/;.+)^/U7G/_AXGQG'SMPR-=DMQTXRKG)B M']O9R],634(2=BA""U*RO;_^-$!2DBU>&B )M')2M3NQ) +LKP'T#8W&;W]Y MG"<'*R8S+M)WA\>O7A\>L#02,4^G[PZ_W@:GMV<7%X<'61ZF<9B(E+T[3,7A M7_[\W__UV_\$P2>6,AGF+#ZX?SJXFRW3F,ES,6<'?W]__O&K^L]]F+$#("+-],=WA[,\7_QZ=/3P M\/#J\5XFKX2<'IV\?OWFJ'KZL'Q<_1KGZP;;#_]X5/RX?G2GZX9Z\B M,8=N3XZ/3]X<'ZE'CX#LG,U9F@>IR%GP8W"_S'C*LBR 9^]YJA%D09@D)9I M3(+%4D8S1<]"\H@%$R&#?,:",/KWDF>\>DJ&"QX',8, MUELY*RHX\(H.SJMO_OF^I/!L0^ -B\0TY?]A\44,6/B$A_<).\TREF>GBBK) MXM,TOH2O>0($L@Q^6\Y9?";@Z70*;:K?GLZ64L+GBF#@&TL*6AR_N6"5YKN0 MY;C38M47D4;>N+7[>)+4@BC9W(@^3 ?EE_6X3=BEI MDE6*:A)F]UKJ+[-@&H8++5*.6))GU3>:L\'KXU+X_ZG\N@XBC&S&8Z6)X<.= M#--LPF!4X^,7+.K3!6VD'V <\Z>+-&>297EV 0.F5X'Z0PUW?T9@WT"#3_9" MHA 'Q9-XK@W[OF^#AUL_N&-DS4OWG)OGK%B =^&C6XZVOWC/N7H!IN.$ISQG MEWRE/H([,^7KM@[8BZ1@S_GL=LI^>_-T8Z&ZY63K>_><%0L;B#ZY<\>*+P. MGU1\"7S/DGO59&+9)RFRIL6+;48+$4SJJ\GV3#%'U]A%&]*M2."IC Z$!"_P MW>'KPX,'QJ>SO(R.%_V$,MH)$3X/Y)9/',$ZG1=!/[!TYE7["4Q^7R$+T36U M@704:XZ_9=8X5GQ8GI]\YWGOP *6UV^^\WH$5P[+_3$%KRO?:R1^(YP3"C+< M(9=];I90$-U[/J$QH38*4OL;F]&UFZ58/O_P;?#91RS>0@4&U'B,CDN,Q.-O M6?.9\-;CMC>I:6P5#1 6H2E*\ZLO:+, $7'+O3N%H5T4#;/S3VEZ]&62?81M MPX7?CEXRX1(^#Y_)^%,P+858$*9Q(%3()>!K3S0(M10+8 3Y7&6L!N%T*MFT M^',N9,[_4["3/2Y8FC'+1,:QR7"8Q^@&"BZ-<:"H\\?F(,7I%L4?"H)/)[#D M_\%"^1$:- 2A!^C10_3=C.HO,$9W#RQ9L<_@0\R:=AN&Z90\-P:=$'LW%S3! M8BF'0[_5V5Z@OX/W#S?XSWK;#_P/8CCTF[YH86_>QLID-_^]S"-:*#IG-^ MH=O1]#NZII6P1DK)M^B/LM=^O",'LD7O"$N!2&D0^R'L&$#WAI[^I^>6!K(W M+P8=@B)O1ERU8U@Z 0C3H:&%9S/H1BVYJ\G7K'!PMOT;!"9$:P_X-&EG(FM2 MN#N_>S<66HAM?M #U7\-I8 P,-_!Z->8?^L>V& M..(V?63=#W7,C?K)LA>J41%#722&FNVT(BENN- CH\I-R,41&YHS:2B$:\9G MPC")52Y2S%QP8X"42Q]@@R,2:282'NL#CNNO=1@?FBTDF[$T Q(#GL)G%N W-&Q[=K.! MT8\ZIQL69]OT7&AR]$'EN_"QP1U#M/!165-D0(.JRI"=IO$MDRL>L>Q6)$VU M$+L;^*BKJ6\'4D4E3N,Y3WF6*_MEQ=H38I"M?.!1)1&NI9CPIJ2&FB<\T%E, MXTL@116R*.K^+,%N+ U(6,[OV43(*:2]: E MR (@<%IE-33@=O!&;WP$:LNI]QYF9O/8=SSM@7X09)N!::"Z]AF?R4XE]YKH M;7S.)\V=7&YYT@?=JI)#C>+3ZQ=6*9^F12)K]*0KA(21MB336'\J[IY!G\= X?T^DU MDUS$EOP;ZG6^. C27CQ?%>UF :Z1!S0W+ /?))K!E#UG*Y:(A9JH[6!0;;Q@ M6;%TR2HE+F$Q_HWGLS-8?N>6-@PEI, MH?%617V00!C&/BB-/!*1@X@6)5F!"8:_G,\CN_:4)HTA>UI":Y0,DX$&?=AX M!)F-O3";!9-$/&0#;>?M]N=_$Z^))J=;=Z=1))F>_EOG"Z\FYSR+Q!(H!;%Q M+=F<+^?91;IBAU6P^E2 \I\7HG.#V.;O/MX3^*N2).J4*-L%MJ(1U MH2D!4+XVJR MO5BNTE[+.,T-/"-#F&>S_M=@V$8\468 M5/E?#0Q#M?&3,O!"/H,IHDT.(&[[LHC=Y %<.U*8;EC$8+[9P-IM2@697&X) M968S;NT]4,*Y?=E/6EQ3NLDRW[U@"0O>L%L2'%%^0 KO-X%;TX8$%O!M%B%? MWZI7U:8NAZ+UOO=^G?E)JH&)%)ED[C\QXP5&8A>(XW;+&48&)G M3(4KYG.1WN8B^J,!#+ZA1U0W+%$QO3L!MH;*:Y@5T5?E)L]"R=X#R;$*U\(@ MM'EN?;OSR('U[60O8P2;Z(&*)70 -^R% M[WW;>Q=8%%=$$!J18KW6%?=#L* MF$!)@5K*GZZ3,,W!G%*^NTYEP8+K[, '2BDBQF*]::KO1P0G_6JB14?V-8UU MNA50R%?*@*R7* K.)GJAQ>S5HBUXXN2=GGGY>5TU3IOCQ4P .&=ADF17D]]9 M B*[?.AI([$0'.O9LV>^;*EHO=;Q9K]E+Y[Q*H5T-;%3=);=^$C'-;%<[.T2 MOQDUIHZ*&'9[DU)B13]N&.VD4,J\Z =[V.@;I2/T(_"E.91.Z?1\/^ 804BI M(DK?56^ZU8C%_A-Y[-:[#E@6_$R>!0,DU_U"7]$/$8W'LN/M/K*C<0<&;=[L M@;EGOHN*1N_D4$4_],B0,AHR?FG]OZ$^9/JECE/+Q+3;MQ% ./ZEC M63T9T2?$;^$P[@T?VL/C%B[AWB!'[WM8N(=[PP3D!L(>^(P6$G&0N#>U4WJF MB2PULP.[V;T/^L$0>K^][SV(+&+YX6Y#;0_"CA9,,]Y/V@1XY^+U$Y24-(*_D?'-M>6DIH@R\7.7%ZGAZJ+:P]_JHH"YVI/ M(LCX-.43'H7Z1/)\(=+J$/)"@3_D"*]V>6'D:.2[+,<<4E94=W"%$]'*W]X;M7D [EU">\V'25<6X_GW=,>['%??_'-'<]RHU7(U^9H5X?B71V',&E&HK-1=DP+3 MQ".2-9=5B?4'GJ@BW1=I#IJ?WR>LM3*#31<4D*J<51&Q+*LOW(U%B^R&!N(B M*?4)C^U% PHHOC#TV&P]2H'RS6D7D65GH91/$R$?0AFCEU9W#R1PJKUE-*3M MARE0#W^\R&+?3B" U5U:4%E]AH&ZJ0*+?2T##\R-P7[]DN&)'>KU2CLO%%*L>XN?./J6U+'%*Q9L4^A;FN0 M6.>"4LS;'NRNVT$IP&V-RR@<02G"W0-Q;9 "B\W%D7)K;.A0&A;M+Y31#NX. M4TKD1@6 Z[EC8DU2M#SZ0;9V'BAMPX_.BGJ?DJ)=TH\% Y\-='( KB,"TB82 M=R+8%-@?@I3EU08JS"VU93H'W)E2,GK_=)D7G!"3X![$;Z2W M3&.>+-6=52\:%ZWL]J,=4.)P5]H9&J>)X_J(A (9)N415'W\\#3/);\'0""0 M[\3&/BD/F"&B1\-U["&L]##%F3K$@4@Y!,5.E/R?L:2.!?SLHP!R/7[_-F33X&^H#:,\F68!%O/V>A5 M9_0XU*Z.,;F] M] \60DG^/U@H[Q[$W4R*Y73VD:_84#S"OX Y>Y&34QH?,CJ+E?*GK'6$J*9MF+@S=O90/#V3SXH M4]DIJF 8=JIT-_" XG,8S7C*Y-/V&FQ#T=W SX4I]=*D#0FN$24TS0GZF"8T MK6CD* @+047)'#:'B147E#9C\2@MK"5*6Z[FPXF5FY1RP,Q1&IA#E)+"+%;G MCO%!:F,#GF_#GB5G;?UE^5I;51G+H]=&Q#D>(^Z MI*7-KJQ_R$NAGI*09KNQ[A&?E*[3P:N$^"ZZ&QO0M'9K^2UP<\="FHZG8-! M.@;(@^C\,0@WVBX0*EU=AQ@EF[$TXRM69<UPV MUZM5)%\KDP^$BP$;ANF5IO0>"IP8=MKXKS'T?(=F>_G?:W!CE/?M]4Z/-80& MH-MU7F8YQ=5%!\4=8TMP\3?USXL)O'43Y3G\D>6-^7D#].BM[*41U1\>5_<0W(D;EB]E>LZA%=BG$;MF M,MIU$D;HV42!]8#ZO\LP =.LKK1%F# M-C;O@ S*Y^-S6A4JOJT6X[.'C>!;]4R4+_WKO(_T%J+\>ED)6CU1B;.ZU2/Z@1\-F/J>A-\1!?3BYLX+)X2M^?RHT@LU67! MX9/:YB\ORFKP!]H?]G.R4!,$LYCQE:))W5>,PM#6Q ^2%S5W08?IY=A=C=VH MK=_SGY@\EF:4-KWXP!N#/@&A$2;7(8\OTK-PP3 M"[T7!'0L_;IG?)R0+2YN?W%=^VFNZS.#'F\KXF'4ULOIW_5<;871\!BQB[^Z M[R7J:.4C @AVC'AB8'YI6;E%5_OJ0+?S@.DC3Y6]I \F5H0]M49S^;^!"UI$5@:6GC T7$?#('K7;9B&1O;M34QK>'9[^>!6BCMMK9I MV-3/C7VM2-6);28S91;D3=V)@,> :T4'3.3SH=MXQX2P'5!M?YYG*VNZ=8]+VK"_:7UX\T*RE MNQ[WA6#;^T(-06L#+Y5WUG?:=[C.+4_ZH7L1\NINERKNB(G&&+3\_U$):20D M-RI#.V7QAU"FNC[*=L&-"8]X$QY\0P^HT!:OG8WKL;9K[0)X7C %N8%!*;>H M$Q;:+*:4"M2)RB)<2RFMIQ,?(M! *36G$X^Q4J*47(,8K:88BT4)J9%AU-&/ MLS[IB;TZ+/TN]W(GW.I7"=;2H2?,:E5J__7M3GHU+HQVKY*>H*H#@MXV!4I)T> 8A*X**D@'"K\5B\E=83# M9A*4IJ2KT//1-'.-J%1IU,J(0"-1.5('R2CMA:@D08N0ON/E6(H8B(^^R!Q+ MD#ID0REG%W*B)0;YK+I\6TX<)2&!P],K89>2[,#!-0V74Y(BR $U3$^F)$UP M"#OWUBA)%70NCT"Q@9R4L<'7YP[R\@?UGWM0EO#-_P%02P,$% @ ^%M2 M5#'SVUAS70 _*D( !4 !P9;5>5KQW3.Y&ZE36M*FDEE3VS+PZ(1&:RS232()E5\J]? ,R; M4@0)\ (<9IZ(F78I"8#G'.+RG2O^_3^^+)*O5I1G,4O_\?6;OWW[]5;-W]_\>/?AJT^/YU^]_?;MV^#;M\&; M'X/@__Q[$J=__%W^SQ/)Z%>"B#13?_[CZWF>+__^S3>?/W_^VY;IMF<55# M,>B;;_[KP\U#.*<+$L2IE$@H: MO W>O?G;ERSZ6DC]JZ]*T1$>SK]:OW/3_?7KV41I_DW4;SX9MWF&Y(D M@F0UPIS3J9;4C0 E!=_+=__;7L_\>2FF018OE@G]^ION1$5L0>(T6-#%$^4M MR:LUI54S3-_DSL5X/"R>:+!]8TN*:T8:4,9T2HHD[R[D ME^-H"=Y0>TBJ?->2LYPEY"G[6\@6XH5OW[QY^^[--XIBL1/D5+PL#U*6T^#- M3T%&9^IO3I>,YV(K?:39S3\VXRMOHEHK-[^YW?RGT'YS_+#T?CWRS2/ M\^>+%ZM#$$V3?WRM>UQ2E,@]F/&U8/Q05#WA!J/LALY(4KY_\B7.*HC3M&A- MUY1D3VKA%5DP(V2IB/N&)GFV^471&'S[9GUP_=OZY]\OXBQ,6%9P^BCFSIEX MRQ^3IRSG),P/Z+;HX8&/AW)=W&^61065&GXL>OK@:[,#B"V$7HM_'DZGYH8^ MJ7XD3PEMHOA%HSIJ=QOJA(=?,2ZP[3^^%OBX/&G^+C\;C?[Q=O\T M+\^I5M^F^K#KRM'Z1Y;F8E)?)DJN O24>ZA@G)LG@:ES[AR8(58@ML +@M1D!5!.$ZPG6$ZPC7$:XC7*^'ZZV/5_>@ M_;L@H22CUGC\L)]#J%W]:D31IX*B7T].^8L8.#XQX.6/?P^-L@3E?B3\:?;1%R M15>'(%G[=L3)IX*3$6B^X.-ZLQ[,8ZA-NB!D1LB,D!DA,T)FA,Q#V9/-SR'G M"/FG8$'X'S270@\$^"FX>)FU.;EA%'>XV8@0A- (H4\60F>YVF0-D+.F)0)F M!,P(F!$P(V!&P#PD8*X]?ISCY']] MN1JNQ,8D$S D-;_%^?R\R'*VH+P)$MMV1YR,.!EQ,N)DQ,F(DX?"R>W.)/=A M&$%*@V@=T3JB=43KB-81K0^%UH<] MNURB^HB%A?H'2:. JAD:Q.F4\85E]3W#@9P@?"M:!L/Y$T%"),FX2LBVBO8> M/I=[$Z?DG$6')[[N\= 4%9Q+&8A%09+_IH1?IM&%^)!5U#4T'9C2 MB_6LFJ1I09*R?F8%E77-'%%82NB.\IA%5^*W*KVIL:U36N77-*/T54M'=%[O M]@\=RC=M[I[B*H1OTM01I>7LTR_\VG:.:'SD1, _*:'&E:]KZHI2\9HZZO8> M.[$K3:)(0*)L_1^Y&MYHC4PU;5W2*L_!6_[(/NO-8=J6+NF\8P+T)/\O7FK. M\^;&+JE5$/B6WW&VBLN+E&KIU31W0O$YE3;XY%H PR__I,]:4C7MW-#(%@N6 M/N1"?WB8$R&QVR)7EW;M7=KRFF"#3FZH+\'?\[F8=$N2ZE=1;6LG]%[%"?U8[-L'7A'YNHDSROBYV EG M>PG$E<2]:N6$ONLT9%PL2@4>U99]+LLJ\>?:(\FHER/Z%US9U0?%<\)7%XE3"B)[.BC1/:[NDLEF:S-/](%OK/7]W,"84/;I)Z MJ6K:.:'Q-S'?_ID*+>*!DHRE-+K.LJ)&K@WMC\XK;T@7DZ:LN9"'=EKJF@Q, MV4.9P/C\YNW38YQ7VF)T31Q1=ODEG)-T1C7[=EVS@2E\Y$1J)P_/BR>65)!6 M^?PU3?^C/\-^$<5B5(VD*IXZ(.9F?1.QGJ##%@Z(NHKYXCK2D_3R^9 $78=3 MOG[I),]I5KKG-(Z9YL;>XA].)CY@WV*IM4YCE$";+S5PE(#FR]U4Q0H8?64? MGU$?,6#+GH&=T)"WMT!YJU/F#%E[!XZU&N>\(4_?@>/)S']NR-[WX-@S]&@; M\O<#V,,'^;6>BK5^ M?%/^H$(2G3_#E"^H<,3"M6#**CQX8F%=-642'EXQ# DQ91 >8C&*)#%E#QY@ M,8_F,.41'FPQC; QY1 >BM''!)OR! ^^U'L!3/5Q>,BEWH=@RA<\Q%)CXC=E M"AY<:7:IF/(&%9\8>2E-F82*3VK=QJ;,0<4F)F%WICQ"!2@F(3VF/$(%*#7Q M8::LP4,FC<$PIJS! RC&<9&F!G9X6*4ITLJ4,WAHI2$$SY0Q>(C%-H1\P^G_ MJ&,3'GC11G 8\0,/I]0&@!CQ! ^>U$20&'$$#XR81IWLMH_AL\/#;6X[C8(G MDI TI$$VIS3/@B61,&E.\UCHTA9%H.S'=)(SWI8L+!,%(.ED3&6B)DG"/LO9 M=<7X!2N>\FF13,)0^BBR>QK2>"6C7ZKS$#J-X8'7/:AP1_@M5T;@Z%>2%/2. M

-!Q:]/3+5PF!)D4^9SS^BQY&.UKT@,"',M 8\_"R-03Z]2F0-ET\<'(G M!J-BN49M%HM=9^_<&2X9LTY N*E=.,T=L&C=$1>M.YF@;2SJ-KYP;>=%W8:W MU]FQU %+F]J7@7'R(W\=YNCPKLB.O#5Z1)P5['\;9,5B0?BS+'2?Q;-4Q8K* MTICE$2+U MYY3GXKNMW>N_TGD<)NJ!,3,]OZ"[P2#C^9ZQ0/QU:"@0/_W^@7R)%\6BDCGM MTB4VNEK:JYXYHNY=AB!5KK?*92YJTTJIX"HVNWG;-]D:SLR).)!:I)+>^ MD1^C_K+(*:_?I Q;>Z#_6.Z!,9,_'+G?","]F<3R#+I>"+"X*FONU[)@WM$' M5Y1D=',E6$&21\H7%5NT:7,@'%3B3?,.X^8"P(EPQ]E28+?GNX3(_.0=7CM[ ME@G8-1/,HBQ\05@/C[LU//)5CN_6ROG33>)V75&5^L1NUKQ M?K!QN)+K&:G6-UF#R@>)@S:G)>MP&$'DO1&*,GO(-[J AQK3B>-OIM\:=:N* M-5JD0$5KF.X:P]R]Y^QKZ&V7;EGH87&TUBG +)TV&S8S-)Z 6ES#'VC EV7+ M+]W&,00NK*CE[#8RS8(++&K);)WY'%QD44L>;0VE;B=RCP>2F145W"ED@*+9 M\.Y=D.=6/\I(IS.JIRT,H[#Q:NTCOEJ[C3'7>53==T%*\R!.14,:B.48A"H" M,,CVPU$-H^B,QG(7-6=!#D;)G4J4'$9&O(R,($*3$Q!X$X#>Y*!J;(\^*?1) MH4]J_-9^!-8(K*$":\-#R#F6_CYX6A?ODU#S*4Y5W2.+@D(FH[C#ST:$('(^ M%>2L2=^8A'\6,:?1N^B7XJDZ.K6Q'2938,+"T28LE%NHFO[E%2SKE5 ?[&C< M[YAX OJ]]"'$#:T]TG^^.[$KT%4#.V:=?234D&Q>GT/SJH'?6EY-"3_5[;S0 MK,S3 OR)?V6Q4 #4YV\,HC?N!X>GQD!SXW['Q!. O?=8C*IHD(1C6D"#) 2# MY*D$R3?A0=8:X$/DUOSL9ZT/U]$9SJU4 W"66/-9R8SM.J \!4.L5 CQOCW. M7$M(#VX.F^\PK%EQ!#EYA]EX.TUC.)&OQY"G!"4SYC3RE+IM'/5&'(RH1<>_ M'KU SBA O HPN"%?0*@ M!"]<%C+33>OUKGKLB+*'\J![3]F,D^53#Z:* .O?E_!A,2; 4:-\:-S>-XQ XFY&"V;F(X8%DYS[.Z7??OOGG/+N&')4LSQF\D!?6YI\;]H/%4FR-LT?/8^ *0_?R2 MRL,":[4L5=?+\TR]Q2?1U>0<(P< 9A*:MN HJ6C:@F#:,LOX-3_568=#$S[G M=<4]S3;NT1DN;@(-:<$@NA-WP%T^W-WI_6VOG_;PRAN6SG+* M%]=I*.9KO*+R='[[[9NW>CH,NSBJS@KYDN$/8A^II:WJN2/:\ +DX[P >?*9 M\*C!;5+9QJNO_G9ZOG)6&.X 3<3!]T?68-- M'.34]7*D0%@! &:+I:EI=+$(QW +M]X; FHY'\DMW(/?B=[3X@"T>1A8Q@QE MT]/]XX!D8V0!=RL=#/'"$*\C#O'JU<_I/M+KAR!.12L:Y.0+M:[S4-W;84Q7 M'0&#UW2XN#PPZKY^T#E,RHR2CS<:2G8/X(22P:/H&(/;.@3:X-7FCFD?^=7F MQQ(PY MOI+(BB70,F'%EU=<';QI'B"%W=KT]\SX,,WC,6?8Z31!!XG>8DG<4"R$ZRC.;9YE%)K(9GZ_ZP>#S\NRVO M]>/XL%@OEB3F$DO><@'@ERPCR>U4AA??B)TEVJ>RT9+=82B?MGI#[AJ:>^$@ MISPER:>,/K!I_IEP6CLO&]M[X6$E)@SCAN=>4W,/'-Q0,;'I#249-5PH!CT\ M\/&!\#]H+NT3#S0LN%!0:?TVU]S! Q<]W8.S5/PS+./C;/!5VV%\)#*_ MI*1!,6MH[8-^W:609E_*MKN?I&U*>"CUK0NZH@E3]%U^D2I*_8YMT=,+7V(S M+N@]#=FL-&B9?3+C?NCW]NOW'HA:H>%$=%/1;KW-9F(VT'@E*:M=$59]/? F ML-7M]#++XX40MF[N5#<:?02"T=D"R6D_HN@#="*B$W%,3L2FO8#9^PK \6A M.&MCW 03:-&6T3:V:7#):'9,UQWIX'+)++^GO:O(D./O@')L:MDP9/-[H&RV MP-*&'/\ E&,S\Z$ADS\"9;*=1<20Z9^ ,MW2OV3(]<] N3:TZ)L""JC0J:-# MS91]J("JNV/-5 )0T96EQ="47:B(R]A!9,HH5*!EYE0UY1(JSFH5C63*-%2H M914V9\HL5,AE[:%7LX%W RX,T4,JM;;$& M77=WU1KJ*<"P=@QKMW+6"3!-9C,NZ)%S]':ZAIG*OFYP.X5Y7W1D'Z-''>_0^7LT6P#H=DLY!\7=!2O--$3"Q .7%C@LQ8S-9 MW".)3FD3@I.HR'H1M"-H!M!-X)N!-VG!+I[.3:=P_#O@Z8.>MO0@Z#[5$"WYBKW2?AG$7,:O8M^*9ZJKZMM;.39MS:SU63LZ3=SJM *GVIE_'68, M 4&9'H:8L1!J%:,-"6U(QVI#&@#V.K9HX$1/'3 MSM34:FQWEJ<.Y*$AZE0,4;UKY%=R$E.5G728H&6I=5N/Y)7O3:*:.7_:'A[Y M8'52ORKR@M/)@O$\_DN9L==I#E8?ML]7H"T%;2EH2T%;"NIHJ*.=IH[6 "(< M3\M^>6L) UY=I?P;LYS_]C(N<+]8S E,0]6)"FHD J1EP*IK,AV.K;I<.[4 M:CN*4)-&3=H*^UZ)R?6KG%OEHO]03K#H-KV7]:AXG,YD*-?K.^ /+YIH.0QJ M5*A1H4:%&A5J5*A1G9)&U>V\=(ZR?PH6VT*50;:M5-D.8YL-Y@YAV]"#^!KQ MM142NJ!/^:ZTZV1%XD1.JRO&'TAB6/^CQ1 >./V%)M$C^T!R2>CSCN F]HS[ M>>!)5G'-_;:<2&H[E3 MB:T(0IT8=6(KG*N]-J+U#9RH(:&&A!H2:DBH(:&&=-(:DNT)Z1PXO_DVB#=7 M8[4#RS4CN /(C40@*$90W#*U9WMU7'GG16Z9QV36'0$R F0$R B0$2 C0#XE M@-SNG'0/D]\%62[(>")"7K*2X_9:MY:@V70\AQ#:CB0$U*<"J#7%*G9?^1 M*>^GX(WR*>,+DH8E"Y_$+IM-PCQ>B35D*<0N@WJ51O475+]FDR*?,R[K GT2 M!P#?6V?RTXHO?/E%@-0XHW<\#NF]G"'F$AOZQ1"ENK=1M9QG70<&(I7]W;S3 M>3'L2_Q+Z^GP4]^+749,>K'3*)8F:73P2Y==;+A7HM4+K5YH]4*K%UJ]T.IU MFE8O;VK6""-PAT1S(PS7[1O^&XK@W9A$T+/>:"BB[^"*:$ 8;RB<[T$*I[NE MQI#]'P"P[]J'SIA:"M#W_D1-Z\]+G32I1,\'VO7OU;JD7FU0ZMN[7/YF/E"\R=_%IF+E6;,=!0UX:,!# QX:\-" AP:\4S#@=4!0(S*XM40R([*A=0*6(S*4 M]0+OW*OOWP@4?9R7+I' MZ#]L8&=.OK1VL]4.XA!C&]"!(!I!= <0S5(9O"63'.4\>R1?UN:4,YJ*V6Q; M4J#UB%[E<$&GE'-Y0?27*@N:I0Q:C>:5_\OIE,HX$KK]9-+R(F_93D-!M0JH ML!1"^R$]5]20U)[1*>,[RL6.0K,\#L5WO!*_QS-;870:U:L\/J5\>]>ZH'F] MA+-[EB2":!F'8RF*M@.B\HW*-RK?J'RC\HW*]VDJWSV B!$Y>GM7+4;D NX? M38_(+]RK/C7JK(AN4-F]X>VG8+WE!YPNY5W0Z:RE]:UY)(SY/64S3I;S.+RGLR9S2E_#]<"4.F"C6%[PGHE= M9Q)%<9E4PVY8.DOD=?#EIMR&Q=X'[X'A\H2]$KOVK= EE+A?O'["*6GFK/TH MW97PC.=["KCXZU#Y%C_]?BX(8DD<*=(4F*Y8+\T-O5%;N?F8-!T/Q;UMG>W- M,W(9WE0O0SF#S2SC[0;QP.UZJ::SA_+ SSZ\0'(';#6T]D#_/5W1M%"[SJ4 M(SPER7F1Y6(CXBT_70\CHN$6#;=HN$7#;1=&#' (LSG]1V>4-@5B8 R<1M^" M61ZFH"SOW>?D,,9XYW,3'2;6'*'#9#C[:6^0=43.DEY,#B-TD'31+$?D$AG2 M5C8B#TF_5E'G_I&W058L%H0_!VP:9/$LC:=Q2,13$JID1^E76 J<$,8T$\=. M3N(D"^0!49#M_F[H0.GC5>X\+/U1BRZ8$W?!W$[%U*%7!4_51KE_K6&E+<^N M4V\$/BQ)2#^0M)C*R\NYF.!7)%R[L\7KSRD7DSR5 0\D??Z5BOTL40^,F>GY M!8YLYA_(EWA1+"J9TSYW19O8\VIIJWKNB#95%U+COGGUS"5-6FE5/(5&%P#O MRR1:B84:9V+YKN.<-'96?4,/5)\5<1()2FJ=)]6-/%![3I9Q3A(98R.WPT)H MC ]LFG\FG'ZDN89ZLTX^N%E34W]0&+;V0+\9W7#HO9)(F"H5]#K-Q>81"X5# MJ6&?,CHMDIMXJENS-ET]L>ASG"37 B+$7!F16*;SH]4W]N&W)FFTV6(D MKA&$<;:BS4Y=\XX^N)(U7F*.,$A[.9=4VNJ()4Z35JRM&?3!NR&_<$(:M]!*V\MK^PAI, M() X:',FL@Y'#D3>&V$TLX>KHPQ TI@2P<0(Z%85:[30@HI0,=TU((0/=?@: M>EO^Z"*@6FL.8)9.FPV;&1KD0"VNX0\TX,NRY9=NXR@%%U#48S%BR-M:" TEF?-I$0("#1F8LFCBUP2$B,];L8P\,&75W M@ZX9H[8N2D,VW=V4:\9F4_R7(5L_ F/+PD_D/)K_NR"E^:8X][*\^68ACOY, MWEC<,7R_U=CNXO4[D(Z"AO !-Z'277\*D$--( M)KN5\$,E -U.!?8HT^#N*+\M6IH$M- M=N4D_+.(.8W>1;\43]6!_HWM>B#C;#UUSWI>SAY53_7DPCQE3=(TW5W2PC=;)D)38N#YGZY 7C?L?$$]#O MI4\):F@-@W[I:LR?KX4^R6F69]=95M#HELO_2J7N8R&7RNWT05IIUT_-V>TP MN$?I[!UJ+\[M1T[2K#RIWC3(P&8(V)Q6?D(9_;3^AMT%8?H&,'*JPG03SN7) MHH+!U!ES.[TM M=*X,]CXO!36R>7W5B5<-_!3*6+#T(6?A'TTE,JK;>:&Y!$7=%3RKW1ZPW>ZWTJJ=M-M@O6VA@%D5MSK,-: M@XG116=8F;' 90.9STIF[-X#%8XRQ$J%D(7:X\RU5&' S6'S'88U*\H@)^\P M&V^G:0PG'_,8JF= J==P&M4SNFT<]48KS//$Z%([CC&Z5 ? [-V#(TWX;&\' M&FGZYQ!.\)&FBP[F AYI5NF0?MZ19J#:&<%'FH_:V9EMR/=/\/D>PDUM*)V? M@4FGA5O+%/1 N?C85T2UJ9R@H$-/$=6F8H*"*9VE+CC/TOHAF*UW@X"D4<#R M.>5!O-WP J)N:.R8M-7M)>YRN/J@LT-*EYHN_+GTQJ[_4')5,EW_\/NGA\T+ MUV[7UP_@I'+!HPB3R_8)Z#6YK$/FQ&4ARU!I4R>J'CNB;'V]^^ZB5I)4SC.C MMF.BN?_8+3/:-UOR/D6:_*/&MC[J?^S=[WL[/2A6I8OQ,>L$(VL#LX0P2VCP M:,W-D72A:J/>41XS7;R?21,TWB6GA=" M3TK#9V6-)*$2?QJIOY+2&+?5%LZHT"ZH4*DT0ACX;1@?B?&11Q ?V8P7F!60 M@\3?L45/8A0A1A':SU@(03(]A5\9*C=@YJW9OLF:%'I04[2?0P/"I.SCP^D, MC:.+;L3P+.MM L.SW/ADF[78D89CV9BX1AJ Y40)=^XA_#&8DI@'*QG](X1$ MLH*7X4$=G8+6X[KS [8D#:LYGHK##:N6H&T/;7OCL@8AZ$?0#PPP]AB>ZP@, M_APLU_>%J0@INKDLK",6M!W6'11L1QDB042"5MCB@@JE,8RKBD/7-4'LAM@- ML1MB-\1NSK&;?CMV#LK>O G$"T@:"N 8L*F.RFS'=0C+VI&&&9.($(%D3'X0"V)1+#9U<2[7L_DWQO\0JL8OK.#9 M/2T#=![9&;T4FH>,87ED=X3G<1@OQ7JX3J]$N_]'.;M-Z3_OQ/P_8,'!F_H3 MQ0/EJSBD92#2CDY9-F4EEO19N#Q4Z&**9:/&X30^SMZ M8/]Q3K_[]LT_[VD>E[$?QIVAG>'-##U2O M ^H:B=:V\T#SR^WA82EF N,WDH+Z/$WC?M!XJLVGM>AY;'P!R!1^2>5AS>-: MEJI+6'NFWN*3Z,KDCY$# #,)C8]H?.R3$?M3CW4X5.!S7E>/WFQC&YUIV>;< M 9, :?Q-F*W2",J0WM\DA9 7.=AD;43IP.=M_=;)S+5"<'S6$-P]R=7G&NSO MB(2P,H>;L0TF 4QG1D>L'W W3'2I.G>;>>&WO1$A"0#6>Q:G #J%.X:[6 ]L,-PAY:T81SJB4<97#[E= MR:^?]O'*]8ZIKEC;W/L@]Y?;Z91J2VRVZ3HDL;\)V#[/:31944YF=/N(B^-T M$I^K&I%^E5IW.;MAGRF_BQ:N8Z5['],;>I^6R M=_9>C^FHV';E'9E[!;9K[M MIJWKNB+97]W7NT:6Y-M4-35II:6^ MAT,7 %?FY#/A48,OO+*-!UJW9UFI3JHSZDP>3^=[2/0C2U=BCQ&;C:1:J)BY MU*9VS\]9EG]D^7_3_)Z&;);&?[TZ.)V][YAD6&*B*\;7/\EV;UP+MI8(G]*6 MZ.MV*J&+;V0;\ BQ_)HFZ#JVKBD=+:L)CJ M1N.@%L!Y=R^V%*'BB&VEXN[M5Q%(-6U]!/!4[I-[]Y>>/>^:K&_[5)NG^I\U M\BZW2-W./,0KQB0I:724UL4KSA8?"/^#YFN%N%3\+TBN#9QR\,HQ2?+E3G@ZYNORRC,LJ@;7W9/4^_IAD]'(+EV?ARSVG%@$.^L)Q2_' ;W)/Y6(2 M.[KR4)-0.C\?*5\X$*\M)2.4^]Z):, MIM>-28('CE31>\'2TOM:FU$[_ LQ4-K+RMK<'1"XJ#>E\A<:HD0Q5+I@6!F5O_1YKKIW2[@,F@T\F=M M(I1 Y2:TFX 0LF5ZG(@U 0[@9N*@^R-KB,@$.76]'"D05@" V6(9N#"Z1+.: M\#8P.X,. [+&J$%0R]D4XP)?>4U?0Q]?"B_!R]'F81!G 2_5RY%LC.*IW$H' M\W$DF@G>SMZFGBZVLP- M^?X!"-^#)14:RN%'(')P&[!H*)R?CD4XC='$A@+Y^5@$TCH@TQ2-.31@#GOL M]!6O82HXD#AV^"!54_& !+8^XZ],!0<%\+J."S25#S2<["A9U%0\T'"RSY1/ M4YE!P=ANP^I,I0,%>0]05,-4!%#P]0"%-W8B\%] BPAU>E%.X:"03X6P\CD- MGA(2_I&%B;I@$4TV5:@VK'4ON=4;*2"*=/7,#9;U.I6R M7EAP!PON8,&=TRVX,^+R):WM(5N\/-F=FI=?EE3&*5S$JS@29]_] /4 ;-][ M+#+]5>";/$[$*>5:JM5O'KM<[^/LCRM.I;6%<@'^74FU[KUCDNE:B5;>F*V] M_<#FIQY*G_96$'U+N!L5$.4-.RT>)7>*!07J3H=!LKF-7XA)FWB['28O>N;@ M9),7,<=J1%DSF'4UEKQ#S"K"K*+CS"K"W!#,#3G2W!!W]K$QYXPX4(9'EC'B MS70]YH03=XZ3L>:=^#0HCR%8:"7(+ENP:;#<9=&6 [F+%+*C W284!M6,$8( M8X0P1@ACA#!&Z$ACA,9^/1#&!XU$IA@?A/%!&'6!\2H8KX+Q*ABO@O$J&*^" M\2H8K^(T7J7/8H08K8+1*N[B(S!:!:-5,%H%HU5>[_L8K8+1*ABM,NPDPFB5 M_J-57$5>_!#$J6A%@YQ\H=G&R1_(O;L@VZW7-'[";#2'41 V!'6(95 UD?ES M:1Y:_Z$DI:2T_N'WB\L#.]#K!YTC!W F*K/3$3#3@5V^ %7?]7U4M^G-/* M2YR'&;P'A@_?=)UNB:.9V.$ECCQ7-7W#P[L^6_?O@>RUJ&01M"P3X_/G*>.J MS%[#;=HM>P]*\LO:9U_*HI)2B':T-P[C*#;EH=1]WE,VXV0YCT.25&XS1FW' M1'/_/C@SVC<@8)\B31Q58UL/OJ,+.J6<"W6#?!'HD>;9KYO(S$F2L,_2/JMQ M*%GT],O734R>E*;PD>T5^YPL) RYG7Y*^?:WJDZ?TBB6=PH]%0)-RQ*(8O5G MM],KQFD\2Q^*IRR.8L)CJG,5>J3$1YTGXV-6(R[[ 3QPN:5-JEEI1L]H*M0) MW7W<#:T]T*\_QS0L-'= ;_U17@G>>?L;Q:ZUO_6*=;I>H'J6:EMC3,7@,17- M2(I90=S1A198P$E0CM7F[\'TIBI0_J]^IN$(O*]6G^S0IC>Z" 5TPEIO$.B$ M'=8O9*0^C-1UVE;;&YDK=$@+],B\G1T-UR/-L?=N!#*4&[1[:P9F%\I%-+9F M%D/V0%TRT];O8\@KE/L9^_$3F4(5:'[L!Y'K&!QDQ,/?IG(J2)VSG?1+P+55%8^:&S7 QEGZ\E^OIOK.Y!Z'8EE M$4]C>6J5V_N&FDD:;2"JP&(J#E&&,4K59J:VTC5\/2_$Z9!6!K.X?3-\47UD M:>A-6J]?[D]@ A\EA;Q$^#UCT>SY[E%?K=WMP8FU8G.P.G34; M]1GQQOV.B2< *?M5-.J+]#2T]DC_WI(2.XE0R-=FK$=.TJQ4!W1%!-H, 9O3 M2_%U\N=-BDMV+38(M>O*?]3X^P=X PPYM3Z4UDV>,G4!NKG8>G[AR*6X1CUE M2P="K'S?<WSS=/\7=T=[S5M'+L^=GNYV9M:^=^0RO9#?.X:&1CT\,#'1L0:H@\?^R@<7";# M9X]L+;W-9*+9>\XRW>(U[0:+(S&I;Z?[,\6>.^T0F,2!)1='GAY@:B]EK0W@ MHTL6L#(A@TD7L/\ZS-A%"BJ(>X@9"R&O */Q,1K_^*+Q7;DYKE)2,E1PPP/,C?P M/(/+$1ZYR+L*VEU2\7@$;>>W!I?.[$'0=MY:8?WXJ^><]14!=Z5T] MD[U9MZY9-IF*W?Z_*>%7HL,!7SV."%X.'\4Z>_Q,DQ7]P-)\KHMUZV=0\-+H M=4*,;BXH@EEQ6.6AG\%&P?VC>']_'__%:./@_S/KC_O=6+!XUX?\FW7"F&2, M208?DXRQCACK>'RQCGW"4' ^WR%$4'D0@_.Z#L;Y:P &SOLY%.^OL3?[Q_ ,) MY[$L(W\5\RP/BUQ?:K6Y=2]W /]+W@K!T@\LD:'5=W)O6(A_Z^DR[-+'M;G2 MV22&CXHPKZE)6].L!R(>YI0*N>TC_T"ZQ>P^'9Z7X+BANIBAKT\\+.F1,;KRIGX/QE[KN&QPTCH%<_$ S\20(Y96_@@>9@"4.-%=OR+^OB !<%EW8URF.FN\_!I(M'3JX8 MI_$L+4N_A<^J(D&B4.%[,9%O]+=PV ^ WDGT3AZ!=Q)=>.C"\VQA.AX7'A@? MR?$X$> X5]%LBV9;8&;;3A7\H26YFJL68-QS[1BTU3&OJ]:;,*.K=>^-G_MX-L]OIY^R,G7:@!=-#P]\ MW"Y50=%T9K0^&EK#H;]^C9AU@L--XSHQ[N>=)[.U8M0'C<)H% 9O%$9;"-I" MCL\68K$_C]1 8@,11FHBL00-8$*:>^&R%6\ *W>9J12&_ $LSV6HRQHR"+#^ MEKE^:\BCNPMN.O (QNBJ_M/QY@G#T7P85PT(0H,J&E1;F[XV=_JL*R0:F+XT M/8#PL;X3ZC:UL10W=_;,G4S#"^,E23977ADPI>T#R]BZ7Z;3WO!:U=L#?XJT MJ&Z5_?V$=EH)>S]?9)'-^I+-5Z^:7,E[EBW,:] MU7D\H#*PB]E?"U35^35N4([.$-1A9##MW= MTF[&86\*ENEQ[Z[Z27\"@.T669"\X.J2G*K[D Y;+B"W*X_5![KKAFWZ0V%OT]I%&=:>Q2U'@<:OY=G<:2SO(43CRY#%P!$,PK!C!(,P, CC M^((P^H'/1Q"J,1C3T&(V.N&KD<9QM++OC#:ZHY/&,-(HD)8VRI$&AG13A(\@ M1*1W9J%%BW0S[HPU1*2=N\B4V[%BKQK+K2GK8T->/; \5MS5CMNQ(:YV7(X* M:YE9[4Q9'P7@ZI=E:*BKU^C,4: K'6O.(R\_4QD\2J. K,0WF-& 4\FWC#(4 M!\4B4[>H;>9>(+Y2#S&8/;S31S1F;V1C7";&9;:.4?EM/0LGY22\6,^W>S'= M[B@/J5&0BOD@L+B]WZPX]?!1K+HW]MS6#.+=W]?ZZ[8=!AK'YE^X[3#H$T6? M*/I$T2>*/E'/>I[MEGT$OM"!6(9FD>L&1H[ %=J>Y>$- &)[RU@21T2JLMN? M58:AZ+;D="[WZ14-XE3\30-S-;_MR$Z4^6[$H#[?GU/7:DI]I/GM M])%\T2!I@QZP^)@\93DGH4XCM>CIA:],T"*O;MG RY6*SUU74->_G@A[,LN^-L&NL60$4+#W26FZ&\#/)* MX,QSH6[&:2&FQAHV"Z!R1J>,KS=-L5_2[/*+D+( O@)C\F<%0679=M%3H!Q! MX&Q3Q$;#MX,W>I.CH'8]]<[$S-1_^X;6'N@7Q^'NPVBHKFSCTVB[EEYC4=O# M=A!H;C@>&]O[Y*%QIM2T]$%W/J>\ @*J/:CBDEPA9:G>I]'>E;F3Z%]%EDLU MK0$Z#_LR0-+[E')*DO@O&OTB@*?XUIM;A6_3!QJN:P5->)R)1_MW++>47U^O M\R5!<6*QEZNB'MJ8=?)1E9IFE/!P+J;L!5W1A"WE1*UGQJB/%UY6-"WH!HC( M_?6W.)^?B]4G9,V%R)-"SC59RTS\7Z2?MAU&\L=WTR&D:^;# 4@5TA,3Z /A M?]"]DU'G#&SL@,[7HZQD?F#O_EA(8_KM=*WB*G4WNRWR+">I7) :=EJ. H?? M5R3663-:C0&8U_5GDKZ.A&4%+Y=0PV[7[^ 8=H!A!QAV@&$'!RS50RJW*\R M*2VYKUEJ#WW!?4H3KDU],. B14R8T]JFP7%C&012;TT#M_R:Z6;V&@^XY6;% MI84I =QDM6+4RK<%+CC+BM4&0SVX(*QVS.ELX8;LN4N+M&//PDYIR*F[+$@K M3ITY+@W%Y"YSLH68&GR;ABRZRY^T8K'&$0IN(S8#2&;1..#P42/9-2Q6V++ M(:,N_%7&]( [2LVFYQ"F.7"3N6OQO"?5Z$C" M5!I,I;%R0$_"D%.U(^W=\BLQ0IE4)UT!=YPNXF*17:B*.T55Y+M0[XX=\ ME0?)G17B$*19)@Z'ISA5'[HT(,T$A^)?F6"A-")-.)?79"K.S]6-F==I65_K M=JKILJWDI"M/X?CM/E*HQ$R0_W_Y9Q&O2"+)OQ<+AL>A. WD [&67OZPUW+K MH10K;\DRDKSGK%A*!X-)@/<*Q@MAUL1-&_<# MQ9- Y%2LCS9LO>X*A3->[!TBM,UWJQ\!$I\;U"X!01HI"]^N4L[NF2WSEL." MD(C4K5/Q?AMV*_J X&4K['.RC'.2-&C9]@. X/*.TZ78[3? ;XWW-A-.QIEJ MC[MN@WGAO@P1D%+IL[/)D]>V M]\##1GV^8OR>+@L>S@72D ;TQ8*E#SD+_] P8][1(U?W-)$^UDHZG$<)/+))^&<1@:3,$!$[5MM+LPC7N!X$G<5B)XRE_ODM(F@L%1]HXE_MY MG4W,-0[@@TO.0DHC%9-_G66%-&9NP@$_I9'*/Q04QBNITE7O*)*=G957;;.W MRSHCLY-W>I;E!Y*O-R&E()]V+ .)=1S9LUSV MCFBUULT5VY:C>.97'DBWTW8'7\T8&A7M,QH=6K&#[Z M%=Q4&)3E/=':!U:!VRQ'^N;0FC @8Y^Y-0VQP#,!8H$J'?<8ZJ!/QB%1=7$72Y9N2N$N MY8Z@PH@%FR\[130G<;*=U\U%@ =[M9-ZP0-3CZ6%L;2P58))66X^OZ(RV"@Q M+7YHV,LC/V4Q?5M^&GKYXT<3[UEU'51#3E#W ?U)0<$A@>5NQ+MMYZI97X_E M1]>+J5T54K/./KDKEU9+[HPZPRL=VV)Y]C"B1SF\6&3MOK7-$#X+A!HQ!9C^ M37ANF9.RB43>? 5YVX@*JON5)$6IEB1"39%FUR96.P^,J!V MBCXXJQ"4C8(.;L<82";VJAZXU3+4;+$P>( +\NE9)GTKEN!"@H:2E]FD >]19?4=P7V6/H!K\M7EDQ:#%>&.0@3VL[38N&)E(M4GF3>S5C+/B MO:8_&!ZM(%9]/S \V=YYTG(4C)3!2!F,E,%(&8R4\>8 ;U;[P7JX:TFO8[47 M70C<=S<52QM3-UB_=8]SH*/U *P;N[6(C(WJ8#W2K5G76*'!59[H@5$+5P*X M]/+.[%?83\'5>>C.I*'=&UPYALZ<]Q1*\_-X.&Y;/0!J?*:AR00R1FV@OY'I ML=9_[5$$UN9@<+/>C3!Z@6E>$&I7H30:BB%C5'OFFT-Z($/5KA];QZFK4-!W M029K%3Y)I5!%+&ZTPB#>E<$)R!,K\K)EP,H*F('X10R6ROI.;6- !WFYP^#/ M >G'J,\3C_J\_$)Y&*NBFB&]ER?!%2OXAQ>[TG[ ITG[0>%/F<<7DQHBKSO5>V6]7S M/GM^ORMU.7E#'4F6&*4CR2/GB39W<01$(YBNUG'RO5W(=?K3[ M+FY)PG!.#.<$'\Y9SX@+#88Y!/RC"Y5UID*"8K6D15$#R^!=EIQAI MAZ'#7J:@QEX+SH?O23HZ(SLX=[X?^>@\-FX7%R:)8)+(\26)N#,'PMOL.PBH M-_<;O"W>_;2IMBR3'W8 M5)W'.'X7I#3?E&D4&[",U%L(+)A)YE787I&7D7IL&@@1Q:$JS!C%22$X.NQ< M]FH7\.B $G?1C\Z8P5#(4PF%[,DE<4FXQ ?R2M_-$1&'&L]$;5L M%^4R\60 M^H/6?NXTXIO[5-5^L#YB\IS'3V)#$$?&(WN-8)J+ZO0WL >I?*3K"PUDVJ*& MPV'8+9. MU%"[06'8JQC)-RND# MF^:?Q[VF(XJ]#[5#\]/L'\B5>%-54:I^[HDTL M_EK:JIX[HDV7MECYS"5-6FE5/(5&%X!$N7/E-Q&G_WIQ'I3!J>2B55\?O!59 M+G0N?D^3\NJ\>;S,ZCEJ[N&!CRL)"NA-O**'58L^971:)#?Q5&>!M.D*BC-9 M0[98%.(S"%5CP7@>_Z6^B#6?30/!XOKL^0/Y%^/GB=[KG=, MF':#Q=%.ZA_)HC[ENN4HI\(O@%.QAF+]?69FG6!QLPUNV]\:[RB/6:3+ENPX MF@?^/Q#^!Y5%7-6Q7C$)ZR"!76H$? M.8FHW&?KYX>N&?HV!V6D6I-F#Z,Z0'EXS;]ONQ;H=VL4\#DF"NYC'X;G MF,=3B7GLR?$RV2FO MJ])X:WH=>T2RD9DT0\FF4&7+(L;7/7UC7V$5)),7G,L_R/OTEP)&:=Y7:1:I$"7S(NMK^7:Z.!48,^?D*< M2"KE?YUF0OM0F7>UX9-UK3W0?T\%(;$L1U8]65K,R3Z&1$D "$;$T"@GH5%I M-J4\$_/@@?)5',;I['9:L5%DCX*ZK/I1;13L$*] 236] L#Z_?3PGJTH3]4Q M,Z."SD,X6KM[V7;WPJ%:R/)[W3%YSW!(DH?B*8I7L?29-/%GTQF#$%V%\-4B M).9B7X,H& -]A@V!P<8O@)U(_I:G21MK862G!G5"_@@MD9FT&>0.XP6:=#!X/K,+@. M@^LT+'7S48*#-KTPW<9W#PZ_#"N)&D_]2,/TVKFPH8>KS:F0L!!1+ML].P]5 M,WX]V# U2PXP1 U#U# L!<-2,"P%PU(ZT/^+.'4>V8?UJ=,8?M?4'! '>Y!2 MHLF0S5*))W]AB:Q:_5[OG.X^X&BD4'-Y3/ 8!HYA MX!@&CF'@& :.8> 8!H[!0T!F+)GYG,!!F&[,V3J;P(&3(=EO?<A#MF1 XWU-=17S\^?7V8(WVD^OU0 M9_=(]?V1Y#[]'(C&8F\66I3,T:%_%O%2/9574K%46GVE8J9IU$ZW[?6=[O37 M 2F%;$R[$I/]O5"[!6K M\L*_NDODC?IXR6Y2OO50ROI:2GO&:5;+B4$/#WSDMB%3?#.R6(\6VJDAA]"NY3.%V8;L_0", M/6,US9"_'X'Q9X/*#5G\"1B+PYA*#(7Q,S!AF&LNSNWO;[X-XG0E_F3\>>]? M[0SK9H.YLYC;T(.F\%,QA?>D05]OYE.=_:6ZD4]J]?:5JB8^*96^6'4XW-., M\I4V8*FY UJ%T"J$5B&T"J%5R#GTK3L 1VH?,CUO1FH M]O#*!SE1;Y=RU41L0VE4'6M/- \WN:4DX2:3.- M%N+T$'-/VAJ+1GV.@1< M!2 E1A< 5E85N: KFC!E@#=9018]?9ALJ$IG$,1]4-G-XM\F3)EV\\%1Y2DW MX9RDL]+3>?:\:W-'GN5OZGC9G3%I)'TM'\F"UD[:(5^%DK-]%8!= LVV:+;M MDQ$;S,): 0.(W%9C?>9RWQV=[=Y 3W+\J0T,BD-^1M9-O0?EZO"Z,$92I-7) M9-)9K]Q*H\?MPE@9!K=YF)UQS-@B W+!]WGNCV0=6W]7.U44G-/0FE]K>P(X M1Z(URRV,D&Z_,P9?8/#%\05?M'$^!.9N/D MS^>;(DJU;H_:MF.D'8#/Y3:,S^B4<0$FPH1D63R-2WTB$VO_=OI(ODSRG,=/ MA:K<_,CN!);1ENCI-I@/[C6+7FYN&Y+O9**<6#,68NAG5)^^K(/I6G<#O5$? M]"8>Y:6QRA$@4Z$IS\K/KZ58UQ!]H$Z\@F:KE%D=MJ-U\UEL6> L]_7?I3H) MW ;;@C*4]3M[1V+#;_.%C<$]. M^&VY;J*6C\S&B11LMVL LVDT@#MS>8L96 M'UHK."^A(>M]:JKNG1<_;*SK.?E"LX-2W/N&]R?U?5^V;NFRZ/.=#AT5_9.- M[@ET3[1(;)%;RY78JL[%,1VGA;S*66"E4*F MO%H<:JT,.( MXY##Y9><$W&&Q"GASVHW_\A2=1M>>9_&M8 \7/#5GYQLWS@..5Z)/^-9?195 MEP'1S(E)$^ -AJBK6 *Y1W9/\X*G%['HQ6D:TH[\FH_LB-7_6Y DGL8T>BB>A/QC<08)5*AD MWY9'@R%]1,E54EYU0FO40/L!P'#Y\OM,\JOR&'G8G"(O&ENQWVIDH'(YG\LL MT^OT@HH5R6DD/2Y91O-L6^-1YE)\)F*M=I!1B[< E=<:M[]HL=G.\I@D'81D M.C10R2A_UBX PFY',1L**.=*2YJDD4P'3/:4G X2:!H2J"3$CUMP$\:=)* ; M"C#G8F.+\VR3Y=J1]^K!T,B-1FXTL"(S5V]P=?1F;N[M\6 M8"@ *-<,.M'X#&4"Y6+"88U^AL* =HUA'QC7D'5H-QSVK^@;"@+:/8C==3Q# MQJ'<>3B8.=P4+SDL?]C;#*BW])AR/@ZHV&PU!^C??J*S.$T%S0%)HX"FD?KG M@A5B"/&X2&6762J3@93G]8FF@N:\KQ#OX0B"Y.'NER=T<9^*BQLM?*/)UO^T MMX;%>7"V7L$:LAM:PZ%?''!<7LDN0;Q87&+?4B%@!9=05J"9F$4JC2F+Z[S, M_0X.73IW@G ^C&P:AH8CF:W:^Y+^&[+,Z.UTLEPF<2A7;&E'$S_=Q(LXKPU5 M&/!-Z!% CP!Z!- C<,"2T2D]4BO_$$?RR.S]PYW ([7[#W["NK=__!2LMT.A ME2]ELKU0O#E=T;2@@111P+:FFN#I>=U(,K/MU]+.T?N+'=HS!J(=[1:G8K?0 MA6X77,RPB?^.E3VQ$^_2Z\F2^)(K7MUA%3,G^:&WJBM7(PF3<=#,822M^7)D,[6 M4[6^&G9#:P_TWY?'W";/D9,P_RW.Y^=%EK,%Y0(3)H6TWLM8!_%_$B9I>.LP MD@]C:_D!ZF_&K&HS!EH!K(LM #\K,@'!L\U6;E3\MZX/NA,P8!B\>;">$0/0 MP&R.:DB\V:UE9K39CLZT:XH*'7\XO=G$:*XQ2QP#RG[=? Z*6GR;+BEMVT'&)CLOCF3,WN#9]6)#)/I83MS':2U$D:F7D]K#L? MBU,(/3)C\&^,CV( EN>M;6)7Q;')&_.Z)7J2T*."'A7TJ*!'!3TJGGE#CPIZ M5" :UM"CHK.KH4<%P/1$C\K1>E1:6FW0T8*.%CN.T=&BA2DZDPD,1TK"TED2 MKV@4$%6C2V9MS"B;<;*EU.W.L"PHF!F2WH M1T$_"OHCJNF_DUL/SY_O$I+F0CV0EXPO)6D?J>YJ4Y,N8_!6C(E6 #,=/2OH M64'/"GI6T+."GA4(EC3TK.@,:>A9 3 ]T;-RM)X5=*&@"P5=*,.Z4,R-##!\ M*?3+4A;PS@M.LV#*>$"BJ*P!)Z^I?N5$Z-&ITNW-GKTK?1#?P>!0=H^NI@P6^Q&65 M!FO=8T>4K<'5^ZV?E21:YT!CVS'1W+^=UXSVS5:]3Y'&W=78UH<7@SPKG>J1 M34(!%#C5P@>=3\-Z +1:H]7Z"*S6S:N966VSH[3L&FYI8*QF9M^#Z>$A*'V^ MGVD(W%)F_,GJD1<82YGU%#S4E49G9DJ2'^G5 %7-)H MLG=X:"PO-EW1YH4V+[1YH>Y=ZTODM8 MHRK5-_9(_3T-:;R2-'VDN1D/=5W\<"+V\^@F)D]Q(K8-FHG-]#:?4[[WDYXE M\[Y^>"L612)W+T75.5N(PV,N,<2*[FJSB.]P.]5?V==R%!_\KH-G27)'XN@Z M/2?+.">)('C!TH>H*"!.: M#]MZH/V<9'.QN\C_2*_FBB0JB2H_)YP_Q^GL5Y(4.DN;55\?O.W662T;FF9> M#,Y3*F9&5&Y_8M?;V_#UE2,,>WG@YU+ :/9,!?I7^_P>7?4KV[B?!YZNXE3B M]1M*,KHA[+F>'9,N4#CYR-+0GIG7O3SS-'T\,#'>\:B MS_'.1'% ].%C#Q1N=QJZA[LUY-:V]4+[2DQ3QI_U&VI5$P^4-FL*,/2!EXJ* M.DCG+(DHSR0LR)^;B:_MYI>C^IT=U,GTFI@&,-K8=8+#3>/G,>[GG22Q-&E M3.$7*W%M^36QAUGTQ)*8'3BYE^'B*8TN"4_%WIGM6;(OZ#0.8QT_YATQ)-!O M2.!@U!KJ1J"TH=?$-.@5S1TP'!.CD# *":.0#E@R\(Z!B9PUHWF/N1;N,G"? MT9A98YL,F#!4:Q;-(T\,>7P'CT>])=R0I^_@\62M)AFR^CT\5@U\+X;,_0"/ MN>Y?[$=X3+4IT%C+XT_P>*QV8!KR\S,\?LQ,>*9G.4#D8N.5,&43(&:QL(:; M<@D0MAC'/)CR"!"V&/@$3+D#"&"J@C/!P6@SA<_4 PU.ZS,@O$)5J NT!Z?K MV;%H&;(';KY:?U#;$'UP2J =QS:^?'"ZH1VKYN&:X#1#.T9[6J3N=,->IFQ' M1.!.:>QAUG;DU9WR:,>K5<0[.,72.O/CL('(RU8\XV01'@4K1AUS;^!AR.M?RZ73)LP4%;.]Z; M FC 05L[]NQR)W;,.B[5L?TY"]@TR.9$3+^2S( J.MM6[S ?V'U!#UO:6M3X MWO_:J=>O^.%EW\56;XI1UU-Y(.<8D]"[8ODUQ"?0E7KN9>3 M+8MS^D#Y*@[I'>4QB^YIR&;EM*\+B7;U6K]9X;4S0MO.+\U*ZMEMD8MM)HT$ MBFDF7]O%#R>'^T5#G1"#'CXRV]5.+FEC*3V\TO0PF[VN[1AI[[^I M/?;J&_O,\#C8BK**6FQ6?3#'YGAS;*ZSK*#1_CHL09"ZT"4KK\+5,F+9'QJ/ MZG_/#G%Y&V[K1X+#MU(IVG]:;7=@'*IGMTM%XN47RL-8?)D6K-:.XXOG>[HL M>#B7DTV $7$*Q;QJ2M:Q:SD$6$[K%/,6(X#(&*QCQSK/$7AB70L4 LX)6*^S M5OO'.E29[S^]LRJ'T.[#L%9:,#AWI_&7M#"!@G-[&C-IHMZ \W*:?\)VUGG' M<[8V![O?-=KO9H3IO\.&S)C;K,%M0&UC@H#O/!9L=5$B 09:=.#;5,D"&&)A ME*3OU#<(,%##>&JT4DC!A2&;,5SC; $7;&S&D0M/"KC89..#VLPG"R\HN<_E MVR':%1KT:FGU-F47)!"SM@2;<@L-G[GQ:;J,,E0WO?\83$G,@Y7\:$)*)"OX M.NYN[W7CB7+[F#N%C+_:M;]?=PYLJ&FG&(?UIO?K=!UUQO?F=SW/J7L*1-* MK_Q@U^FRR*72*[;-I+QQ\^Q9=3]/Q!Y:&XXW].M0@FU?!R FU888&/8#P\=::C[<@^7AGS<<[.'Q4S7FS;;ZYY['Q!>DDVJ,R>[TE6W/: M.,8I\ KU^VX!E-E&8]#5QZU-+*7/9;W#JR*-ZF/EZQMC?+G?^'*\1Z"W8!Q+ M8,UZV<6!"T*C,E7Q/JBR#EQ,C=I*PV2I!6UN>>\Q--A:G0,7(&SSK9KV@]KC MWUMP8ET$\7 3'$)4\3 3W=@D,XJYWGR(54FAR=H!?;(/>?I#F/F^)D.ER0A< MD.L@K%=:F=RR/LQ^5V=3A[O%#855F9W:#'TC](?^.VV3/44FX>US>/O<$::? MM(LW '=,&X;QMPH@<;O/]'RQH,6G=!3"^.9=D,E05)4J$81[N1+E[P%3&22! MC"U?R=*![8(3N[[&7=AA/Y1B0"$&%-JY("J3U"::/EVB/+-S+;YW<8TA)@'(6*,TJXX"'S(NR498Y3XRR/$A[#M*<# J-,K MO-E#[4*#@3 <# W[:-A'P_XA2\-J'"-U 'C1'D;J/QA4"[@*6+[0HZ&\ MH-7.Z@IM#-D&5PW+HP9M*#)H];0&M\D:R@5:52Z_Q@%#H4&KUS6PV\D4%H*K M\N7#AP0IQD"L@5Q06-Y:N/.NMZV!U,.;0$0:V!&+P088;&!E*%-;R*-X;TV] MA\HV7NZ.VBR%YAL3:]M"-*[KMO>R-/-U*M@I%*10!?0>YR1]B2%H-)1CO3T% MQRAGB=4.#EBE-UZ(#7T;T^?K$U@1=U1?YZ7N[ES^U:\_8@G#6P(MZ3NJ;_21 MI2MQ\-%HF*"7MN\_3AG#6P+VI!W5E_E5\>[M#*A^_1%+&-X":$D?Q&^D-1WN MM+$TNDM(^I$L:&U!IR%?A9*S?16 BED8@(2A.'TR4F\GZL5?8KH3C2Y"R<#& M!BX_?]#/R*QL>*#BM[RN P@52S!B#R/V,&*O)W/)J47R#6;=.+4POT[&ZF.- M_?-C5AYK9* 7&]FQQA/ZL6:=6JAA5R_UL88@>G I0XHJ$PK)E/$%24.ZCI_J M/9RL\14@XL@,J<0 LE,)('L]Y>4OOU??EOUZ0WFRWE#N=C/P?"Y'.^#+U^O' M)31;IQM8^C#8L9;6/<&6&3FUX8X-K2&ZZ3#@<1QRQH!'D%\' QZ!6GXPX!&# M\3 8#X/QH)H',1COV$+*4')C#L:K9*M4XB9%/F<\_HM&G]*(\KV:#)*-[$5B M[[T40^E'OIWN)0.O%Z.54 =[.P8[8K C!CMBL",&.[Z2B9$%#U3P&X8[8K@C MACN>2+CCP) 0@QTQV!&#'8$)"X,=,=C1D["..]C1;Z3+R"(=@0>P&$KS:*HP M.HJS/9[ZC%X#;=>_R_^12T/\\O\!4$L#!!0 ( /A;4E1L3^I_R(0 ,:N M!P 5 <')L8BTR,#(Q,3(S,5]L86(N>&UL[+UYD^,XDB_X]Z[9?@=LSS.; M++-05V76T5VU,_-,<57%3&1$;$1DU>N7MM9&D5 (712A)JDX^M,O'. EB0< MXJ"RQZR[4B&1\!\<#H?#X7#_M__YNH[1,TXS0I-__\/[/W[S!X23D$8D>?KW M/WQZF,T?SJZN_H"R/$BB(*8)_O<_)/0/__,__J__\]_^[]GL9YS@-,AQA!9O MZ'&U32*_ MQ23Y_2?XSR+(,&(@DHS_^>]_6.7YYJ>OOWYY>?GCZR*-_TC3IZ\_?//-MU^7 M3_^A>!Q^C?+JA>;#WW\M?JP>/6CZY5O^[/L??_SQ:_YK]6A&VAYDC;[_^G]] MO'X(5W@=S$@"' D!2T9^ROB7US0,(G@WT_W5YTT?_P:GO@ZP4\P3-?! L<,,V]BE>)E^WMQ MFNZ\!CA^!!SO?P <_]+66OZV8;*1D?4FQG_X>C32.YP2&ETDAB&W-VL%^T,> MI+D-](<-&\;_2/,@-HO\L$G3F)D*PX8Q'S1I&/,--BP?^PV:PZL!-#\$*8DN MAJ>NV:?B06BP1ZER>H4*;S2,7W/,UJ-":U9MTW"G$YLT7C"@']Z__R"4[+_ M-W\]I^%VC9-\GC!ED9/\[2I9TG3-]7M)AL,4+4@]+V#%L$K0M.CP3I<5VYW% M36Y*,>F0_2G.Z#8-Q:+*2,.RCY/9IX<__$=)&S'B2%!'#?+_]G6-]K O\[3D M[#- M9D]!L/D:9.AK'.=9^0V7JMDW[XO%^U^*K__ZL I2?,I6]^B,KC9HR MWF- ?/I6/W(7O/%.O 1I=!F0]-<@WN)YEFW7&W@KNWC=X)#-_'/R3"(F[O=, M#>S)IW.ZBG+N#)_M^5+21%%!%+T1'$=.YXG[P:;>1E!VWG:H^!N:XT=Z21)F MQY,@9E95SD&>XSP@[4W==2^' 7; @THT"-%%0Y4 4$%$E1 M<;\8* X"'<'9D8*6E31FC4_D*2%+$@;LB M/1VA'$/7MJ@^U#C0O,*![@KR[L73R"!1XYQW;>N$*QQM8WR[;%\;^+?9?)NO M:$K^@:-/X$!ZR&GX^RU?!>[8(&>G;Q>O. U)AN]2$N)[6$U@GIXRT+]W&3O. M".M:.]8!6I]R@' &;JH(%8LY:JSU)T@ /4$E1L1!(HX2?7X,%C'FRP?B)9#J,IO5KUOFQJ:6HEXL1D^A;-T+T@ M.XV%IY_??:N,!!-M"==W,_ AD22D:SS;X'3&/JS9WCWC>D=#X%0:-"J$,H2= M".9W3#!O<(ZN.!1TAU-TQJ$@KG$F)*Q*8S4HP.H#<,P^H7N2_7Z98GR5Y)A) M1.[*)]1'=PH^H39\MJ<=T)PM&5%$"JH(SDN/WR?4.]BV?$+#(^AXWIYN,Y+@ M+&-]6Y"$=^T>AY3MS)C5=A6QOK M&J@7U@F<9_/P[UN2XFB>1-?L:Q*3G.W0 M> <9?[9I"IWG3W;,5^OT-.>I-5RVYZ?U#O3/],ES,^\X ^UA:4$1!1+]MZ3I M[$\3ZGRT;)G9W\\610? *BI[D.D8V')-&36M^TDZ,:J_9T9U*0.H(003<3JJ MC,R@(:W";EL"^\/LB=+HA<3Q+$BB&T9%?K9:-BK,2 M B?2_0.3[I\+3(AA0K> B>T@2TQ(9IUS*NQZPS@H^R/&QM94^--LR:SDV3.8 MR;,U#K)MRG_5DG[9QHP*_!!1)S+^)R;CL-U ?+^!/C9@3$BLI<=G4)+5F'[$ M6ZJK),)+DI <7Y-G^+.(PBMB,KOXS:A-ALRSHB;0:!;0$W"%7%ZO/*(0UK MKH2*.%94$D> ]@25>%$!N/$[#\RB2Q$&D%4_1.@=21 _)<^^.AK&1<7-CY;+ M-SV\>UQA]%)R*"@XM"DYM"DY))A1_1"A?)72[=.*_8M1'___Z%X+&]8NU.*X MVC(LWG\S(\DS^Y.F;SK&1,_[1@V(%CI.C(;WWS"KX:JD/"%#H8_Q@\;!(#=M M&02WRR5.2?(D+NHJK?CMKQI=TG=)^%VS=[&86UO&]M'XJEL"0@(1>O>1)OG* MX&HZML?ZRR4MN[8178NV_*^7%0E7"!=X,[0.WNJ%-.,\.L9%LV."#JZ*?>/C MV+6\Z * M!"XT/P=(SD:?NAY2:TO!]W"9>KO>Q@&D61)!7F&S-^4U(AALK?5B# 6SBXH. M$C@0P-;*?=+E"C!GAX%1L_:M8FSP\EZ3QXU;2F M>ILP*_ZMI-S(]P_._7SDPV+:S;O6-H+7EX\^S##_QOU.\H2G/9Z.SA@RW M8W8AZ:;G9C6!:+4'@0#=EPBFM*1(#,CPNB++9<>+2R,$M+B]U[$6=#^HJ;H/ M&W05I'U(62>6V@3^O".O<-_)%;R"PN*6:ER#\+)H]$@%E6>5_00_$Y8NZU]$YCPE%:W1KJ6T0(/T76<,8I_.=S!!U%'YV[LB3>&4]KLZ8ZF0 MS7 ML[H/,%5/H0\\_OI<]&'_=?'>%&>R"]D:F:O)H,"X3J@0Q'%1( 20EP$Q,QY9 M.EO2=):O\"R NT49J51=L"&1EIZPCL))&H?1:/UF@ O=M4#4 Y[$=>L!SP$ M:E[W@*_VT(-):@C[4J6=@L*PJ/AP42Z&G3@+%2?.(T[7[_L\DU8)CG%(6@'F MS \9DR5;X/^"@]3MW'4XMOO^1P<#=L1Y"(I'%EF>!F&7?\@^P0ED&=@%9GM& M"FHH*!#]=/27VSO&U=)=]K[!\IS=B2WN3+MD[)=9&*3I&SB#@S4DP8=UO6I" MQW*VBL!'MB@UI)/**@7;:X$>HJC."O1HSM&#J5PU,D5KV:XDF4I8-48\_*_) M9\QH(!$4(65_/#*;(UOBE"DTN/P.-;]$HMCLBFDTKN7@ Z@_^45X+ 5SJZXN M$H^Y>W0A&\K-XXYC&O?&VEP&)V@',FI@/D$"-:I@(X&;*U YQKDS<4;/FGZ; MQLS >C9B#K\13^9,(SNQ8;0 ^#!AE(!.S8(Y_$X\^\C ?Q$&C)X8F;)?1LB& MY_G/-!19\RC>\H03/JXAMN4?PI.)7\&AHG=2:!N$#SV@#'9JNN"B[ ":5QV M[4S5 70A.G#,^D!?I$SIA)%R,MUM39<[7Z<)^QL3ZRYW'4R6MQ8:?7:Q=^!1 M;Q/LNF[\7I50(FR"F?KNI_4 19_#[O.*-[ZGR]FR+*-;ZMWB6::8DUDP2^%> M']SDXW$:F985XP:*HYSF)B#[SHB^^PM=-JI#%U9.\70$]V #=%]V@T=&99.T M:QP)V8C$[.8EQW7NX6S%K"^VTJVYX1;3Y$G\\'J"'V3R)H"Q[3L(@?M@N(O),,@C]^(C7"YQV[&_47M;,HI^L@A^?>'"]:TL1] M+EB#(*>[6/W"H,]R.OM8@/_"EBIY\3&]3"G*A.LHW'"%HVU<)BL^N#'-L[/= MBDA%V/^(2,O$1N#"44=$.$=UH6Z-@;$_H$FV5JKS(E%<@1ASR29%(M$!] M@BK;0D>^,CY:D@;H98M=K\2)@\A#R/?">)HF80;3SY-N,<9\'+F[9 M/KGQG+G%V3@:)ZNU,=3>E^]3T1/0!N6"76(\,) 7;^ =+_N"JH7]F%9S\_*F MO;Q;$B+G]87@/B%-N(L-;@VU/Z2C,XQ2=%.K2 69YXI&Q;5;@99?K&M_;(JS MVZQDZ!=*TA]N)\4ZZD\ZTT^N*7LE/ Y(>JCFL?-YBC-!0[0*(JYD\&O DYGC3%_0)?B<)S\5P"KV8 M/8AN%$XDGJX!0A@^0C>.;?:;$[ Q>L&PU$S ,]P4J*83;1[FY)EM<;6]P7H- M&_0 JP&P[O5M\_36Z05.BDEZ@DIX4_;M:H[M@#]WS(#YLHC+R1X4&*W8P4-$ MG%J_76 FL1XV#TWJF71D2YWY#RR"2D]^&-FG]J('DNUD#+W .L; M+ZB;\6N@<,N[D(6?61-Y=I6(PE9[U=+YC^>,@U5:M*X=X]3PN:X\8KH?ZOJ# MM;2@JE?V.&&XBO=2 )H% A%Z@E]0Q# AN.>!^#T/](XD**)Q'*09%%A&/)6M M4MWH+X#3:IIZSA[ZDZ1*3?,ND>'H;:!UPD]L]JW3"T=:Y@/2%;9CM,GIJNV65WOXSC9/& M/MG-=#BZW;&6]G6R-=:7(+\ARP<5NNJ(!6[4S9-H[YM/"T.29 MN\:GMU]5AS:YW:I\%XY_"R7?UVEMH&R.T8:?-CWD09KK'38R4X?[S;XHUX)] MCE\DT83Y?71[5PU-[&3GJBM(]NU8_L^X?!AR;5FR5UMI>K!1^8=I)ZF0'"<% M6U2"^5^,_5EY"\O0#%_'(H<()F=-'B ]?J/QH$O3LE3&/T=G='7K)9>G EWC:]^$*O)J0L9-NIQ!+C_6M^2I M6!UC$BQ(K)^>W@ =2Z:7,AX/9MG'"B.$T]R6& MS[;K&.'&337_L%T [\1EI0C(4YJ:QX7:\(>.K-2SY*5ZQ59\\XZLDI&M\ M33-8N5FODK-MFN(D?./%%@-^;V&>1/RO6%@)T=^V60Y.W8>]DE MIKG-L@/*]APND*&P@(;R&@T**CB9CJT_%8[HQ0S)L,6+A6]9^JG; 72LIUAO MUCB%PHYW 3-\V!+&NA1O(QS]1O+569"M&'SX!_8CST$,LM];-FU\@YKZ1I^P M;9U2(T, B <6. ?VA ]%MGSQ4?;K>54,\>._@7[5[N4D]N3Z[;Q=;S^ MW*4TQ#C*+AGC:\?>78HWHD<97S7C.+M=0E&J1UJ6FJJ+476L+ 9;UEPS#""P MO1J4$!$(/EKO>%;K4E6H+D#E91Z:'$IJ<7RL>4N_GP5AN%UO8SBRFE&8S_Q" M9+57FQ&^69O%;+?6^CO_0V60^J68QN?*G?PX7A&C7B6AKM[,"1V(*C M=[ )_XH]W_8,_#9-OZHER1GVL-H4!X_KXT, ]RSF96GZ2YK"-[4R@B*-$HNA M2C,&5CX91WK'+-VD2[K'-:9[!J!%U+:DBQ5B1YFA=S%?/H3.0PL.&J7[ MJ/WXM\>-'#4['-;LMQ_*!2/>4V#5US7M2UDRMJ?3IP=4 T$E$@104(W%[U&N\I#0 ML7QVM00Q,YUUG\2D2FNVQ!%.@YB_N"UJ-)+G$D%.A\:V)=P,IU*7J"'LJ>-%[A,9W= M([S$:8HCKI.#+,.YB+0??:O+)@)/NWD%I!/1SJY.^(694D M@QM];?%P'@F>;BB87PK;?*EWM..Y>]JV'[)=$)_6'EZ.WU2+B5^,?;U;2<2Y M?=U.?G+V]2[,XX^HWNW/M(QW;5Z/25'14@YINML;0QS2R%0QBDU'M^/I4$X> M*CQ-)%%ULY-G-,LA"NB@>W7GLWG,=3A[NLCF>\ J:"4[?;MC4J:8P=H#EM&I MK1UB]I[S&I"AQ1L":-/+9>U#>EJ37'L3"1\6[$$R[T--N=C7E#OZ<)Y$D#T/ M;O0\4OCJ=INSO682D>1I+VMBE3OBC"9Y&H3Y-H@AB\3[/AMW4@#'6,&3Z(CU MT,2B,A:MH9T@<1&)>V5PT0$XL8*OZS2HJ$R#6B7(0&$-'L5DB=&[O^ @]6C2 M3&((.XV>2:";R@GZ C^1A*=9 5\5YGV8!6N>987]O$W@E:>$_*-P;"UP@I&NY-.B*T?A/+8H< :. MTM5G6EME'=D9MZ8ZK^C&ET].9'A[CU74R!#B9EA:]94+/8X7"($R[- M,VI@6_ MTUIVC9,UN[P:@^=F&?TSG+,*PFS]+ #SM91#1G#GK$S%"3;^XJUXC,^\\LU) M+I?F!65X6;0T^D[G<+&P[\,U-EGEVK<_*_MQ^)U^A66[/_N.9IY)CK'>A%(9 M.*(?&G")E@4_P)TZ1J$3+KRT%$?N+:XR<'O;" MV.P<1]?^--7#YW>^7C0P\QM]\Q(S^)8/9_/13-R1PJ(W@TU(@-.I'.%-BL/" MQP1NI6 -O_QC1"W7T63L3U0I.'[GY7D#(G>USAL0CV<6J@V\WJ33&,V1,P7 M&3_F4Q.3_;?,BDO9NE>Q09]+&&X=SJJ<'Y:D=G:Z3H569&5\I//P[UN28AZ$ M=\4=WVUZ2OD]W61G0^V["D >!*(3%VNR=V-"?N_8]RM>>88N$4_9AX+Z1@^1 M[:2M_&W2,D:U67LLEQB*N)&+5TB'GX'7>B] I/@%WZ4D-%[978^ZZRL,:BA= M16;A&DY+#>KB5XPV@.F+*#ZM*2PF0LK'2,"1!8-V]]%UU.<())[".S40.[WO MY+9KVA=[ICX"&BD,FB']S9XUX_KAG*(U]!_Z=X**'IZ@BZ;B[ZGKU^@H@IX> M<]3M&%U@,+QVM'@=[V)PQ;I%DHR$OP;Q%CO0^1T$_:OV/6!'J,'W>N!948_F MYY3T<=49Q'MS[,JV:Q+:T:F]DG!DJG/WDNEE0%*KBG.(G-<+3X>PCD5I=N'W MH3+-\=*SPA0=021!HBLG"#ISQ ISYR8-?W M*$7:K^.Q%^+D\Z8H],5I1A"K/)Z&98JSIJZ=C(7J:M*:=P K2,EQ*F(PQNU4 M AZBX_]LQTUEWY93G./-]C,XJ';.8"90$76L-:=^,?^#I0WD""2>]I8:B(]E MVZG1-1\[4B1&5^-_CK9^@[2\V2,=>(Z MEDUN9P=\[&P-S^.J:Y#1*:.L D%-L*HKX2UR"-/@OB?E*P M61E)ZF)XCLR&[O:SN+C\HTC=OT]B"I=_1J1E-G SZ,A8O.$V[D,>I+F:T=#* M;1M7K8Z2H1>)H@WFC)T3W?:I:CH[SA_S-]C1QV145_3IK#&C[T@A8OHR!@P,>,1$6:Q"^&-Q$-N5'-$4FSYW&% M45#E?R^K6;ZA("49G,R"$F?&$2+)BJU;8 I5C S?T+L@0Q%>,GY$7Z&7%0E7 M:,6^6F"$XM[J,\06$<9!GCF'@LE!%8&TE$'&L]ZE&8 MIK;!R@:6WTN:+K%(RM;A9218XYEJ1^1_['("_^ MNF>:AJV:$&_V^$(?5RG=/JTNR?/@L;=Y IKR:@Z(;1$_WS(+<,F,>$03C-X8 M$&84(YI30XV8;?$OT7!G.=D&JR/PM0.61SJ9T&AS M7;)R9.:3XQJN7P[GG\WCH#$_33H;=$7@V!3QP65F'[I8"X0O=:P$UK9&+HG] MDRD'/8$QJ1]&2(%C%7%.USC+27C'!.[A)Y5DT[>B+&\8&;P$8A\0G&(-1@_P2PC#JWDPMVF ,GS4L"/7UQ41HLJ=!28T256KH];:(=;\] MZX>K@N $[)MN5E)I_CB6DHOU)J9O&-_CF-\=JP6\/8Q4^3U-*1ILW[94S<,P MW7(%7.^%O B5/*>I-OLF>GY_@U_SXMST\07'S_@CT[:KS-3IO6SSEL_NAV"X M.+DG27UL3U,4L]5QTF?UTD.G<5*O-AZ.I\X]SIDM I8G+" /&V9?T_0:1!-\ M-=WA5-+O:0K[8/NVI;@&( R! @(J,?@,MY)G/M7FZ)3DL/<>LL*;-F31S:WA M86GT>8%890AD)7("UWV9R09;Z^PN> ,UWV_ ]C^LN^2W-NKJ"+J=NLYIL:E^ M:+B12M)H(VC[,4/ZA8.J<6IJYY_R5R*MICKNI./_)KO;5,?R=]83CJOY@GQN MY,DRS>0M]"^&'2;ND!]]WNQN#6'G!O@$\F;OVEB07D5Z4[?_L!'KN6S4M<$, M=*>S93M@;:=5W,XO[T*DL",[?-R8(/G9>PE1FLY^JX7!O>(T@9U5'7-]>%"& M(XEC,AYI+A]Y;Y3*Z&A](VA<1OC7@%&-N+R*4F+F)F8#-2I@3^]:@%EI:+U* M8&&(7><"I3$)WRHL\T7&\[]W3+6!IW5S>[:WZBR'9SMYK5R=IGJB[P$! Y[# M\):"X@3]QCYT\I'*,N=8 MW&1BEWB[Y+]FS5-%?D'"M+=,DIQKI]D K,ER:5X MB%F494_0DJ:(]^5X?5*R\]"$:TI)((Y%;\+5<#!L+MEX?.2)QOE%D-OE$J?, MV(&T^J9UIP))U_I3 MKD=:A$'YSJ42L\]:-+RZZ(D'#1&<1[@.>WM-DX><;;[N,!/*?C/4*D'712\'@4V^MN5@ M#YR6L+3 3S\JM.R(4)M@EHJ^(-Z9$R3%W*D5HI2?AB;J32K*@N_R1W T M?X.3DWR>1!?LV\VZ6QFJ-V"JZ%$G(6_UCCH1&2EU9**_QJH<;0HP)PB7,/AA M",U7;/L:!AN2!S$*N/M_,KW75Z47KVS*1R))*-^(!U%$1+!(3E$,US9C\LQO M! [WV%6YI^&9V%?I29+ACO7551**D]T@+C2IV-[G>4H66UYVZY$>VK&-! P= M>LQ]K[]4@;'D-H;F)&Y%^H#UW9[@_\G MNX4!>5P%PM(HPK3@ZHTP6^#H57S7&U7@CJ!.C@6KP%S&&O08X*(/B'<"02^$ MY5W7+:YZ@AI=48X_F#YW-9,%!(MM'*0HJG.'%O?ZGRN^!0V^L1^SQF!LBL$( MQ"@(+9?#*.RH0 \W_]U,2NI>%H[%><0L0B)2.8O"=H M'[!3Q\]X;OGQ\]2XD0".WD&6;8_'BT;GC D_3O_0'LL!(O_/KY ;+'D2_7AO M^L"PAX3K \(6*),_$&S![/0 T C/_&@Q_@\JL$]%D9F>0B:.] ;'V+$Z@W1/ MT(,4X#)59YUCV3K,VS,0USW\ M@J9L=3=LO;I84>0QKA%X$2@)UE)U?CD6J+V,O+MQ9HV;D.5SE> M9P/"9[9Q34$U \*Z!TT$2&XS<;L;= ]#@Q*<(P*:"-?IJ'_R(NV&QY+:'2#' MLTA$$C&,17JU_2(XOT89;JXE(5MJN/W\_VZ#F%]>>]@N,A*1('V[B.$MNG_Y MUV23.@<@(TD[4=!([-3D4T!.H9]ZAPT5!)15&! N0'@X(S EF=3&,+AVF&TW MF[@\Q0VRU65,7ZZ2)4W78L_<;Y4IOJWKYI*C8GW:-F"@D.% 2P:D<83FQY>B M. 1T)%]=YUWC*UZ'^.W^J)M7C3?B+(^:=N27+LZ&>C*=M"RE.: #&?V7%:>4=E&.))#GKSW[0_ M-%(6W.2Z:4B#SP0W'1QLD8@QR6PZ]D4\=.,NI=$V[-AZ#SVFLW]I: MPE/2E-PYVX*NM\VXQQOV*S\=$ %)FP*&ARU>!065:-E-W'%?[NF_?_M9OT MJ5N&)1[7D>6>9FW+-*/[[O>OT'[.+FW9-MH5/1F?U8<'X,(9\8:][4'\962)JG+54_62!YP^DQ"WGRG?T$0D5161?MQP;OY^ M1K/\AN9_P7F=!:K#4K!.;V2U%..X7&VYK'5 9Q2U^8V_"M13-L3SN7XJ.%,$WES0MOH+G MN@+R_("8FC9M!7OT*K:U5Y/2NX;X[E<9%R&!<(&ST0V?(8*>)K4+C2TA,8[5 M^-DVR^D:I_R\&2ZBK,BF/]! X@U-!=G3LOUH,$$:[=#V&T4@PVBJP3WGUY-A MFH!:&DK4W/.D]@7B@Q9M2U)-$GWVG>NXCZ%4@4MC/:D;7JDY>;JF6786I.D; M6VVXTBS2?01/^';Y&+S"'3AQD-[J:=5O1LL3JT[.MFSIXE)WY;KHNX;=4^%" M SM(*LR[S!L<&FU0(>FS(+1WFZXMDLKIL3 E+")%>(]&SS)"YX4P: Q61,? M-;K'S&1J:GRL*;6!:[":;YM58:ZOL"K",3A;O5P_[==3>C=+'?=:,[D TT>X M[IXH.@6:IT])34H#]5V8'<5TUW=\\%,0?PQRD-YYPG:N//4_3B#O_Y AKO2N M[LT?&1JVU1('@0H4/&O/#@[_%KS:2-!1['7M>1"74]('NLS9],%[H>[]/@B5 M=W6]$3(TK/LE"A"H1'%R<-?!LY-":23H*/8Z%M#ZBA!/45DY]HJK&>#?RP[N M$@_J5D.M:@KU2.I.KD=T^[7]ZV-3HT$,>#.""? ;DZHT,-L'PZ8ERC M'(SWU6S%O#BW4?,KTB<[ NT_L%AWJ.1D>YC_SDWMPOK/V:>,1%CL4D_?H YH MCW*6?D_;Q!YHW[YY70) .PA !8OZKOYTKSSSJ39'IR&'@*U7LTJ_9U8.Z_:] MR:$00I^J4I[WPV+8Q="I98K+>I-$\:F41%)W@&R2LI4Y3@.2[?DALICYGPQ6 MAU,EB]GH,1J;<5L[9>3?MR1_NTJR/.7'"W6&W"(Y[AU.^35D-A9G*VAM+[$+ MKU0'!98N Y)")MW66($IXM/*YSVA?JA/G36 H9 C.T$O!;99(,"A M)U[T,6+PT)+AXZFK,4^V']$X#M*L3G2D?JQVW$Q7TZS_S>UQW#82P5$R'/4S MO&(R8IQGJU4BDHA IJ\ ?MP;2)06V9'8[YCSBKU7,:N9N=UCSO8)#?[!2>^4 MP!WKZNUY<3Z2M=>]EIA.S=7?#?L_INBRDD:)M0G+^Y,G>=\&&H0U%>BF4@NK(BN>:T/(@?<*B@:^^ M;-WN4W7[S9%4;?>ZO;BMS^AF3&JVY7+7[\\/V\X^*L43USG#<2XB72$TK4,: M6I_1S0S>;,MZ,O JB:W.)<"14#4R:A[M166SIN.%QG7.X=CR*HC:].G[@:=TL MQ.VMNCR^*$H<>=7T0\REBASSE;JMEOM>61I\?FQ"M/UV/5\S.BF6 []"-LSU MMHQ5_:QT+&@_4QJ]D#B^I"DF3XFH6!>^/3).9R))T<\!27JH-:(JB/"'K M>Z("R0FD9 ,L*"S H+Q&@X+H;UN1L\>+<&H,#!W/;4_B>\>&:L64Q3P,X528 M)$_SBOM#DBOU[DBA[:7A*@^D%!@='YFE7FID]:BG9HD%U6"0=#Z=TZW&4EPEIW1]8(D(N-,2I])QCX$ M<:..UQ6D& WB>D;S$]]-# 6IJ[G=<5FGS37DE+".6\D)0"?)LIST1-F3-5'^ M:FBHT943U.@,:O0&LJ[P_C07_+I')XW%_Z1.(;1WF>]+8;9N9C"20>5/ MOME.NZ(MH;S)&@>0#8,_6"00JW<[Z%V0E?5.OF+M!#'D56ZN@JQM.,%D?Q4O M\T+8U9"$._@%H<7!HQ4?/?@ M '6KG*D_(75L?;;TL,[9,I3N1^UE38M4CHCM9:M-HZ(:A__D/8IC0<*2- M=XZ7.&5&Y&/P*LZ8[R',^W;YB2UT3$'B?<>#VDLZMM5@XT[LHD$4RLNLA7YI MV"/3 :]9GDRLX0L,;DL4Q%RV0 .P51VNKQ5N2_;]"QR&\%/'J />8E%S5D4 MY**"&4]3S%;N"$.-/)Y*)L=KMK)# ?&(+-F+F#<#4UQ<@8 6MQE&,?2[*&'K M81F6GX-4;PQ=7S&HPP_/<7WMA'UF2S=K*;Q:Y:C=\\I4M'#4P,MC&@+?XT8V Z&G:>AA$0;L*QMD(AT.B%WQLMBL:H3IUG,,^ ) MZ\-/<(J,\%,=MGDZ]1DXX3%TFN/JY&;,\8S3HQBW0(6O[B$/TESWY&@1Q#Q" M+.!["_#2+? 321)PSA5?C#\AT^W91:)HM?3U"R>12H\L'X_U'87Y==P%R>^/ M9(V9O4,SLE^,?=^'UONPKF.NM5'KCCA&%0%95-+U&\DVP%JJQJ^IF)]]]W;D M7C)M@CJYLR.'PJC]IMDOW/ .M+]-\1 M![KZV4[ @8RH.K8X/P;ABO4P?9.U-H=?T+0TNQNVO2I5E'=]@UY,,PGV4G6> M3W/D2+RA7Q:FJV4'!6$JTC S M-@5Q7R5@!CE,-=CF6+1X+-6*QM'5FK'S6=31Z).LX1Y2=9:YEBFV/>F2GL9/NG+"FK N$8R&G_%O\H?V=7KD5NEVN20A?M@$ M(?X8)-ME$.;<)KD,PF*[#P6R<9H')(%LTT-^PX,:L#& M+6W*S'7.VDRP=KW#VN4>:\."M6'!VN:-31$8KG"TC?'MDIM6%R+3ZR/< MN^BZTZ;\GE9B0(GVK>>'*C" WX.C0 4,])D#0=(WV9QU4-/U$RRV<9"BJ+ZE MQ[HL+M 4N7^Y)P42]'C)Z:Y!!0=LA*/3MT\9)(J^2IXAN7KR- ]S\BPLRT66I\S@[##. M]!O2+^.B2-"V+JA(HZ"B[:N*BNY84',,=GWC\SD@,4RL2YH^!#%^P,P X/#. M\2*O_^J07]77=6]L2I*Q'ZJ0_H[%?>6L(JIUK=):AS2.6:'P).*5)R?6%=T* M%VOU8;)UXU-U?M"QC'6L/W[!L5F,2-6F:F MG=',3\32($>I*IM<9Z@.4C!KH=@BS]4\8#$-/:Z;G[JC67>5[NJ2SS_YR4$] MQ%BJRBW/@C24KFGP>4.BY&Q771*&/)HB=[[_/$S#3.X1JVEL]JZ2,(5-Z3D6 M_UXE\S!,MV#5P[Q]#%YQ=A>\P4K=(6D:+6C*G@(E^_LZKM5R(.E%]'2X3@VP MZYH; QKD."6%#"1P(D*H/ #AXH$5NZ1 M+-">((X7'0N'=$-J,8IY/V,@"V8O/0? ML#]2C&=O[,F=:N]%3&V$-^Q)GO,@X>\5!_O_FNT\3<2/2P(1T[RM.J' ?I, MA@<#\WK.4?Y>H@/9ZX^L(O"!'IK:;E3FBHV6*;#)?ZR\"C M=P7]KTZ01)(2VUTZILPJ0S).%1DT!4\3Q#_H^)?:WC/I56JV;_V M=/Q)K5P>\B)ULTY+X#(<_O&)/G_-VTW?A+P5?W!1XT)6?/'7\XL]*3K\05%, MZ@:L)U:\N/\XO_F+T^%O80_M[K-CC7&[X54SF(E21'!V:(C.YS0UPD%[KE*1 M'1#661P-H->.3: E[2KHUHLRZQ8(*LTGQ[)^+NZ;0]D87C8 ;D S!A?E<%.( M%4QYJNL@?6L^)*H5=$P,,XUJSJ)QQ%U-N7$H=>:G:[YHF.T%1-0DCP#D"2IA MHAV#"9I=#9E>W BL28'>>$(%')=X3),4HMZN+WY>$#KG'XRONN^[C M&S0<@#Y,V-6*IX]09Z%SPH\QA<* >I&U#JAZ\L(8D%>)\'Y5IA^%%O@Y(/ME MZ\TUZ%0+ &';6J A[D#NF*1]9UQ&2_LALUU?N!354G'$(]Q/@PRLR35L3'GD M2;_C0>UEW@%9\^2 \<'/WJ('M,686ID<$9. M8E$NFE%KU"X0@(;SS:B^JS-I96E87S@X#BY[#20G2& QD4_&7D_-9G8"1/^: M%?5).4,:14H\S#]E*:2C&#XJEB;"A-MT?_\./L[$1SX9V9]_G;-!BF"@+N/@ M:6_"=?ZN.*D.VK%_F;T@AH":4_'HYAD=9,3N,/\?['_FAGD;$396-\%ZWR#O M^%5GB.M6K ^P((6 EOOA;>$6'6#!WM":'M=K&*>&HCTW;,G5&)?T M?(WS >>H!#LLC_?EAC^+L;M7[7_NSR'I4"T:#M9R678"Y5X]C!&F__H)2N M-RE>X20CSUC<%;C!.5P2>AU(4*/PIG:MDD$*UA.ZYRNX!M@$@HJ;+._@0.&K M$Y3@XAK%MW9G:K%&<+<[VXFUGC;6]V8QUX6:T$!!#0,WY\MW* M,3K$!L=Z\%.&;Y<764[6D!JX0_6U/Z2I[78;LWY@FW$G7D7O!-W1F(1OZ'/Q MK^_$7AV\I7(,7TH1]#$6U!<%.\=^AC'&ZS6CG:E8C9S]7X4NS MMN8NHLD)J/9@45,C8.34EA\IE7[OMS+<8?C(1_UM_9-:&2JNSFA%.8$*# 0L M"S@F3GYL=M?DV<\V*8L"X"**=1G3%W[Z6A_7'IS.5L=#;]X.9Y7DE8X$@HU3K7D2\:UU?<9<_]:Q*)EJUG3&24GRKN)?Q^+43,+AF#<:=ST*2,VS M8:X:**":3J(%'8F6R>:I-10C5_9#,(W>JF!.!#TKH3T%:3SJC,&L9E:X#I!9_/[BP=P'YX15(=Y(VV4B^420ZDJ7&D?*,)VCZ%/ MS";BZKS*PO=([S';;R7GA+V58M;K]KOJ%EK6L6O,('"7XY M9RG'P+;Y)0CE M9=Y7I_4,@-WLLY"4M.XZ6N#\!>.$,65#4UCO:V.@O!2"WBV*)(JBN#7[-AQ\ M$FZ7;.&IQ1L*-IL8;LD*VNR=+" 2(4M$[BW9H.\_B(,%K-=X.^= M8TD$\[[,H\JSMHI=!ER;#W)Q89S;,/S]OI'W8- 8GK+4HDB.C;(/_[XE*8Z^ MC7[9+K+=@N+-V=3WG%;T?$M[]K,J"IKHVW,$5-%G05JPBS'V[Y?@Y3 0L7][5#VKF.OU_FI;=7IDU*:MJ.9#_ M\VY/, ]_T,R!_)]WMD7Q/^=W\QLO&9 ;S*'=/?9^JGK'MH4!B[HB[A-)GJ2J-&3M!E2'J[]Q4!IV9TU+#?!B3+ZB 4B5MGMP1J9*@]AZ, MJG/=5])SOH#\ALG3BHWG_)E]^X3/B\ 7\"3T)\S4;69LRG1)(D %1!0 MB0$!"#0[2.S@-T^YZB"UI3'7XKSS!+'-VN[[->#OBRQ.D,:H)P^>7B/::5]5 MB+G+\*J"2B^9JZ5^CUFG2K((G,Y0&2PH<W$TE*:93'4XZ M%KA[V%G=+C]EF'L);A=Y -GRKY*+UW#%Q@.L-)$K;^^V1H^KE-9:]R6!)QLSTTJS:()JLU=^].$XAQHT:+J[* \'>6YY_D\ M"N4Y-)R*ZE-JC*;D][_':]:+\L='G*[?Z_C]>YJQX?=O(>?<[U]A*.Y. XH6 M]S]Z]\9V-=E7Z!WL;OQ$RVL/G>QIP.!X6+09+I*Q*2?OU21:0ZV&H^,1,\.H_GSB(T%-.-L/P'$O&TB=AA& MA[A@73L\K(,X/MUFS%([./8=>$I;&^RTYD@+<)JH).II\K>SD4KRQKXLK' < M#RT0;0_I2T*C,5>" "0]+P*M/*1RC'&@\J\2MF-=MLB6@01Y^!/.+TW3KRI9E,53GG5HAXLB0Y =IYU(SP\";]" XG/0F9 MV>5KM[RT,,OZLG.W7<0DO(QIL!^7T/N,]J+3:,O1FB,H(D[2TY+3QD JQ14G MKHGT+,CQ$TV[[8[6IT8Y**K6'/HH4E02]>BF.&3C@:>B@S?69:&XFGC/;^"S MO>\#7(COWI?T/ZXM'>W-.A*3\DII11T)\IX$9H#%5)5OUD7H5QIODSQ(A1QW MRT['<]I"L]>>(VFIJ KUXDM*NIA)I3ED72Y^8SNJ_TKH2_* @XS"P526;7O< MX0//:\M)1[N.Y 6HSWX'\JBDCP0 3Y(SQ&:JS#O7X7#!AN0B//Q,)'I)'^@R M?PE2*%K0<5@H]Y)N2%QOXZYN2O2CT,KP9;A?&KD3&Q!0B0&5($X0@W$"<2JP M:A>IP/R$_LF)%]7CK>,)]C.ET0N)XZOU)B I;%A[KBCU/ZPYH=H;=361VJGK M3"!3_="8."7I$U031\/]L#0_!J2$JK',\7SX!7EH:"L*7?TYPE M@^U;=\+A18YJNB<($,UR.EOKYNJW)'[R(T&UV>L]7T)1X2*[QR$FSRTN8)U7 M36:3WR/A-6/\'A9C6>'U^SCFMFA)&*62/7*6SJ!'LH:RNO>RTO%LFT=_VV8Y M+QCS2.=11,!W'\1W 8FNDL*4XWE<%PP]-^APDG$'_SW^^Y9D),"N_!O&V:Z:Z(JLYRVW#LZTA>/K=&0?'YXZVG7D>6+4T2YYOP&;0URFRJRS?SK" M$*1!?)5$^/6_$DOPG6;:$6?8]IB\5NC@))5ECW6).*=PXZ!3$G9_UI8 MT8RCD?\LJ+F/IVEE&1WB@\4AOF:;LEA0GK^2MB/.CBV[@KSUP_"AV? MG.E^Z=1A;$" FBTMF/1UWI8JA>?YL^TI=N>ZOSR;%Z MN&[1M18&RHBF"&C[U< M7&W3OUVL?[FX MOY[?G#]X20_>8!'M[K>KN7Y',Z8L_S?9G-&H>Z/=]_#8&;_3J.M)+X@C1AT! M>;_SOIV];5._AV>N! =B8?%MRNM.)>&@Z'0\/E9X]IIU+3Z[ILD3,^W65PGDB2;/^(YQ\<,W[S]T%PJ3?$517F2:MNX! M8.1G/%E(!0 ! @00]&N)&>^57EFQYOVP#4[S(D5*3GE!0-[%+@9X*#LF*V54 MA\GVCTOD*PFKO:1_D.*QFG!YJB**"C^(HL("!6K \'7((EFP5H>7CMTK'-(] MWK!Q6,'Y]#R)[G$.A?G.MRD#)\ZD^^(L-%K0=+PH4'+EA5& I..2L=/C<;GU M2S 9.&B:$]2+4T9'^J@!!D]RF@K5,FJ>[C9A=:(*4M.:J0*3O:FJW&=+<]5[ MS7N&WL=A[]^,PL9Y(Q3$45J:XSB\X'M2,,]QMT=C9Q0%GK/,( ?ITS MB)HLDD)O+9:Q4QZH/).\1]9?)<]L=T53TKDP2;UC+):^T;:_(/H&"#/1\WJ] M&K.X2'?!6;A\F]3TQLEW,LWB9O\Q#6#/]_"V7M!X;T)T_JZQA=]IQ[:@%\20 MH.9\4][.,SK("->IF].G("E.@W?*5S#;Y8YQMW3/W2Y%WGX2Q-R/RT/+H41? M3+-MBH=NSMDBHYOZV3 J=-S&!55ZA1#1O5N-%GW_?WK,D# M=37(/O;:/%=#RUYB'HH[&ZPSO1MME??'[+)EZ-B>,L7&4FPG$>&(>!V!7[:+ M# 4UDFGL.I6&9G_+JFJ P],05J%,^8^W&X[R MXA6G(C4Q:V$3-O1;:O_8SP2%;UIFQG],BEK;T@PVO&, MYME*AC:G[0]ISL3=QES-LEVJ.C-H+&X-I_8-S=DJQPG[<==U##R5X\HT%B>^ M@AI8FX;;L6!;>5F96HTLGB-" '"A68N'.%YBN$5W$Y(G[$_S(LOZP2EII!I5[1Q#GPPKC_"/.@[@[:K/K&9TPS?VVK&6%/P MW]/]_"Q:.X[>EJQL.5HI'KUFES?B/?),PQ(K@E@%LC*FM?BW2*=T%[SQC)/S M-(5*I/#Y! 5+R-YZ2=,E)OD6\K?RFY 3W^OTSP;IS8[$<+E6)ZV0&B-V^E8_ M4@SH_"5(HV)9_QE2;617B>CFSVEWDEB+E'35D7E$SEPDYJ%K*:*@N/KFA4'%-3A4KA47&SUF$\Z3Z&.0_H[SP6#JX1=TU4AGP[:U046/[Z>R MP)#DF3?4U3T(::=V7;#.'0,53,]RT' M5XN:S2&\,W$-1:AM6'4+,/^*L$07+4TT:?&BNGQUD*F(\7E7 @Y_T,Q4].G! M]@3X='/U>'&.'A[GCQ=^^Y86][C##-B*R9@Y_@9QW0#MFF_L2?U MCJ:>[&W;MHR4Q+GJB&KR.DK1<$>> MZWO.-9Q;..L#QP,S==AT(,_X*@GI&D,QLAN&M!HUV]+9 M@"/.2WEAE0H0BGU5H-,=%6J(U8Y%^2--\)MP5UQNDRAK#9&1>UA3,-L;M>YA M JI(D$6.78R&"^G[RES8'GM84HXY6;VH)KN<;91Q7XV[A7F_TTD;Q!@P/5FT1(CONN-Q^'%NR M_$J\H;L)Z6[9U2%C#P0=5[K1'FE?YLMI:^X9/QLL">FA&@QTG:$)/%,WK+ML M41(^J?Z#I\'G=7,F=;7K:L)T M"9+B9Z,R;ZC]/WDWII4#ZH,IN<&T8B1]Z; MO"]+YA5MXZ>[:=MSHZ(]*=>6%+.I#@==Z][2CKH&NZH,-7F#";%-4X:Y2P?+ MOJ>KBX?:=U)B!.I4-*SL&+ T#6P_ZDV:]52;GZX#C<,5CK8QAFI]Q40Y$["D MTENHOJX;A"Q)QOHMZP*'*-58(#E!!1:F' $-\JTBE0>%CN7T-%2GFL*THR9M M2V"17!(]0Y@OB.&!9CS95YM:)JRIWFD'DAZ)[E?0^%.<,F'R,N)E7E$$ZDK.@=%1><$ M#WCA;.[.^_B[OSD?9)IC>1+N/ZRBPF1>T92KOJ9=J:^EP# 1Y27%;*K#0<>" M=@=A>CR9-Y\'4* VY<5V^%52G. E4L@*+D @4H4_OU*H\>( MFF;\%)3KH#=*\BV3*M:')^H(]&R_%TJ)DU[W)O?D:97?+C]EPNB0VIITO&-D M9[+7MG6K<6]#(HS&">Q%NGC]BP./P[=75FF*&NZ$^GZ=M,TI;29.;$74J2D&R"N)RP$G.C\QT#<^2@ M;>OY6D0(&-/"$#>"EC%]R1 ,]:Z\C9XQ8SHV)GBGHHM27*X]H!)V9Y/OC.!R MXM4QJP98.R73\%,2L6TZ9(K T<5KR!Z=K^$O'3MQJ"T;1F,7S4E8D%W@C)N3 M!K@P9DH#-C@'P.R9_ CLR$%!E34JY?CN_)[J$JUNW?7Q7D(26Y)_-,EK]4DVGN33:2LXGP#/!V#]'8%$CSHG1H@7@. MJ<[_@H/TDKW0;="-;5'?W-.E[&J9&0%1TTYTQQ&-^Q*/*[;4\/SYOHS#T:)* M+7![2H9EP]\"8!\9Y;'.QX-V+'LA*WJV9SGC[W='8#;U#H6&'ZZ#OQ.6XDLV M@@:$N-F, QD&<@Y$^/OC$^&=@="4X$/N>O2>R9TM2KQAP'/F^%SQB BRS.1W5EF51=KHA MY<00X_B?CDNJ!S=A!K@]:1<,-[9?J!'GRUY;3MPN!7M].=TCV-E9&ONYK4+)\M(>([FMAXG]&;W=\8L_GMP@$U#IV;V:W'![W)_?V13.XN%YP)[DYTPWF#7_/' M%QP_XX\TR5==$6YCF[.\[=PGZ\"3\N&X]IR= Z.Q[>SGMH=,Z'51MOES0&+( MG7%)TX<@QE)Y572:&)$S79:4DT3J-9@35,&9+6DZ@QJ04TFRHC5"U 3;IV^1 MF8IB\1+ ,NW8%7=A*TXC5N AR"HWCK*7$=7?9,O$M^HZ]E^BDEMS-)8F0"/!-07";)$VAG'"ZJ\:)Y MD0I'0$9-S&5UQ*D8>E:DH"7CGOFAG;2A*+G+-].H$\/1]8[?#$K[AN1XON@9 ME!^.P*"4\8&8Y+9KE4!33)X2D=(I?'M,@R0+0GYM<9Y$_,]8W&*\HS%A#PRL MR*/;TU4$NG2M1_4)8*A$AIK0>%&2)C@DT*'/Q;^^E];QPTF-CY%K,W85I/B4 MV=D1% AE$YA#[#)(>Q_6-2U;&W6U>+53UUF43/5#8[%YR$&,%D";5[ MB2,L M4T3"EMW:+RQ4C7,^,H<622<'$^+W/3LF9^A^FVX2AL95TC&?J9]Z>;J?)[2? M45Z<6MQW(6E52+PQREG5VK+UW'6<] D2Q">SY,OP^L C)<' Z>QU[S%4MB3) M4],XO\,IH=%[]4VN3&OF=[=]5&T+[F\8;GFPE31XQFGPA-$VP\MMC&*RQ"@M M@:%WX(3\:FI;/*GADMO;R8_!9&3_$Q^I:S90RH)^^*IQJ:Y)V!9A00D!*2DY M==D3#?.VUXE[@E1[ZWQ6MLB6U!3L8K/L?-ND\8)/HO%I MD$)\#R5%;Q/<6H97]G'%J3+4K.WI49)&G#;BQ!&C+EFVUW9G(AINX:2K97,M MTZD-[U3*.T6A4VN.P^FR7Q/WS!T 2H&_8S!8"^T4DPID,FIX'H MV)0F0HL,]4R%+C[Z2A)?G'-E _6]!Y\?FQQ^OUUWB>$+K[+GI/"=?&U+"-_/ M+.-Z%>XZJ*C5P^?-:-6Z72]*%*A8W4* M)STI7D&AFFKFM)@XD@)Q,[31=>4SH6$8[EMDJ MT:>@XL WV1B<)*A2A\#(=AJ6#*C/)]80(0ZA81Y/FX=/M\KQ( MYPT1575XMB7&.Z4TF+J+-YIH5.:Q+:YL.8S/@[=A_5MV-]#.'Q\DL-3L S@TMIF^3(/Z4X0>ZS%^"M+ &.RVM@>>U3:V. M=NW;6H(PG&VBDO0$S:XAME-E7GJZQ77;=_E%Z;*61DLC[V0I4)S.U:NIW:[2 M&;:62U3:8S&!F[>/.%W?+L]HTN?6EG_1X/W:70(^:P?M(C%5*&AL_S1V)V5X M9NW5YTA.$&"!Z5NB\1E2HR!L [>(^SCL>.K=XXPQ-%PQN^LLT^A5 M S+?1<)^PJL: ]>X08/XV$EAKE,C)XMBSQQ,FT&1ZIA.F: M?>Z.H9%\12>,9J!I^[Z_@CPJZ*-W%8*O]*-IC/=*+Z#F'I19QHM*YRL(9>CK M[":ET3;,_^@^R$96O*@.=[T<+I_U:N/69T8=(I^YT;6M1/4/B[51YV"-:QP0 MHT*?^KQLW3[X!V?$K;QQ'3869+!CAG\N_KXEST$,JD0^<$+Y?=W ,5DZKN:' M-""=N6.QMQJ6/\#@%G\('W -R$]4G++$T=&,'6F.\9#[\[N4). _O20)9N_T M7!.1>5['$.MKU_:\^?8O6&F,0LZ5K$7<99;W/CHV2;K;I*$0Z!ZHHKD$2/K?AY)8).)NS[%-&(GZV2Y-YRF_D\(BULQ5\ MO((PMVV2B\/>EE>J?-)=R7 <4]>4;TYKBVR-N@DE0<7$1K,KN6.! M',CDXB)4QX6.9+9KKVKTC-.E[[6[: MK'2O+]:,WW[Q'FZ"P$4Y0 ML,U7-"7_8 KP_???G'SS#?\_RB"9;/;_())E6TCBET2(;O,L9Q] +C_\Z>2[ M'[X_^?&[[_E/'WXX^=.?V/]__*%X$049F!_GS!*&/13Z]OT)E%-_7X2C[7[[ MS0FS\K,-G/P\X_C-EYIM'V4J.W3.%>??ML4EDT?*=ARLBR3&-S@7&Y%KFK'O MP>-YE])G9JI$IV^?,@BFKB(ZY\!O4;:L/P>'35+:*MH\)/MZO<*,<@H;6X$: M)3AGEKO8\U+^%W>Y;PKH:/'6J$P45+A_\K0(6!0&ZG*$7>?;+(\;3M\^X@!. M&Z!SERG^^Q82W<]?26?Q%/DW=;-M#E.P/3L:=%%%&'T&TIZJ&BAPG8Y@I2\Q M;$-W3B%9[9 8#K\Y5@R[*7@20T'STMQGD=32R>;4O&MX7=KTQ M?HNXW[+;W6*YEZNWB.](4GSKYRJ;#-/;=VS]G/0M;5=\FRTK:;M/FY(RT:H7 M"2N\#).3KCU&]TE6&_?\2=5=D-ZF#SFX?+G:O<,IASDL84-OCI>V+@IN):]R M@7&IBV@73(+/=2Z2B9P0.Z[JG)PA0558*3N9+KHZIB4 M2'![GNN7XN:QSH$H^!J]DO5UW*I/6WS74 MR4X[UOV7@I@?+U$WU^@@*UP,.$GZ![SM=YT!;[9C?< %,8\#WLHU.L@*!P-^ M)R+/V88(I\\DQ"UG;$./:0Q_6W.VI:"@R<,K"K(^SLX&N4EE6>1..B!S9P$C M:SW_DGI67TX.V_0B++X,SF'.4B5V^79MW."N,)J^1TTY+UB3WKP5C+:1/;M6 M'[0OCD>E5R(/7GW>'N^5CKY-^0&[7.W".U;3@]]T=^ NULW._;>?M?.0=[27 M(:Z/[$D"3A^^;>.)B'&6%]NWV_H61->AO=++NL?V4D3\[=27 I_/?;KB.-!Q MS'4LH7=IH1X'P[I[GM24O986[5MRY>HE%=\M'=[]S;&&-*E48*J]B*Q$2 M,/R"$2%V&1AP(,O3B@V0X'BG@$TF0N!G2J,7$L=L#[6?57W_[]X4RMKM:$JE M,CW;PEH"XHKP("O_2=M7$[M7J#^$U-BX^*B'PFT6$G5OTSN>&E/[I&[->HP+ MOSC":*$E31$IB/LK:]+"Q_UB)EW,\9=I ^!T"D?K4^.S:T!K;H6#I]?PG5-C MAXGMV30..3,V$Q%--Y3MS_"G!,(R0@CN8 KL/X--D#S@)]C.]"0F4GU9*T^1 M+!'[(7,%$-1 PM<\C@458/23&-GKJ%Y.HX(HGR!AU?EMH_-EU>Z:"SX2&RE+ M(1W'<=?*>,W45,H="^DYR38T"^+;)22$YA6!FA;%8/G8$4WIJG4-DM9S*E68 M$!/M$A5L[GF:;5%>:J*FZJ@AI";'Q??ATFV^ZKP4U?^PJ0,FWJAU_RD0F=1A MS"XO^XYC6ACDX$"&1WR#9/^,Z5,:;%9PHM%Q0#/XK,:!36>;UC?B#7J^3FV& M&4J5N.3<^0CQ@_G;'6-LSFP!2)'+JRC5>7&'%EF=)K0=E/*D' 12<"QLQ00T MW"2L\* :$/KL>PG5&B!J@NLC-VL76Z \N"WK>4QG ];2G&U9$B3+'95^7E@C MT/4V3_6Q9];81@E [O=(?2)!99GE8ND6U)M+0F<8VN"S.DMW5YMNEVY?\6?# M+*5*?)K*XJV]9%M?J">R/$^D"YMKNT"EUG MVQ/*K"#)_8$S[HGD5^@YERQ_TCW?;G_?_+GV+AW?Y]GE[Y/S#:J/E-SQ=1_[ M'1B%PC#MO*G4]K.&Z==LQM'^QMLUI5:6T2$^>'+X5L>?950EP5T77&5>&>G\ M;6O:]2V#-@QC;AN,[--N:H!'(Y679Z]TI2B^M[F)4C?4"?$I*#E<%8 MG0UZ@@8?UO$'=39J>QH(PDA0'N\<,M@/DRZBG5YZ.$X?EAFJQD#GL4O/# A- MW_JBV@X?T8Y:JINR?FQ=TM+1]>. :MPHJPB>\"S.=.DY[TOKH%,9!HW4V'*Q M5&:#IMQ'1^W$0.DK97_13NW:V%=0DT3TTL3"E'8]((HY]]1>-N+V\I5Y[\#] M-XH#TND)FV0*OGO,5/T67[(>0Q4KR(;_&\E79ULV(FN<,AL^WL+5+_!^ ML/]!/$N'W(YH25.(-2C:EN@"DAYSA]+G3,S+\PE@# M^*!A5UZ1;@2C[.0Q_1F3++%*)\CM#[K(6$M9B+V;S=V"TV9$#W#/5WK]JV2S MS;-K-MOC;^6RZG>_,3:9_F'++G/H"^HGB--'WTXDDWX/M]L2Z ^QT'>(\E5R ME]*0K1@P"QB,U3R)S@$MY>?3 UYLU69,A34/D+-O3@BJ_/@MJNFBD($D?N[O M:0])7W2T$I^G4)"D^O(7PO;*#+!ZC9S!-DR6*.FBY4[/HHHRE^:;^:_3*Y\S M/"1#M4OD^.Q?&1>VB;S:W7O!G((M&G;E,?9]BM;#TGX%V;WB:4T1WTY!7Y.:3;H"-AY:.SFGS=F6YQ$F "1 M.P6SO1W>95_;%KB%)Q/8]KY7WO:^M[;M?>][V_M^>MO>?6X/;'M;63@!,?N@ M+&8?K(G9!]]B]F%Z8K;/[0$Q:V6A+S$[?3O<<'"4*WR]1/SN/B=1 M0UAF"-K+"$OSU?$BTF^:OK!74W!UOBD! M1>>@TTH/-2KA]5Y,/$$"#0(XZ-U?<)#ZBH>1ESB9JXE=3'8\!6]P#HGP&,QG M$N'H](WABJZ2*A9N#OF+N::8+S(>%M$Q(_4;TIR@Z@3=)3H/*MI>9'7$6%!S M#/83TW6/0_J4$(@\D$N))OW>N'BM[O8=16=-YI*B/,,/X[-DN>A8]JI41M7BP@R37-LMZS1-UF]%<=)7+65Z+;LZL3U$"% M@#YZ!PB^.F%KQR)'#SCD\IL-( M38V-8_&_9NKK=$MBN%8$3OJK]2:ESR*@LE?@Y5_4%/%A K:%&A",W;0\2!Y5]I6K9AP^0I M0<*.#=]0#0;-\SPEBVW.\RKF=&HZ5F:8VC6K-.\="W YMWH%M?TA38'<;+?5S MR+&0? S2WS%7T[69W._3DGA#4W1Z6K8N12N:YK,P^NFXV-1.W8*2'(EV(TJ%O:Z% M-8KX 6L00['!J^0LV) \B!G8-4UX3I$.6U/ M1^R#O*7J#)M*G*ETE34/L;MQYER!%"2U52/?U/1E*=O MCPQ)S_TJA3=-Z\>:@O5CB;HZ[.-.40B?UZI4."^C_+K8Z=H,%(E-[_&&IC!) MY.LO*KRI:Q@.4[!N(18Y:BL,DZJPJ#($= 1?IZ(>8<;TID)2>-.T>JPI>%2/ M/G,>J?!>JJI8!T-]!ZY5-S,@P.$L2-.W)4U?@C22OE0ZW(*I,+-N2K:%] :" M-*N;.DR[3"1J3(+WO96V)1GJVIG(P14^^ $_3N^SNB[#MC9MBUA!SF?.HWY> M4B4&^4KS4*_^V9#))_7.V*0.;6T[S.70(._?P)-C>%L*AV$N.I8WN.0(_X?U M_3F(,0]29_. A#F.X >V]N]^T7BR2@S.NK6A61#_G-+M!O)XLF[2A"GD+8[J M(_D.\?4!07,VN(3JZH*]RS[IW-2?-L_9JX1"%:@TOU9;)AE0[ET.X0.N(9^@ M!7XB20(&&ETB0>!+9=Q%HI@?OH=MF'TKR3!+ZX(734:G,.*^[(;OCM@_K M;HJ##)]C\6_5_29+!9MM;,FT0?C8E"F#/8IMF7*OG.\O'/!=HVHKN,??1048 M'EW!/R$R-=7M:8*:VFN,''W?9TU,3 :\^3*OF#I-:C1M6SF5M'F1>N'@]W// M1HJ_?2=&G4R;1@K"2Y($2;B39ZY#TM0;,)MRL(60JR52'I'.\F:SOYI+$U]Z MM@P&+$C+$LA$$R[V2>!PHL5!-KO.5S"8I-I:ZV(#(X M5XWTU\1&CI1 )CI/^R1P>)X.LMF?,T^I\)"5,D(>=GKMU'7FU>A^_"CZD> G MGEE+;RI%39=DN2/TI1B2.A3W,.>)2-*Q$R#=,4D4WM2^ MW3-(P?Z]< ZAJJG%CX(HOXT;^@]X5QD".H*OD]#5/06(RY^4U+E">T8UO@1= MOXN"!$!SZX99;NPN+6JKBES?G*XA*B(ZN,PHG!^[(0;R69DC;8%,)?LA*[2:-%UP4WW\H!!&^^:LX.;AD4.IX MTM.WGS%]2H/-BH3S% >/D-.QZ\["R%84!5J3FOT;#O7148T)G-HU*@2PT&<. M3/[B@Z?N1S3<0O8$WKK\,7>PV,9!BJ(ZN0E=%CF?]L_5@#E/-7,"!OJ/3B?> M6,&EAH;#=;PVS?+;)2R24-;@ :?/),39 XVCCE5H^ 7=..C.AJU?^6>403)3 MD=G:3T3L,%NI.J_&"5.6Y@U!8G_M"Q'[BD%),AJ3B$LZK]#8FDM'YE%%P>EK MTK[(-.B*,II^\N1(\96J,,O3=EGHS5W;_08/!2@/O#5RJ]O1NI-43#R9>^OI M@*_S-5F>MVS)I!@YTG0]QYL4AZ2LGS9?0QJR?_ _F^OO/7YBWPS;L ::TS%F M1Y"U'SU?0^/G!TUP>\:MP&?"O'7*$)-V;K3/KF"/70US-^7H/1B\)J2Z$OT='+1AO7$=)& -A_4YQ R@OJ%M! MA9H0?)WC:$6FP?T=LCDEXI%A)E4*WF=GT&1G7+,SJ-@Y!25C?LY0N^,ZB1.C M:QQD$'<$]7*?1(DHI9.AGO>-G@"UT/%[TM,"R-R)SKC>[H4,J0>E WG/YK^\ ME V>S0PRTXO_HB51^O"#1GP7+M*@MWHNW"= E^!HI]?">WKSNY2&&$<9>'GO M@C%'\E=?-5O13S&M0LV5"E>$I:/([?5\S$$\)^\KI;:6W%%#+'4\ M6=OJ"HJ<71WS8UL3G>UT"3K;-G0Q*>U M?MCGQ9B%Y(Y]OX)= 7@(,D"2H1> A^.(.PG@[( N8O+D\0;K:#&FIL=C$GO\ MSC(52CO]P5:,[O<[J?G=]7?",K?W-]'S,3.]Z6"?D M@6/P&'0&2G/4_9]]N M:'Z/0_J4D']@..+8)OGM\E.25M^UO?0IB4@FZB'CZ")((3EV=KMDF@J3I^1A MN\A(1()4Z2*?*R3F=(=MQ![UC^VN&=)ATQL!C;P<51(WAA%5(!'K&JK[=H)$ M[\ F:O8/M;]]@G8ZBPNM%/Y'\>+C3OLZ40+\&=RM7_E)HL\'9:C^]1=KNVCJQ)?$(%J]Q:\Z1+!4- M5_@]WA1^F=OE&5VO:?*0]U2IEWYQI#^OFX!KSUTWDC$^.B/]&[-'KZGS^1=R M "@;[I=EQYN$9+6XV&39.39BCR?))L^XBA.&U-EGHK0!F^KU39K]G-OGVY3] M_KC"(B5W:\2>Z<:U(O9,@; ]3+7""ER3_B@=;5SI\$IV- >*VZG**P'K3Z8J*/>$GC&HO: M%17'9M8]AD&K#<&/>+W :8=IU?^PICG5WJAMW5Q2K2W\SX*PG^/Z J:24#,ID.12^I4*(@.D5)Z5_V2AY)DGY((IPPTTRS,>((K]ZT1)G!\75?KX_ODVTU? M64PG- T$#!O'9C_?I0 OTHS@5[:)(&6(%,!@!K['8"@GH]X1KFMY*/V8<84C M6-& &WIKG.G6U;IMT2_H^C3;!AE[:+#)<:9[U$W%DF$E) MGMM^C#/*^M%X-</Y5M[?#>*[@$17R5FP(7D0]_IWI-[1G%V] M;=L6QIHX NHSDJ""OE^WCQS#J187G2<_J\ZS>F6L\SGM5&=[[=F_],F/(3E% MO]+3S4HJS1]/-B9FAK*RDW#HK9$V9D?KUFU,0=>KC3G$V!8;4XI;OFQ, 4[3 MQI1Z>:R-V4O$E8TI(WEN^S'2QNQ%X]?&E).J-AM3@<6^\PWN8FL["Y4,]!W1 MHJD\A?*4704'3R-3H<:(]&4QU&6S8U'G+G<(SX#K5/D;N/-H F%=+1E.E-[1 M%-?>MJVG(N,T44W41]83-2Y3+=8Y%K(]0*W)?Z6>U12JUC9="Y.?W+]R;*5* MO/*SMS*W&(]O<-R.;()+<8',S[4< ^-QN)%SMA!WQ"O?+I9(QG )^N M$B8(..LR%AU0=*<[9)%-6+G(=L&1]K''48V*=,4-HP4'V;C5XND^KXNI,TZE MZ8W>]'4>V[4SU"0TI]/V6W2GLTK*$]9))41'.D>?(SJI=*3Z-AT-\;8]HSM%F4ZXF79.FSBP:AUEC6M3UMX TQ(P+XB?H M$=9M+[.E50:H#)-6OK#VM6[_ M\C$GYRFYER1GJ2:[IB%>O=7'M-XU*VJ.RPWN@!!:D<-0+@CF5BB[2U:-8*^' M0_WNXZR!IT8I-[BHEELLT*20>OULF^5L,Y4. M*2_5U[73<\B1<;1FBDNH)1*>G!^56/R;=,IC0LO%[1/ QAXY&Q_0@FS[ &]U8'4GI74W])T;!^_ZR@ MBVK"DZD4I#8(=!1GW=])VVQSG,J98 -/Z]]/:VO5P2TU3E8Y;LC>7;5>YE)% MCKF6I"!;,5&'?P#6E=72F3H6%=YAAU'LK%/S1P3*XZFMJ0 MT%%\MFBA720YR=_@%"9E=@#? ?/@]C-0Q>G;&8UPB\&F\):&_2;1NO7M*(> M=C"<((X"T1052!! <6[CJ3"?:G+4>6K]NC;%8_!:!!!WY]'O?5H[:7YKJ^XR MY+>2UTN';Z@G6KGO&]5=(/]N2?T$7220JPB=!C$D//+:,9'/EDV!-%?KWG3 M,VY:@&ZMW$#_C*6*;'*LGGYF(-(@9JOV/%J3!&H?!)">J[COT+LE4'I74W5) MT;"MR H0W'K;A8$*''ZW#VH#04=QUW6B'K%S9MJ5FY$$#UW+&GY!-T5/9\.. M_".PPI2DT>>2N*?4/,-L"J.!1W'8 >'"H]ID&0\E=7@P4+7HR,.%_:;='; 4!/V?5SJ/'H^!;G 3YXB#XZI5%Q5>4E&G'2JLX-<-2:MXGDR XUF9 M8UDVN=TP&ID[PYM-<\/IP'.;8[ 1V7[D/,B#XD9^C\NV[_$1OMJV9ITY:2OB M"*BC@KPWQVPOBZDJWUS;^YA?QV*[W8]!^CL&V9=Q<\B^IFOC#S1OW;H7]+ES MHT(P#;^&-.>I+CNG8:&5);!V=?)=2F@JBF"Q9^^HL#,533*MILW:8$H07.4Z MSM"2IKQ6VZ8D#<;!!E"A-QRDDS(.]$9QV!H8,306E_\''&Y3MH135)8]4]:EA?EA1YL.-NY"GW:" M\*Q1RSJ:H%.GKU*'AU)7J4J.CP.U^O[#XI'D<9]*W7]DA#HMF[(MAIP("-S[ M#^\67Z&2O#==>L!"*L.7D>GBRN# 7X(T>@EXQJT'NLSAX\\IS?:UG=([.LGB MAMIV%N>Y*@#P74Y60%!.$6>^._IEC9^ ( K$;5U1_[VGJRC@RA@*'B]$L 3* M5ACG* IR[*'PL+3042W6.X^DSO+;Y4,0X_X*P9W/:4=/[[5G?SYE7-@X2=\A MTUV\I-(,4QV_+N* 4WM2^R#9(P?X=-@&!*ZX&B&GX MHE2&@([@J^OXFB0G$8FWX*(;7*3$97;L[3;/ M\H!'/GY*2"ZR*G1%Y5@BHQO+8QB.JZ-"T[AUS@G]\TXC=K<)&M6H40F[O#A; M 8=5CD%' OL)8NA1 SX"_"=ELI1W)$$1C>,@S="&/9A!8=.O_ 1FV9IHU)4$ M>,F+5U4]@*+1/$=,=^$*B3=&Y;5K;=FVABF2/E:T44G<9_$*&4X?)&:38-\T M1*RW@(74.V;%S$U!BQY!\UG90H[?P\(V@4H7\S!,MSBZ)L&"Q%PUE]>0&U]U MV6DJ[^H'4@_30Z[%1P]P+XL:^Q!.N1%LQ5- MB5*D9C\;'J?+-[5\(YL-[&0]]4HCLWW9M1EZ*=#- @&OZ"FB-:*?Y#E@:=[I MBB$U- HC#R,_DH2LM^N2YL5Z$],WC'^CZ>^,U"]LD+)[*&N4XNB1GN*+F#P1 MR$M([X(T)R'9L"7G*KEDS_UOG-+;!/_7'1O-MB-,NY1T#C[M(+(]]2U"5SYK MG0H'-9R-!70DL*/;)2K1HP(^XOA1V0'T2-$I1F4?X,]&+]!5@K[[YOU_H:/F MH]Y)]QXKZ3 K ML*:,TQAA1QG#XM*",@9:=\WWR+415E.!&@G83>LI \.(0T<%.,3!HP(]:L*O M'H$.H'H(4[.IY-]F*]4F5F^1(ECRC[B "KJ1+?)/81] MI,S<.0TRDGU*Z")CGBL65JXBP7J08;ETM M+ZU\16KRA8+.)W\"A MQFD7I6?1$D<\B:G(A433MV:#C&-L1YA3M$DQ_%W\]"ZF6?:5"(X.JT*WB%:5 M;E&0B_U/4#C;Q>7P#!SM#6G8&1=4#8R'BV'6N9])!P9Z^P&5ZA0"4,W]E9E4:AS;R19JWK:H%!FK#9D[%9PF,7 MBCB&#F$<>%JW>F![JR[#-2__75#4+ 9Z[XPR&TKT -4BZ/L!?LFJ+Z352 M8-*$J=QFM!#$)G>CV,P7O;5XVQN+2EMX:0"K&W>*D*] 'GE$6@J>P_EJW$8] MG#:IFO50 D1HO+M9LC48P5+1/P&FKAYX'BZ*2>-P"861F(V>15"7E'2V_:/) M6G-U_KU;\&U-X3(SJG/-M26+!G1#/GJ+F$L4.1;8P;!D+2U^UY)SP;/UX\:Q MX-O@B=BI,&N\2/ L J&Z93'C>#&(0_IW%@7M:/P0(G>#.@QA(RWDF2\0Q L< MC<*^.'I58:].U\4EWN&R9-58>?@'1(+P(B!Y3MZ@[J&!':U!Q:&)K8#&]8GH M*:*D(XF2/=TX58W2%AY[9DP8P(@48?,%5C3=M5W/M:[G9&/Z(UOGMO3;WL"%GK>:3=0*YO%45,D39(_X/)Y4<$0_T!S ME\T/['J/,YN MFQKD.!/-^#_9_DF@\=HE8J@>VP'CRQ%J%[6.T1J:;SK6;F>(##!OYL.NAK@W MB"&'*ZW#OD$,_0:).>C8>+%\CB8L'1>+;!K_>W]W-UD#>N:O6M&W_2C.^]=1 M2I+UFBWCU(O9Y'B?&)!E;P16Q,(;D.CK%BT('Z] <_9#N'<@ M(8,%MD/PEZ"C^JX"&2?XMIU"O;[DV$F)WL!B2\3<^:J\48@F%JT#%=%+_(2I MBMGY!Z%2R%=,12KK!E8RK7.03<&*\9QF5;<&CAEU;X5RS&!J5=/QS1F- M"QMT M*;MO1,2@\;2W#ASJT4&*W0$?8@#;O&4$&!$#&:I+D?EZ$@>+%*W;MRN1_F[L MVST9R;D#MZ<8GY>VA^;6%6O >?^U@WJT84L8V>R@;4\IS-KXML?0(K]#;W< M4_ZZKG<[Z@VBZSM0(N;>YCH1.\R/,!Z*?MB?SNU\MQ>3 MH1Q&-AV3=+W7(0^!_AF7KSC>V*39=5 ,0%IFKN$C5M>2]RY/ZATIG^IU3IR'89(.%F5)M%DE)U-&^@],)G0M*W+,_/ MBE&[0@KTN3.]F*=D2F/T35M'!_6%T4OM0U^345:4X^6R;FIXFQB#DA;J3\02 M/6ND;:Q.Q?P19^ UDD-&^Q8S2FI6Z3 99$"GU.[U;Z5X%U$DZ/+[CD'2Z/JQBV:47?NW6CAP4%LHX(> M&<)!"8\-ZE"RB/ZAYBYY9W'NEXV,2V+I9Q;\$E/# M^[+=1#ATK#+[<]-6,G9-W="C^]SVAN%NF)<6R@;M.%+^>7"7S.(VF_'+B/D; M[,KZ7I3]A4R%1-LKIOI&\OR*-PI3O*UT!S2^J%0)^[RCAMA8>:D.'0)XJ,47 MW]VDO9B3UY+9"@6\D;Y! 4>*O^)Z*C4"RCK[YC0^5XP-(*JHLP([VE.>L]$^ 5MX4663\8:DKA]/Q]D+#P):$7 M*[UV+JG5*27&;0RIG5.@3]K](U&/#1W 0>3),+6EPX< 8"RRW,J*$A?+%)F% M\5^]YKSK7A.)$+>QI),:N>$Z M12;"SW8U+@WE^.08CH3YB)9S)1V((UP6%GN1GVRT\NF;%GEU1+SFN\:')P'51TRV1T=F)ZFH[HV M9=Y&MGW!%?7P1@Q>EP:_=OBX1*EXV*-_6\,>/6:ZXM/2"2=CW)&4HLF+Y^CW M+G?\]H]H\HB$=UNB9(^VEQCKK)?:AP"Q! M<(>A\EB.'MM@DF@K^ A72[&2C]P21'@2VK2HT3KF]1&XS288)*0STJQ&#%\H2DO6C$UDK$ MH_!_P\^\U!C[([1^^(NZPK\PB'V%?X*8=X6_QX!XZP_6[N-8[T4\C'PQ5=ENU<5T&SP1R7YQP3]?58JH=. MJX6]:SZ8/)]VY%C<98I?<4Y>6)^6+8,3K9ZWL%LUBI@NL=[SN?^*:^BIRT*@ M4DC3^EY!<14NN:AX.H/Y\)(JRVV$] ?2/._J!)UK=!UIE/2T@^QH@[4@]A@< MX0UV5E]QEPLX(!JZW=Y'7S:XSB1'=GBW"1 XW_RM+PO\6U6'@%GRT0IUV353 ME/!*"Q&BH=<@YO\KQJ"W9^M^\/95)4H#I2[$7*_BOG,^GS M#7C!-CK7)7'MCIJ#EHL&J&)HQ6@ WW:+1J^O3)]D+TMI&")_U*5,*=K$"+#5B9T2E M8VKV,CYMH J8[VD#OJ5LSS"4=0ZO#?S:Q6993XZ6^"\(!YT$[W%]7R=E MK3:5\R1G[ZE)396C?5:P%U>R0WS L-/Y5"@^&PTF@ZD6*#D-5UFT\X>5R'-K M';K5I%@=?&)7MY*EYE>W$J&*7+<2P?>H6]GGI+:,'SA]0=,"(&O2L*1/BKF& MI;9HGL5:EQ[R0%JXW21Q196_VQT\8'83F9%5.D-H"B 54KZDB@HF'5'A=LX: M;J@.$/0';0FC Z8-^LIC\P%7]_=4RJD49/YZMN46)K<=MCZ/:&HF\45LU9H* MIVA'RF%;);JP;=(%FWM0JUI+XA ;?%^QTGEXY_2K?B[2C4 1G<2W1I5T INC5+Q=!:A1:(-OFK( MPY;L3R4'%\Z/(R$H6CSO#R14Q0==EC4*N=TQI^G9CVQ.> F_K_U<,C.N:Y'! MZ+&6X$ 1_08T ]6&%+*6*/-KQ??I(*S,[YVZ3#B">W4:X!KOUNF9A+Y?;?%7 MXXZ]Z:V-M"N5#^'\/].5*SA>CJY=F37U+"R'3J(KRNZS@Z]L1LI)_$)3/"V, M[$NN+$#0$0AV9C3VA#YH*,W!?9TRFX9H\"UK8VL> "L8?-U25L#J M7&6^N61L21T@(, 0R!-B=X,3I^NQ8N?O\)/EJC>>J$;@]IU YUI*#4AV,;K_ M7KT#O:Y7Y0.J_= MQ,D@?*"\006#,_P,?<@*GL99"6K'KHQ;VNF@=[ADG6TAB[)BL28_-XN44TP- M&.3*,>19L)# B^N[,-,+2WTI]O=XSWS 7S#@G)'R@F_K%D::'M6]%&W)HHXN M^HU3#N,"%3&7*'(LA/[Q:.FTG)Z2H\KAHY_,%9R/ 9*)IA((>A#UY:VKD)^T M%?+;OV+T J#8/922/$_*"LH>\#LIX)44>EL=WU-1[)4UFSS?7^BV8O^ZR9ZS M.5>G#Y(Q&#='T%R+!$8)8E_&I[[:H : H!Q 1"<#7.\#5[KHXN+&Y09])F4- M,[L@5AY/&>'<>/ % "%5[IVT3(-=Z<%MW_/O__KI.OMDBFF&2 M_O/;-__X_MMO4!J1&*?+?W[[^2&8/9Q?7W_[39:':1PF)$7__#8EW_[O__4_ M_ON__W]!\ &EB(8YBK^9/WWSN"K2&-$+LD;?_)^S^YMO@F_>O/FW-S_???SF M\^/Y-V^_?_LV^/YM\.;G(/A?_Y[@],]_X_^9AQGZAA&19N+7?WZ[RO/-OWWW MW98A6:!T&..6(1)R6#/];)OYX0Z(P%S"V MLO"-M 7_+=@U"_B?@C=O@W=O_O$UB[]EJ'_S30D=)0FZ1XMO^+^?[Z]??'-# M24Z2<)[](R)K]MJW;]Z\???F.][T.T9VCM8HS8.4Y"AX\TN0H:7XG:(-H3D; M=\:3^,2*HL4_O]W09![LWL&I^)\*K\B?-FS"9'B]2="WWQV0OZ$H8ST$7C?L M#U5[3N(8K)1TH*\Y8C.TPG%'2D*B%PSSKV>[^92AZ!]+LOTN1EA\_:\?^(]! M^:- @_WZQV6:X_R)3?P0I[M/,J)1\L]O98]+BA(^90BMH!F0HANT#)/RN[.O M.*LA2M)"A:[CJ<'_\L=N.4S>993L,H?T6.8J_.T"W" M;"Y66I$%RS#<"/R^0TF>[?XBN F^?U,MN/]9_?F/"YQ%"]H4FJ'\-Y M@MHH?M&HB=K#4V)&HV\(9?+%/[]E,@I[LD"4HOBF_(;T/!4GA2"$?5#(!/_& M1QO%__PVI\4S%2&-CLZ>ER^J6GRW"2D_8J(53N)=[P4E:_5MC,"@81\>"9:< MB7WH1@LV@%E+.FTZXZ&C9](T'<6D37R8.O,MTY\ )!4P!&^F"@%TPW=E,D D M)]+C.-_C]._?U>HB(VA9/S.5+L=+\0E5]:JNKU:]2DZ 5ZB\0F6!(N(*'T85 M*C%]/X8Y%PIG:7Q.4KZ;(C9UV"QJ4:F4^GJERBM57JGR2I57JKQ2Y94J.Y6J M#@>Z";7JQR",HF)=)-P%&9!\A6C >K$OKU":X2T*<,I^1P%C_7E@H7I7IY=K M5>U MN*F*(5Z+\UJU.)U:7&=!RX0N]T.0H#!#RFK:ZWY:-;#ZCWOE2HMR M=8.R#*';#8] QNGR1HS$+(TK 6/W%YDZTNL=7C?T.I/7F;S.Y'4FKS/9-&F\ MSN1U)J\S=="9!I &36A-WP[PH=1 M_>-ZM\3A^5F0+EZ3\IJ4UZ2\)N4U*:])>4W*+DU*_1PWH#C]$JQ#^B?*^9@& M3%8O*,ZQLO.IY2TZU2D0*5ZS\IJ5!1J)*WP8UZRR7!Q, (5*TM+K45Z/\GJ4 MUZ.\'N7U**]'V:M'-1[?!M2G=P%%3+O;XP-4F([ZZ521)!_W2I%7BBQ0)ESA MPZA2=%\N\"NVW_*<54[/[SA?G1=93M:(MFE*JMV]^N35)Z\^>?7)JT]>??+J MDYWJ4[,J((M@7F1L$-5K5C2\0FML7RL=7NGR2I<%RHHK?!A5 MNF[I,DSQWV(#85ML1A(3J! _A&D<(#'C YPN"%TKEH<'ODB3XJ=$S6CJWXR1 M$',RKI+P^?:O U6K]OG("N YW],H"L])_%IJDCT>FZ*"\@5ZQ19&F/P7"NEE M&E^P@:RCKJ7IR)1>5+-JEJ9%F)27/-10V=1,$X4E0G>(8A)?L;_5*?JM;;72 MRD<31NE12TUT7N_W#YFF!&VNG^(Z+0G25!.EY>R3+_S&=IIH?*1AFF&.4.O* MES7512G[3!-U!X]'IJB2H>.8G>Y9]0]?#6^DUM"&MCIIY>?@+7TD7^1V6VE+ MG73>$2;T)/\7;R3G>7MCG=0*,?B6WE&RQ>5]M8WT2IIKH?@<"RV6." 9WT4%\*<\]W9?'1 MKCW^(X01]*M9S1*5$ M'C?11AD]9_O-\J $2"UQ1ZVTT'>=1H2RJ2]$-+$QGO.:F?2I<>,']=)$?XZX M005O$9/=PFHU-Q#>U%P+Q7?%/,'154)".9DU;;30=H^6F!NHTOQ3N)8/?WTS M+10^K%"2M&U(=8WT4+<.D^3L53# ,7EUK;30]QA^O8ZYW6I7(;=ETVQIKX7F MWTC"MI:0EIND'%5).RTT_L[FVW^F3%9_0&%&4A1?9UG1@&M+>Q>"-;K01;C! M:,7PD$Y+69.1*7LH<\V?WKR=/^*\UN(A:Z*)LLNOT2I,ETBR;S#A:3TG20UIM<^/:?IOPYG/BQBSMTJ0JGFJ@1@^KP\]",<$O6ZA@:@K3-?7 ML9RDE\_').@Z6M#JH[,\1UGISY&X/]H;NQ.IT;19.^]T/S0^2@W-I^!Z5P$" M[D=P='H<#H4C,FZS-P\.AR/R;;,+$6YI%0^.4& N)C81#XY08VQ"? M"T?$$?GULBV&$8Z((V+L)30*'HZ,(Q+M94LX+MQEZHA,>]D)F$:H2!;(91G0[S# ZX' <1?26RI<-_%O M85*@.T2%#"+A4*&G6;Y*06I6Y"M"\=_H=1B_0@\;^!!6/3 /+UO;0+\\@UZE MBP%.[G:R0I?%HM;9.'? )0/K9 DWC0NGO8.O&ZM*]4%UOCM21JFUE#Q6Z>HK MXEI2W!(R5L;+XOH<-/T3X_2RSWSAUVZUH7LH2\Y-F4:@NHB1<%>+>P@UBZ1P M'X.KR-2)N&!4+#4DJZ&B;,4 PV.I>;DS/ .M)4NC(7K"TFLA61H.T1.25L^E MQLNVW@99L5Z'](E?497A92I2/7CU\E+*8#0&&Y+@"*,L@#LDNK];Y_5 M&K"4GA5,FF!KHY;,YD9F?%2;(D>T>1, MC9 O[\CT;8[$F$SR9X9=,/D]-UR MY*?5]9K)E]M2F&AD =[1!%[I*0US79RT)G3[S>2\.0*/2TB2].6^,P*?0TX>?OLO>K>]PRW2/G;6/UMK-XIK\)\O:)*6G3%J7/=17P@/4YG5_!JE8")NJ3I M"C;RF(X&8]#4HQ,:MX\&P]S48PZ:^98;2Z<^WO )F7-S!5H.IXIC;:>J2^7 MCMAT\1&Y$K/3<1J!C,^N1/!TQ*C)K^!*]$Y':%3-M:YL3.WG&S<"2(1[!=DA^&Q MP' YT+MTALH=*B4,VBOPK,%O"[^-=B7A_0V]KN)/2ZR2?3^(25K@DKY5XE5D!5Q*9< M#,V!O.!^EO D#[5N:6V0_O/]\5%SW+>P ^ML(NDHS%;->49'#P:C=(@]1+5^SS@,4%M+>Y@DC[ M!%'4OEP!IMLN(S$-N!^N>[*Y5@/D'%D^Z!W/VT:[DX\Q]C'&S@E;BC[O+I9P M P[PGX(E(?$7G"1!F,8!R5>(!IA],EUB-N!!F&4H5_6'J[U4IWN\"V4]O.4B MMIP^E4:UZA>!G$"M^L,?GQ]>6<^.'XSL)?=^>^^W'\L/?5GPI#FI([KNL2;* M'M"2 _,!D24--RM^4V#M$@"UU47S;C@/*9%$'K2VM<0[[CW^9L?$>P1M\PA^ MJ(04GBO\+)S,A&P"C\7H]A+O__3^3^__]/Y/[_\7].(U^G#Y:M %_ MSL_!(L0TV/*;%(,U"CEU0A53=.&TOD>GUP9(C$]K]'5B++ ONFMV]Z^^;T=2Y+S0]>Y^JI$ KF*$4+G <;I@8JJU-M[]&J3\&(\64>O&IG3+63D/BX0C]\_^8_ M[U&.RXA7;I.1%Z0 -)^ZGN,*'T;U-;;$49;C2#J;VAN:" DE%.%EVDJTM)T) M-RM*,R[(I/$M+S5T1]CH/Z_.L_(P4DCI[_LZ PB\W(P>-B3-"+WA%#27R0#W MLXVGQC(F"CV-\]5R;T-S8RNH5Q@**ZYF\':TR2J"WH[F[6C>CM9E5L />M+C M''43K:8:O;#SS15X@HOJ+&E5.UQ9/BK[*8';!UR! MIX'/(( M'U]OOW_S5DX'L(MC_LIZT^'D[W'_B--FVNJ>:Z+-WS'?S3P]^Q+2N,674=O& MJ(OY=G%^YN\*'T="! MRRJ22MS]=;OATZC1&=_:WHA3GBX(7;/S$(EI7W_%"["U"?J9A/$I7#=M:'5- M#%+:Z(BM;V3$@CO9X M<>SMS[XT!HW7F)_R3G?O=/=.=^]T]TYW [?=2O6UJ7/=K.81G4>;*U#6"I@$ M)M2Y@D&[XT,NAKOB&Y3- W7;J"N(M,^*!FN3*R!(=]I&V[TK3N'6L%0KR\"M2KB=0WUMK<% 3":/7#KBX?&7B M/7[0.Q((1LFG&PDE^P>^BL$14:=1Q:!')$GK3;<'<27 6W''IWD'FNQNQ4.: MV]I./2K!%3Z,1E=*]JMZKZKVJWJOJO:H6W#<-E%ZFC@G, M]NLO)*^_B?NU6N>"45@)@-?:Y-1G@$X;H*5SP-L >]H X:*^7@-?AIXT4_UC9H,@=W(\NF"6@QA!\/4>< .361#O,]$ MNM,S67<5,2VVD/8.)KB(MXCF.&-4"=>&(.VIS18"[&6 G_,P6\W2F/_#K]/9 MA@E7I6%<*?4UP9O$'07D3JVW(?XH6O%D_2TJS^"2.#B#*MV-<)AFC)A8# *4 MJ_8NYFK$GA=,XDL9231D4RL2UR>Q)21^3WB\?7O77EM?H\)Y\!Z$V+*Y9!;RC2 #<,/9!%_H6IAHWSLK6] M$1ZV;,(0"CSWVIH;X. &L8F-;E"8(>!" ?0PP,?'D/Z)4!107&.4?,V MU][! !>?T)<#W8.2E/T8E3XF%?FJZVM,I$._I*1%,6MI/57Z[;SV'#;75+N; M26)'(8VXQGB!MB@A@K[+KUS):CYS%'H:X8L=)P6Z1Q%9IABNJ(#[^2 )LT$2 M(U'+=+08[4KL50=%QF8#PEM.6>.*4.IK@#"*;@4X2D[)Y6#W.1P?I\1Q6*0*'!RGI/%.D:%PK)P2R)4BG^$8.268 M*_NWX3@Y)90/%/,*1\\I*;U?.)+>Q"U1V.A=0$M9)A!V(=723++N.FLS-=/@ M\Z^,Y5\UCDY;LA5@:'67F0F72\H Y%/W=E&I ,)'"+B""=[71R*Y&8D$F2C6 MS(@.U,(B.Z?E[>VX._E0(EDH4?.4F7IP@(\@\A%$/H+H$ G)@49ZR48&U*0? M@A3ENQ*P&T3Y_=!KD@89+[K;3752>:5.=4J=+J]BF56Q5$8,I':I3P&]@G^T M0G&1\#"HD*8X769WB.[*7^.(6_AP4N0H!DFQ/=_FU36OKAF?$5Y= ZAK2KN: M5^&\"N=5.*_">16N784;1((RH-3]&,R+C U>EO&C8([3TJ_939V#O4RG(J=" MD5?AM*APL^BO K-E_B[^M9AGM5?,M[8;4Y.$31F0#JDR^[3*RF<560+C3 3O M57 W7WP/[F<)3\=S&]C:J$9?A53^C>+KF,TEO,"[.-3=FF#'R0T.YS@1Z2OL M6;%6UO0'_8JW '@+@/$9X2T L \$SRNK_7_4]6]V\3#DAGB<@5A-I- R ! MRQ5+"6#" '4:5Q#QMWQX\UDG\]D(:HD!L]I/P;+*Q@S"- X(3Z!W@9G-HRBT]"!;&$])H4A,\P53G&.1!;PZ_QI15.+\IN, M\KW+(X?S)^UAD _2A/I5D1<4S=:$YOAOL?5527!* SOD)[P!S1O0C,\(;T # M&-"Z'63>GN;M:2=K3_.Q--X8T,D8T")8NC(Y5"#IJ$NX8E2#0S6\=&[ CO1S ML @Q#;9A4J!@C4)^XZVHI-#-= 1]G4YKD1I-WD!DUD $'2V034AMZ+6J0E>, ML-\X7>5^\;$D+KY-[WG56(K3)8_KS%IO3^SX&F\.\.8 XS/"FP, Y@#P'N8M M -X"X"T W@+@+0#M.EP_LH'F^O[YCM@UQPDFZ(O0A3(#UZ#J\P@"GOZ(D?B0?PYP3 M^K0GN(T]<#\#//&[,[)<",GG29AE(L;K[.F80K_0Z MM]>YC<\(KW,#=&[@N>0U;J]Q>XW;:]Q>XP:4(.PL#KLR6]HQ4I2I3\?E/IST M;F_?:O/$9X;5Y@#8/W::\.N_5>:_.>W7>J_/M&IFJG&1 [WKS?8!W MEZAWT[4:WJ!3OVHEP^M49G6JA@$"Z5&M VPH4?MZ1U1Y466NF)4.Z^[U**]' M&9\17H\"Z%%-VY37G;SNY'4GKSMYW4DEUU9%0C*A0;UC1P C9!XRQ'@U5Y[! M*K[749^"OD^K=J5&E->UM.A:^S4B[K@0@W,7/O%AFWT):2S^D]WRVBB/JS!] MX"-XNQ&5AGEC!UL&'EHWP MY5=$(YRA.XHC=,]G"!RQL3]L(ZH'>V_'>=;WQ9:@;3FKX?Z MGNTR;-*SG4:P-$OC5W_ILXN-]TEO+/7&4N,SPAM+(<92L #M3:?>=.I-I]YT MZDVG*J938^JV*]-.!>SAE8'3R5T96ND$(_?.>>0&-G* D?W!,61'5%7!F/[H M#J;]C9A@U'Z:*FJZ?2XFO*<_! EB+'4LTB3KKM4WVDB#=X5J<856EY.]N)3L M!K$_-E>NZ=1W '++U]_P:;/[Z-,N.[>=8/7>@SJ;Q8S$=$UWQH M+W 6D2+-[]G257)TJ[YE5.^U9*>!.:L;MREO+??6\FE1>X+6VYJWNWB[B[>[>+N+M[NH M!B4JBE(F5,2?=CM_'G[M')[0^!*M2AZ $J_%&=;B&L<(IJ8!AMF@'D92'F7, M2SIP&A_#KY61\0RE:(%52V=U?J-1'"ZJ79S16F>.5L2@T]N,\G^Y6" >W8>> MAXQ;".]11-*(42TV/440NK_2<.4X3NT96A"ZIYQM@RC+<<3&\8K]'2]5P>CU M5J-X?$XI&[)ERL.4&?F-\1GC[#<1^TRSO M> .--]!X XTWT'@#C5K!O=X2I"L32-6NU4,==3^89GC%S?T(FT$U_E/,W>RG M YHP//\29&@I?J=H0VB.TV5'ZW/[F[2:H*'D>#NT%COT!6*#')6;+-M#9FL^ M)'^+7\^>/B"RI.%FA:-[M&RSR WUN@&8$N=MC/."S5^VOF<7VQ]L-H@+N%Y^?412V<];]+:,Z1-IW#)A7!+KS M]#'P9#0_,.ZPWUX;=MB?_CAGN)($QP)AH6[4+/OVAL:HK=T[(4T-&-#XFKRI M7Y-\.L,\+=U>8H#;:MVFRX=RIF\]P9X;\#)>0, PB11$>&FCD>[ M:P J?D_=Q@V;&4H2X]0AT>DZL]R,[UUG<&OS8)J&*^NG)6.XK[7)E376/K/Z MF!_<=XZ-:91UWU@*?L;9 5ZW5(GP*R"#*\3/$"1R%[&D:B\@!7 3=, MNHDPRH(8Y2%.LB!GY!=AHNA*&^)3.GUMP]'KG7%:G'&?V*@]DBNU3H,1^+ ) M(_0Q3(M%&/%:+>GR*HRJ( GV^7-$&3XI#]H)TZ??$-OD$O$ S,S ']#DT_D8 M?L7K8EW+G/2Y+MIPVDQ;W7--M(F:Z!)GW=$SG31)T:IY:L!Z/8NW;"'@C"V/ M*A9.8L$^;@BS8H]$]UG!1"I&2Z,;K;Z1 6K/PPW.PX0'.?$-IV!*Z -9Y%^8 M>/@)Y1+JFSL917]'3_-F#&QM@'X8W?;0R\0'G".A:5XS231=8B;I"[7I+?1$=37#%:\6=DS2G7'H*$UXVKN9XA3:WA(-:=0;>P0@7O+CALW7_N80? MCVGK7'Z*?2TB:_6 M PC0T^A,O$<9"FFTXC4QT18E1!#7+ PW]C'*C8]/FJQ#JXNYR'C,C \1T1(( M<&S"("U6A*ESW>6X)SU.4U?P:I7$B;K$ZPHVS4%%$C/AU)W^C=M'@\EVZE[\ M9K[E9O2ICS<\0DA9DW(%FHYG2J,]<.K+I2,V7;R'KD2^=)Q&('.X*_$M'3%J M\MR H;'\.MZ.T*B:C5W9F-K/,Y@1VI5##"+HCQT.X,4X*7O[Q 47\-E6F*5Y^C9*"S2N>'%C*F#=XA M>EOD;":GW$#QF9W?LS5/:7D%PEB?\<$7/OC"!U_XX(LI6H@L-SAZ"U$7K6/D M\\V 3/YC,"^8%L5T3BZ0SMEN*1*Z>TKCBF_5*8=W(LU+X%HD\%GT5X'9+O$N M_K68U^=;M+8;@(RS:H*<[^?''25;G+$?PN0Z71"Z+HOXL)7,1(O9Z:DURN*7'69*+,377L-&?^@/M9 MPI,\-ZNEM1WT6&\^B/SH$7A]TC#=.LW-S?M* ><54>*T=1AYL58UC?RC:OF A4G7"T(Q2 MOO>*Z#.Q"]\NF-[*-=CLMS IT*]XN5("J^M')H+73CQZZ@W*\YMLX[R''+EW M\K>=,(-_KZ,&-%B!D&S57$/CJ(&9LA]KDC[D)/JSK>!'?3LC-->NGM8TWAJ33$']S-8!N2NH-$JS-!^X>Z7:UM5D,:^9LL=A$^"B$=22?:[?0QE'ZB\ MW$E;-UMY^H3RVP7?LG9F-W7^CE[A/;O>L^L]N]ZS.Q3SIYU6WV:I(9W-4ZX@ M!!< 26<)RQ6LVD,#0)9!5R(E (L+Z)1T!9'V":*H;[D"3+==1F(,<#_5\V3K M= Q0K\+R0>]XWC9:FGQ^JL]/U2!L61M]V,8MCJ.^_L$TUQ' M=!N?8#;LN'[E$\R<5?5"G& >[0!N>S!J/[N,VDC.?#"XOS@#;B>G*!BG]Y/' MR5S .%RRGKXF8BS8' [R]/47G8DA!A+.?@J6U5X6A&D' M]LP_Z_<1G>EH0U#:(SM-S!KZ5$8A5+\(9 6JU1_^^/RP^V 5;G#\8.2LM#K/ MM<^3,YPGYU@6SV7!"\!)TU+J'FNB[ $M.3K[*X+#I'8I@-KJHGDWIH>42/*0 M6MN:*)ER<#OS[>)5P3)9P%AS)RMBNWT^DSWY3#NM;K=/7XA2KG>(8B(+LFSJ M8G1^W7+)A9<_H&B%F+ZT167M U[\\(I0A)?I><&D\C1Z$A;0,!(#D,;BMZ04 MY)\EUC/$)%S$E ()#"-]S8>E^K!4'Y;JPU*'8AXFW! ER6WJF/B@51^(Z0,Q M-836 ;6JJ8.AM,?*E?BI1]Z!89#9[J8.@,[PNLE&&/KPNE87*T2S/L%P.C73 MU@D&T&DR21APV?T<+$),@RV/H@K6*,P*6H99]?32*;]7IV.N(W&^4J06#]AT M7$^^_(PW@'H#J#> GJ8!5*=29JE]PBME/83J04.QM0G,[X--=9>@".I"NXL$ M>\K+JJ_5*2YWH\U+RUY:[B=]72 VF1EI?"I+9*_#)EZ^]?*MEV^]?.OE6R_? MVB#?-IU-!@37-V^"1;F]I5FD+5LZ9^5R^LS6";U@/Z4HYGXGBN>%J&-9/FZ!8;!O M.'_WHH34QQ7ZX?LW_WF/JXYM M@])9WM[0 -55;&LKT=)V!FA^N44\;-A<(/2&4]"<0@[N9QM/C2G^"CV-\]5R MT5=S8RNH5Q@**^[R\L:_R1IYO/'/&_^:3#WPXXST."W<1*OI(@/8+NX*+NWV M4\BI[(HUN7V6J.FJKN"B.DM:A6M7EH_*?DK@.J K\#3P.40RN^6KIM,)W:)I M^T1_G^BO89NPSG6IT4-Q0O4!M#@\3K"

'"/2,;E%^L-;2A(W4^+E=+1,'EP]V=W ][_'2(3U9[F[@> MD'3)CH#U=(?JW [YW66/(5VBO)13 MS\,-E^]O%V>(S=;+D*;BFKC?N&*<+F_(%T1O\/HHCGR0=PXZ4;H1\WFS&9S! M_3N'=/F#*N/77O];<=1R/?#XM)6"O)RVNN>::#NZ3_F +LDUTGIHDJ)5\]3$ M309?0AJW^,UKVQB@]?EP*S5)<6B=\?/J_$ $_$32+5O%;#ESJIEVF7-5:/_\ MG&0YV[O_"^7W*"++%/]]=)*._CVC@42C<54*2E>$5G_B[=[HAK:6"#OPYB+9 M[883U!@*U=K> \,57&I6%H-5?VU0L#6)NAG\N.G<-VTR=4U,4AI8R!0?2,C M 4Q9SC0(MD3%;&V<%8UM300!U>XY!Q<%GSWMFU07XXJ-2/RGDA3+[4:VRPWY M";,YGET9X38T;BR[HF3],:1_HKS2.$O=^H(I34-C!_CD-+%\>:6Z,)IS'8:= M=1]87UG<\UB?FR:&Y7F:77YE>B'.4':=ELM+R!;7W,2;9C@25X(/C:?"IR>- M[6V19WF8QN*Z40V 2K]G-XI9X]XOM*TT!DD#8W[*%'+S]ODP?\W-Y=<-+LO] M-5Z2-MC[S<^O+ER\W(;XCOYRU33*,J-\T!4<7YG8[Q%?2&Q7$J[#,.+FX$=$ MUQH AE(R:>0/]GT@OV]'0KX#)9-&_C=AE-G)+UMREXTK&1ZR>: > M)>4*(NVSHB%:P140I#MM8X2E*ZD]K><,T(/N"A[-%_U*@I^FOA0:1:V&0+2I M#WHSW_+@0%>2VEH7/R#, (S%#Q/' A2(X\K,T)'Q:?F$\!F?';+ 1O,'GE"> MIXF@G1-*^^R3J'2">9WZ7"7C'1SV@MO?!0!&[0!NJFH595JS+)104_"E.@WR%@GD21G]FT8J]+0N(:!!L*!;7]JY)C))= M8; =<_WKH U&BB65TP;FQ]=:TU)K;3^^!D;ZL-"244)\;29?F\G79K*C-M.$ MJ]QT-FL]"_"S_8YV^76#>!32!=[BF!V%]R.4NE#]KBN8_L;$G1PG[#C5C6K] MEZ>.ZSW._KRBB!NN$!,ZC MPD:\?8V,H;./F_:V48H3@#_HGU"KT_H]6F+UB;N M68Z'3]Q[S;-/W'..;YWI69/-4#.?GF4(B6,^AP@S[&9KFOK.JBF$15&C=V[_ MTC=E(49GY_9&_?#*/27CI7X0AN=IQ!EM&>%E"[((-OOL^O)%^H*,U.BP M/,*H"S,^O&ARX45JPSQ6;%&7R>8#BWQ@D0\L,D3KU*^>\D%%$\'4!Q7YH"(? MY.*#7'R0BP]RL<-\8UKY\1$N/L+%1[CX"!W^/@6 M']_BXUM\?,M4]B]]4];'MVB!%Q+?HB_HXJ< IZP5"O+P*\IV-H<@?WE='C1T M O8VK0$0*B3U"&,0Y=+I4VE2JWX16 FA'9>+!=L=\)8)#'RV/H9?^?[ *T/BM,#I\G:#RLL-,M: (K;A M7*#J7U'V^W&%:J]9'_;EW>ZFE;#\^EO7Z3-Y*&.[*9=:ST6!Z.CU+;S*_8-T M2,K5[AH]I%GQEM+^I%9#RXNR91E#@SXM"!4E!U_?EU%'+KSWH#-#_MF7]=2^ MEN4]^:"K42]]S9"7+X/B4Q[0DH__!T26--RLS]I 22=Q/ M:UL#WJR+2BYE(\_D,Y1GO^T<,;,D(5^X-5#BX@+T-'I]]P%]-SB<"R&>;3G[ M$J*S-3_F;Q>?4_K\M[I.G],8\XN[Y@636'EY0K:*LMO%%:$(+].'8I[A&(<4 M(YG[T@ E1I&''[$2P. O,,KG,W56UD8YD)\*$B;D'8SR MX2,)QJ>V]S8XD=WK 3D^TI7-@"IYHZ^X-4-2=QELF MUB+3754>;T%9!]:XAO_Q_,!V MG+US!>W0+KP++(_ =&W9U[D#2 -?V+C=3- M>F!P'+FTJ+O7#XS4]*^6'9(ST M+..);G.<5M)VF B;[RZCK;HJ711N1@%;&2+K+8S^*G"&=ZUHN,%QQU(]H].A M,U)-$S.^5(^6>*X9'Q"V!;V+?V5B5VV1C-9V Y!Q5DVI\_V,VLO@US&;?'B! M^>%4;L0[:F9IO)/ F; H@EAY#"Q7&Y=BVZJD\_."\KVNCC$]7QXT[&ADDC^1 M-#*&U_[C-D#&1*&DX/>-?R D_H*3I):-LH^X&G= Q)2_';P;$#!I_OCHVS^H MA)>F0TBK?# &3QK' 5Z,*W_L#.X7J9@N\7-?#0"W4. ,TGJG[>%0*!W M;M9^UYEU?LOT8KIG4=L^6OO=*:+::*3YA 9>\VU?,[I[GH?9:D?H%27K VU> M@D)#CR!];Y"5'/C4[8JIY#]D@J"'=S"F4?*,EDJ[BMFZT\L=E]NSB< M,.K\';W"Z'+Q^5&3S20P;:/V&3SN9_! ;>.DLT/ %83:H_=!_@57\CD $P;H MV7<%$9_A8G6&BXV5U70Y7IS*&]( VDA#U.C6<2J#:;ICI&AZ=RJ52N^HR<[*V-O&JU>7E9:P.R/5<#SW#I+W(U6W( MS,3I>%'+W@4FCZOWTIP]:PP6M^54GO[$1PP4%C)BBO^TA7 # ]808S9B<0$_ M3,,%LSA5YL# ,*E&?HQ0+.%]B7>*EF%Y/;.[@ M-3])@G"YI.6A$H1K0G/\=QEHACCW* MH"1]/5--:]CKE=SQ/#N@N"J%.ENP@^V_4$BO6(=7T WP1J,AVFIT?V(;PN,7 ME&S11Y+F*UF(<[^73@B/02?%!.>#()D4KTL-]7O9Q/A_9-\?;@*(MTT-@2]D M./Z_$%NYEZ=_-7?R:2D^+67XM)31I3*?E7(Z62DZ0NJG$NED84B]M35CAQ7T MG0H3&@- B8#D5,#.:+C5"=9.!DD[^FPYMUNF ZD]?#JU+=7E=J MTM4O D.!W^YNN_^X>Z4R'S_H[4V!4?+Y04+)_L'(?AWO:3KT-)U_.O\8LCV) M7]5SA6F61T4NKQ;?WGH DJ[3?_%+PTCZD20\Y>:.K\ U^UE.%[#+ ,2)Y"SV M^KB(\H:R^@W-!B#B8840PYT=4'(*9&T&^+R0G"_N*!;1Z.P\0JP/DI,":3^F MT[3#O@SR@W;>[_N83C.:'YA-V6^O3:;\XM/+@I)-_8C('FNBK%H3M_0!T2V. M4,V&U]9,+Z79+(TK(K+:0P/45A/-K3<]'] ,O!5Z?)K;+ND]I!EV>;-6U\3% MB[5_N[@O5WY+45!@+P/\5)3P4%:>;\2I^1WGJ_,B8T(#*3SM0!@,V&=M5EZCA -DYUL\QX3DO+ED>S!NX"#*#) ;4ECN>2M6Q> MR&SR+@ FA%P.^%XWF;+(&FVXH[G.[8,AE9S^M1W39UQ=Y9N$U.(N[.QUIJ2 M)=$5:*!,DP&MD?;FR48K]@>4L2=!%%+ZQ+C@(=U,G. VKN=7C)HDVXT&"S-D M^S#B SE\((>A0(Z^>2'=IOV0^<)]%MX)>]2]S]?>^\-^F "-/UI XZX$RD5! MN9D044QD]W]!NACDY(I0A)=I650U>A)U5Q(AQ7Q@R^Q&?F^;^@N\C]S[R#4G MCW8\HKTW_32\Z=Y][-W'%KB/+;7QZG806FKGU>9B$:82"C,< ,)5K0>BZ#%SNYLCI\&:=[IG.Y/F:I&8=#!T&#N0V MZ#PA=->'X[3=<$J?;^61V)AJVQJM!E=+474CE H3K[K8PLG^%A<59HY[&>;G M'B]7^>WB0#P(NEA@(_;C2A!GBY!*T32VN@:D=#4O$I@G>SAIG6E@/L9 MYPFV6D!]O(O%NUB&\X\1]QXDON3D)L> M S($&G4^B']Z7J\&?)L9)P. ).]8L,6QT#A8BLX$P, ;,_3N;LRL2A\##+V2 M'I;P4=W7>INJ>$;:.QOFCF>H1W@3)KOK: %,2?O8Y5HXK+^M[F:HZVV /T': M.CMGFW_*ZZA??BU#VZ\(57'H M]GZ?I1BH.>T&>*-WM)AUM(Q$[6\A%1==MVUQTG:GYQQJ%D^]0\@[A+Q#R#N$ M0+;KXXW4N7G1U6@MUU1.RQT$-B5,/>M(#986>60\WX^U%FNISGQ:#A^(1GNZ MKAZHY6X\CX_M"+68 <' _.(",(/9#<"PO3\5V !&)Z/NQ768%Q3GF/U(%@'9 M#7*E_285Q?QQ7]=CYR^9<4OV)->[+&UQ678>2$5W9L\)8SY'!^!FLL%<7$O/ M[A2_*""^VKIN]F5_'1#WXNK=C@S6OL-"7E_?1=^17=EK+.2XY\!.8$QWEY7W MX?"@NZ4]O"W^CC%]]7JCEJ M$:2_&(V^8%H)DNAM[0WV,:OX@'=Z5UF#^I!*C/8$ IU9"T]P0"N:44U MC&_<\H%2/E#*!TKY0"EI.,,06H=SLZ<1LWZFS].*J^HE!)]6K%4G ]YI9=_W M5")/*T2KH\G[M**V^EEB3C=^:P2,G CEZF?+/*WXK6Z.5;BL>5(">H-7!([8 M28CG@R"E+)Q;'-#>S<\(Q\J=DEBJ04QPC.#B^?L2HY1?^8RLO$1@&!< '#NX MM&X_=OWB&^"8.2&\#QL3_\9=(5V&B(& ]R^(1^VC. BW;/"6**"(&^2Y,X,= MR^M,7+NXF^X!&]X!0M\'^*:9(/C!"/?A\+:$PP\PI(J!\8--(F/!@K]7',Q* M!BXJ6N\9J7>(1@@4+0A_B5W=-0\.:A@;21,X/1^Y:#-PGE-\N'L.O$K6DH8?1',$&NF;S+*=A)%/P%7H: MX2MCM/ ;L[-9&C\@NL41RA[(?K\]8J>M@P$N+D/*!8.,;> /*W9FM Q)6W,+ M.#@+,QP!R7_1U@+:+W!2L%T<2/VKU@;H_X!2)@HD;#K/XC63,/EDR-EB;;ZW M =C+!#^49-D=)0LL6P '+8SNJN5V>,.(N6)2W3EA9U9:L,E1R;9,)#A#"T*K M;9/MF"B[_,IP9K(ID^CHDQ#X^$U$K">3)QB!RUW5.@GG(W[1 B2?I>&6#;"E MM3'Z&=[5\CECJTL^?UM:&Z"?'>G[J26A^D4;.VZKJ/!KO?)AU\XNJEMF>6M[ MDSRTSI::EF;1SU>(U@BS8B]E.R9>IN5=>='3(PW3C.',+0EI+'Y+2KM"_*\B MR_F6TZ(&C/LQB]#[G%(4)OAO%/_*1&@VVA^8)LFYO$T?4%2ER\XHSMBC"_9K MNF1R$R9Q1_R&^IPI!-G)2UZNBV8A#=;)Q+TM*$,AC59LREZ@+4K(AD_49F9 M?8SPLD5I@78"%=]A?\?YZIRM/H8U99 G!9]KO, I^U\LG[8]WF2.[[9C2-;, MA&<8"8F53:"/(?T3'9R-,B]Q:P?OE7?RKI]75O)/Q7J.Z.VB4M:%XI[=%GF6 MARE?D!)V.K[%'GZ/2&RRRW1ZA\6\5L/$/20)R0I:+J&6W6[8E[L3CP)5O7TL MB8\E\;$D/I9$=EU HS#I"A92+H^1Z*XKN+*$(&!!O7;CA= 82(>$ -/@"7%E M?BB&$S4;2UW98=K9)>I:L"LS1@D"*RMN M8&PZH.[PNM4.+LQ).IY69./J5\ZE<&5IJS#^6D,:.8S.E04^,,3#1MHY99?O MB+1":I@].9MAM@H6"?F2#92I>?P^"_(S943YK$PKLS)G4421V#?6A.;X;S%# MN,!19D)S#^$=16M\3I\M'S-V4&[++;PY'&K,3QE [JQ@YQ7*,K87SW$J MQKJT*"X9A^RGC+% JS.)B1#+_N&@Y7/( UM\&Y*%R0=*B@WWR_'% M*.R^*-Z;?24@ZR0A^,%CK0WK'Z>*=2D8,W8IK]]Q@%PN M%DB>B:^5"*/)6A=HGA^H&=L0)SR^CNE\#R$7=TO-9*>22/!2>XG9(_VBTGG4 M\DB!O8SPP\3W"(NERWY.4*68'TI94J;@74U4"Q"KXW9QN&)N4PLV8WL(,UR[ M]8YB)J5NPF1W*8 $L,8^9K># V?V78AEI2@DK8./HJKL)NK]H M"K6N#-*ZBQ'G/DJ5@C%'[WCNM^HK0>[0I:+1B4@=W9:S7)'W(2?2GA)_V MCG8P=H\2[EE^)$SOX6FRLLM\FV\ Y\BV4L[WQ[*!-!'<*R5CZ166]47F$9LV*7:?>MM_:SC"UV M?+$#*W^Z2\(T9[H/MX2*;$ H?](7&&:4D@BA6"307&=9P:V>N]#/SVDLDLT9 MD7C+%;[Z#89SM#<'BXWW=M-DC=;R3<-8?@SS:D,2ZG,Y&1@[YV&29+>+7U'" M=O"JT=-^]P(@UO/-AG$Y.+3%BH?KO(IO"6Q95?QXNEUT._8ZOL9$"3 5448B MJ)@T?$Z\\%HI$ESQ0,46=0S2Q9>0:Z.VV&P204F8[%"\3A>$KLL0K98A4.OM M7J$PT!STU<)\M3!?+16B<$M74.XX'2 MM$9(-S\%]'M&TKM2W4L7W$;RQ$:H,'8*2P/N<'?E6(7)V%V#*D>0G$U.PPXP M-(((B",?03)V"<&FN.41EJA+T'4*$G:EOM<(*QF2+>%*@:2Q-L)^H"D+G :, M R--O(Z9*B.(B>8J^?2#MGN0KRM[8B\K/CCTVS&1L <E9@!@\*.^[#XN1Y';7?K#+:IS5=PC(R_?Z^E@.B!KBOY7@J M\K_\L1]/#2-;<:3_PR9N&1!WF>57B,=J)] B\,!>!ODI;VI3Y:>EESE^)'D^ M=5=3MQ0)Z/]"9!)P3?LVZIS%=;7X#4,U6+J=AM#<^? Y/T\SR26BZLC M?XV=K>!ON"4ZP!L-XO!BH74;;<@KC(ZY&ELR#DR687VF:9>G5"9"[Q*Z=B/! M[Y<4,?:_A4E1:DP)TZ"X#Z:-V=XO]M6:S-8XFI9!Q("T[BL)^4I"OI*0KR0D MNWE]($W+%=0&P.,879@)PI4E. J$*IKQ",%=[@ ),Q^Y,A=AF^!@NNQXN^ 6 MT3G1G6$Y!"XU,*O9@<:;BBYAVL4:,=X^Z1*R:E:]$0)BC6R< X,YM,%EO"0. M U%O8V'=;,FS.C@@KB#A#8.P+* 1IG&0'"3@CQTET($&.\,%.C/BXP:TQ T< M[7[W>+G*;Q>?LS*'H-;GW]JIVXT"XX4V=)B% \NJ5$':1U!0+]]4Q<;.-G77")9 M=AY2^K0@]$M(8_ VT?X&*_CD*6U@E@X;VT ]^^%5U;O#M%NV4U7*1U:?EWM. M,O \'?!3=B+']W>Z%57'1"FR,,F.2Y)U1TOI]38@!([F /0T>\_@ 8%*0VFE M&'= 5(,@MGNDQ"3@?38.9 /9ZB)NM_?:" M70WDFVD$I;B7V:_H'Z7OKV%02 MN9K[6<.3ZH6OBF\Q.UM]_-QDHS1,6H)\()T/I/.!=#Z0KB6&I-VNX@HN((Z; M$!I$1QUOO1DH:0Z%M)L'R)6XN!$F7D]3DFM1'YV1!;MFQ@O@F!AB$A>(*]51 M!L!'P?T%1LWR4F6]4:MQ%("Q42X4-C5L@'XA,&#P0EXF"S/VQ@U@50=#IEQF MRV!87F? :KS#SFF'4)T(8O@<03&R9,&U<-\*V83(@AEV<2R-H3.ZCV>J; M&D%;>HGJHU'-O2^T$+_7".K3*PB-GK?J$,)"'T?0JJ8-&QPP?4D"[X*,UYJ? M<[.+\-L\5_''^YJ(03@G15ZV#$AY@4+ _L)>EO*:I%VS T;YN-:T@!$Y\/D M6O(!+K\B&F%Q=T"$[ODA<$4*^A&MYT>1@N#VHY!UFR(5JHZ:CT+4(VNO1%9- MAW$(^T*4R'K=?-0TCE%V#5C^QH@;EMX(C5IGP8$8=_:T;U)=:C'C=J?J_I_; M/3>?BIIY,OIWIHW9[XB[OU \VR(:+M&+!34^DI"O6X-O>6'5K,A7A.*_42RN MKCJXBDK<477V=+PGU1R%&KXT+=R.>:F5:S1\:>JXW9 OB)8_X;6T<*&.3TX= MR7*?YY?6B"<\HN?5I7-C@MK^]:GC^WFST3U3)9\TA>2\_12=2T[1WU#&#\Y4 MQ&)$PHC"_R0_7.\1W^7X7?0D%1:.(DP>$5V_:<+=*@*M&:6.D^]X)3?)/VKC MHIQ3\V'JO,R$CXTYM-9NS M*Z'09D"5F*9=B8(V!*K,#>%*J+096&6N,&>V50VI:K9O@CY532DL4Y_%U+E% MU@'7P1QSSBU7?9.TT5CJC-@"Q]5"8Z@S4H[NK0+N>78EI\S !@)U8;F2@-9G M+S%AP#<0I_I#D*)\5W"$'2_]N@6M:J!$9P2K-G9\.*N6<%:IOT3#0(,B$+5-.*T.N\N0;=_<&K#8G0N#$1,!JEWC M58&S6NH[]37!6Y'E3$NE]R@I;Y9>X4W6S%%[#P-\7+%UE:,;O$6OZ]%]SM"B M2&[P0F8+5^EJ%6>\-GZQ+A)>>&RV)C3'?XL14>:S[46GQ;79VXD:Z#U[^AC^ MB]#SA)W(#94X.KS!+CX_4+EO$-K-+H[VJ'\*U\WU0#J^Q2Y^Y5?HPCK9QZ MCXQ.!A(27<&P/22ALR;D2M1&SVG61:QSQ5O?$SJH_.C*3),OQ@;K\M29;SS# M&BS]4U\CS7S+O2^N9-KVW!LZ^ 1M*BFO/&=:LG;J2I-IW&4(= M65/?KG6&,5N^<_LP9K4 .#5WRPCRG,GKTGI#!'4P.K?!= 7LR 7DW+[3$1E9 M)((K?8EK= MO[,=?5>$/C#J+M \?W@F\&#+%.+OYY2B,.%%CCZP>7B&&$_\#E*)SWB0=QNM M:=&5 YX$.18Z+]Y]=%&N3?"4ARPOEI7E/,-*%KVA^AJKIL2>T)=D WF5=3?* MXUF8_OF(UVP@-B3#+9%#S8U-A'B'V6J6QOP??F_\EJ&(?B(\OSHIF.CQ.\Y7]22W1>;W?*$1%.B&4+8+OEP=+8P"^IB)N Q3 MCO]UFC$E2:0Q-T8U-[4V0/\]8H1@7@*U?K)TF)-#O-+');H:EYAF"T0S-OX/ MB&YQA-/E[:)F662/C+JL_E%CZ/D8GS" U.>'#V2+:"JVB"5B]+T6)AK7H&IW M(QR*:8RW....K!;^5#J?2CSKJ&JLCV=U/YX5*J<0'?NM M*V "-!$RAO3D"GZ@$-EVL7KJ<7H=UF8W*< 51ZX"4 K:I2O.7*5II"YLN>+3 M59I$P]AB7-FHVO=MJ(W.%434) &(#=:5O=I']5D=U6=M;;N^7J;Q=I:I0M;- M@3O"/O0R:/+1-3B;/;[C;6J3F9=0)ZK]P5TKQ% FZS#G[9ZT!W:!/V]Q4)#1'2.82W%J^9@-'[/A8S9\S(9!^G]E.]8C^5CM6*W1:6W-+>+@ M0%SFDG)$EBF7E7\E":]Q_T'N]>__PLF@T'#G6/<7FBT7*:/[*L3TMS I9'$M MX'X^L,J&$*4C]<\'5OG *A]8-3R'/K#*;& 57*7T054^J,H'5?F@*@N]C3ZH MR@=5]0+*!U7YH"H?5*5]W_9!53ZHR@=532"HRL9*.S!?@2M;1S],5'T+H\=( MV1C5,Z!+PKD]J1-P$M^&15%0\S!ATAT*R.*U(2QFBL"+ED]!1-*A$EP MT&[(L*C!Z;$A3FHDIGS@E)V!4X,/=Z](JI$FGT4E?ZI]E_WVB2V)>Y(P I:/ M7U"R11\9/ZM6U_30K[<8H8K\_T(A??Q"'E>4%,O5%=ZBH3""?\ ZE(8K'?7. M!E_XD<1R@A[\::E_MFSPWM%Y.HY.'7:GJ5@6O-UI@.2?KN*2<[-I$ Q5Q:GQ MS.$YR; MS9@X*[!PE/#PD>LU&\MM>3MGW5I0ZF,DM4Q$@40<[FL.^))M_(V< 'H8X..& MK20)P8>/3%"&P@RM2 *>*NT=#'#Q,61R78KHT^$R;.*BO8,!+J0;2A,GS9V, MV@:EI!U<@P7EAG7Q=DYOYQS>SCFL3.1MF=Z6Z6V9WI8I,1X="WO.S81&_A7T M#.'XI%',_^!T?S%_>E6H\<;\(R]^3[ Z9;]2NC3P4_=7%ZPE^GT9:E0Y)U4 M9L-Z86,%'!&6(+N6>["=U* M@TKE'])_XZ^\I]15Y5TL ]J55L'IMJKMEI4V\N' MN[O:PI&2IP-\\H%/A]L-GP+9OH";^.LLC6_S%:)RBI0[CZK^#S;G82:"@9>8 MWO#/1'R.C=6*G1-GG-3S THO2T(E6IA:9Q/(U3S!8^&_DMJD:^D0^EOD;,0&S)HKULQ+_- M93OY3 +TL(>/QN+3H#YFJKPC)FOR F07:(L2(OP?D-FFT-.$S0N)'#%&W$>1 M(,Q^AC %[6:"H]H3849IF"Y+U_K9T[[-7?C$_R:VXOU^G,;LONZ5AV(5(%Z71TNX)0O01/=)X0KD#9;D-O4)=<<21( MYU,?4XBP<=G=_C?%VK)WQ,%KQ;W'#$]SB#"_/_CCFQ3-4"^H1R?E% MF/!K GCH3Y:+S"8VS_AM 8UNB:ZO,E%+N@K,+ZF^517'28E,=X M_*^B' PH@X#.!KCC65#YT_FNL$2CIZBQK0':;R-\AA:$,OD@2L(LPPM<2O89 M6S>WB\?PZRS/*9X7HF+P([D3(H^$N7XO,\&]9,'PC6%'\AW/#63S30&&?F^U MHR#.JXF:-00=@/IX-Z:3UY +HS-/64UG[$NN+449XP'14AY^S.'? "ZU7.6:@[@-7!H.#< MFAS1MS&596:A;V.#*"8Q^S[-;4S?:U&;-0V!Q2J MQIM'+J$GD1].T%RD44JUP&)"$:,SPDE9Y)P?YPL4\U0,(0,45;G.78> (@J<[8;C>>7?LR&Y?S&VY7:Q9#.! MWT*!XVK+N$=Q>1_%':+1<2#@T*_O6,.Y!]]WE&QQQGYX)/*5.*^)HVU4G"^/(FZ?> MR._:R5 G8TCL$/ 7&+6(02;]++\JQ_%A-XPO&BL!T.G-EN)RON(E/J[3BTJ: MYF[=+$-Y]ESBEZ?_?0G9!M@#HPY?L12O2G-YT6)W1N0X3'J !'VUI<@(Q_<^ M/DMM3X&]RE+.A:8W2V.>=IX<*&H]$&A[I:5(L#\^"XT1[H6 [%46<\XV-IQG MNR(,/7E_^3)_3XIWM6APM8PG_7HWC'?#>#>,%6X8&X--!U>TG)M(O>&#B93. M!<+7XC:\K\ZVSS@^&$EZ4S-ZKE48WQH/1A-_&;2^: RM98.R4K^R> MZJ)6LU&!\8/?Z#UQ_)JM&F"\E._LM@FOT9QQ8/C>3QF^X0RIP1X7*>^R3'DNL+#-S%&*%NS(&RU^ M9BB"[ J@&98K'T%C5Q[3>.,]4 C"L-//NPX;0\RSV:=E_3?A)L,W2YFFTV"([[KE*9P]J<;O,9Y8S#7"%\">J6G MY;BPYK#V+E/O,O4N4RM+TO)@52M$5I@0+.:D#VEN;Y4]6(C_=S MOXXFVL$_K-44.Q+UWN2J)VFQH&Q\'LJ1J+TVHZW9 $3\1[@)TU8:Y*T&(.%S MBL65IVQN9ZV4M#8>U18^^(*#V;Q'6N=];#<9S0_L-NRWUS8;]J<_>/ -27 L M2!/G4LTB:V]HC-K:G0K2U,3])^442)?5JFB^5*FEM0'Z[\OYO"OL0,,H_QWG MJ_,BR\D:429')P6W#O&P./8_+L%(>.OQ)A/>DW( &F\:JFUCTM-S5F1,TLQV M.S#H1IFF/M[7YM-T!C,Z#W]:>N.R^\9E@!A"5 [_J>.AMG\3T&'E'"9'UG>H M,#MUZS)LM2A)FU.'I(-KIETD<@Z4MEU$1!.*9VD,\Z\H=W;%_31QWP]L'79W\JBL<^_-<=&;LR]YW>;)V;M/(U/U0WA_C_3'>'S.V/P9XL'G'BW>\>,>+=[QXQXMWO'C'BW>\>,>+?;!T MM%TY-X>\/\9&?XRU%\$![#:VN%T2DBX3O$5Q$(J:E#QJ;HG(DH:;%8Y8PR7/ MYA[0"]/I@\:=,CVH]CX:GW'C,VZ@QJ-."ZV[$Z;'NO8^&1=],A/U;-SQ78WF M3W=)F.9,0K_\J\ ;3MHG]/H*0$@7L_?9>R^-]])X+\W(7IIN)Y]WVGBGC7?: M>*>-=]IXIXUWVGBGC7?:V >+]\YX[XSWSLB],RJ&#UO<-.CKAA?0S0OV^6!! M:!#&<5E7D%\[>J3+#>BOZ?=EXXZ;(+5C^E2:,ZI?Q!@(_*L__/$? M=Z_L%LGMN8)1\?I!0LG\PL@_)>[6Z.T_Z3?;N7I0A%MGH#HI26JRUZ\L> M:Z*LDM4^/%O?PD3J.VEMJXOFW;0XI$3BGVIM:\)A$CX)"?J1S")V_E,DE0ID M[A/P"\PZ4[Q1?ZHV-OT;L;?NGX9UOWU#)DJGS=0Q@5FS@?!:69WZ0M!I9[1T*7@[8Q\[8V<-P1:K8XS8AZ/J1B]^ MB5>XYD_^+O\PH)%1Z4/&;8H=J/4F1&]"G(0)46EN=[<8=EA"WD#H#80:35 7 M!S.4_9P@(:>D\>Q@HDH,4Y"NWBCHC8*:C()J>ZVW 7H;H+AN@MP%Z&Z"W M 7H;H++!*G2787/O&=IKJ17*+OU3\8W.)SC!.<896SKNLU7B![\2B^W0+;S'6SZ\I(DP%X&^+ED M0BMY0DS6%GO] 5W-:QO/#5#XO-.@ ]E;0FYC6R.T M;]DT)?1)OJ'6-3% :;NV<-#"J 3T4ET11^F*)#&B&1<,\J=V\FN[V<)3\^Y^ MW- RNEM$TO8.!KCX&-(_D;B"_ &QDP4P#( >EO#1>L3".IFL]ZE'+>: 1I:FJ%[$^+XDF 9:B M^#*D*=L[LP.;]@5:X C+^(%W]#&.JE3?+DJ5'H?)'4#Q@ALY',E?!2,##P6:NK1U, M&*$?'4$(X*X$8_*3 M87CO" PPDSY<@G-%S%5Q;L+1<47 5?#%P<%Q1<8%AVO!H7%%Q@7X/^&@*$N[ M]LLMG046RS<6F+D%&N+C5*HA@.D:_;DY(\J5::.&C6(XMBNV%^4)I)JYY8HE M1@THE7@P5PPT:@C!\P7&,\\8.-+50&H/NQW/3F/SY%&,3G3%46 M'#6(E++*7+'N*"XU8,3CB$:>*6W3G?=GR^5$F XERQ>\-X/>E8ZHY^M85 MS4L-EN;<9'<6D HFJI457-&RU%!2C3)V1=-2G$M]"I$XI7RIX=8>O^N4DUP- M'-6TUCU4VBN7/?\Y"\@BR%8,B8K4 )6T[DA5+&8&?[&)^F:JU'4H>39JB:7: M:NN=^]M35JF9+T@?([S\J\CRW9TE]40^\"DV#]DFQ4>##868U?=\LF4X1P^( M;G&$[A#%)+Y'$5FFXBU-^6JZ/FNV<$_CC)"V,TNS0#V[+7*VS:0Q$[[:R3_J M$OS@$"\_FN7E]>[74IP.T,-$*25Q+G':2,K6?&V53%!; [0S^/:RM(3FVC:F MTIXE:L 5H0@OT]+J%3T]TI#MJ%%5FU;\EI32[?/6W#+5QOV81Z_+QXP6096Q M]#FE*$SPWRC^ED<$A_J2MXA*UBAKT\F;Z6607B=906*#_>84KP4 M=T.6NQ7_/7FMO7;AM?I,]? O%L_O02KM;QJ%X=KL1)%Y^133" M;&0ZL-KX'E,\WZ--0:,5GVQ,U&(G+*9U4[*)7> K@O07ZYEMLN HO,$"5CN6 M]3!IQ^A#-\AF,57/O(J8".Q0Q@BCE[L1TJ$Z@;LX]=Z([%/$"F,*=VXPLK$&T*<7V/*2Y[L@-2&RF MBB=NO.EB.4CMPKUS1U8['GTL+LX=8EW@@AHRG#O!&L'2&]PQ0B#C^Q+;%"U% MQJB%$/>R-+F26@:#JL$W/U[ZF+67T^IQ.[N2= 86P& Q-R,DFKFR5=4;BD?, M/;-Q(G5T^L%1FHH2V%D6&P(D)^1['<%9<$B=T 'TQ!O!0576%4H5_3*U\IA0 MB<&%8Z2/KW9."G)4?!SL @Q#;;B %^C,"MHE9UR\'>R"!:[LOM! M6!:UJMK& 4F#,*!\J?#%$3"M$&=!S WIR3,,[1D\&HG1E/6CG:,.F4(9BOZQ M)-OO8H0%'W_]P'\,RA_%",FN$:B\V,VW#'3PN,,HDA3V/R"JL?0_C*[CZ;Y_C<94XK=3:2^U%XH !\W<'^CX_A,3SG-/E:+YS:]WRV<,[YN/J=D MGB$JRGE?IYLBYR91MNP2+(Z:LR?1_3QA:[ QMV;LSYE$\)"JAH#SUO9F>7C^ M\5>,*)/F5D\W:(L2&$. SF:Y^[@_2*XH^JO@ZB>,M;:>)OD22R034+]IS-@ M]+"$C[?*?+RUDH]WRGR\LX>/NCD/V][;>UK"5W:\92ESV/H.6WA]/F1ADQ+0 MU<2=X"1%3V49_*LBC9M3U)H;^[0NLZE/TPKGM4)?/9%X$UJEKJ(+2M6E'+I&P4#EW!JSVT6%G/="7J>L"IU"RBN@*8TEP"FV-< M06> $[/-,N)*E/:P4-4:7UR)T!X6JEK[CBNS2FE[:C)_.[@CM8NA$&N%*XM* MQ[7W4TEFL##ES-KX\82"R[@YG,#ED?W*. ?0H1$P1[1I)Q03>'.K#".$R$RGZUD\R!N.F7./'QH 1D\8;,-+P>J 3 MF*$:O%U@8)7KBSHYA7O9P\!8*Y<660!@XFE.Q">A"L\N^:T-<)OMVSFADE+\P+G8M)SC ERR)SE0CUP=H6AN@ M"1W(OC&::A-&;_$[OF<]LN\VE(ZJ;6/D1N\=C#7WR;VBN;&MC5Y?V7E2UJ:] M3AD[A1#\1>GDQU68OI3T43Q62*(Z!4'ZWF6HN5+UZE 7)JT+MA\\9U^8&@40 M<=,,B&R%X*5A4?L(O/S\26!LWS)0I,_14?I$TBT[ 5$\3O"KZO>G&;(Y.92M M#MOLSZ5]FPV<--=7P*3'QLUU\YO@WI@T]/+SKJH$+[FT;Q4HTF>W."1U>NTM M%&E\EX3IIW"-&FO?CODI'^GL2[%J"/@%&Q5]S._IQ/S6FVH'"2R ;GRN0-D> M.]Q@%W?O(U\7P\_= !!7UM;3[.WB*SCP_"U^9O\9'Y M]GA51H_;?SR](6FQKXT7\G^"T[^G%6WTI( 3G/[M02?C90R"AW*V?L"2&&TBG#][6$KPMUN6\?>G. ME9?NW7ZD],&6]D*YI._'$K^.LD%T-,,/$+ZEX65\\U&4H^7['7*&"O& M58^0Z'7R._V >8[*Z5XGN=GW"0*$*UQ3L8!9(7)V!1FNUCI\QUK?> XXW,J* MJX7[BW4G;/R\CI!N.U/7Z^>\/_P M_9#]Y?\!4$L#!!0 ( /A;4E39HJ%>,(<" !JX(@ 4 <')L8C(P,C$Q M,C,Q7S$P:RYH=&WLO7E7&TFV+_I_?XI\G-.G[;4$1@(/8#=K888JNHWA *ZZ M_=YZRRN4&9*BG,I4Y0"H/OW=0T1DI)1" @,:R'-OM9&40PP[]KQ_^U,OZX?> M;3^,TG^N];)LL/OFSV M-C??O8%?S87X0Z#LM>7K^$=S:224GY:O3*6_T8VOW]!/<$^KZ3Y731S"UAL5 MI9F(?&FO3X.JF<&US3?_Y_3+I=^3?6$N5K?9.KRZ=(,9BHI"%*V/$MD=^(&[+R!WXNY3;JNN>7, MSYE%$H<39D&_5,TB&R35M(._E$AG;%/*E(,_MT5J*4>E\7:K^?XN6N,K2B2? M59+\6R;YK*!*-9TJUT=I.>OE42"3(.[+TMT7A[\<*QA^-]WPX[ZS4;-MTVWE MV9\RED"JZF6''VC5_]PVEPZ2L%UZPR")LS@4;1HN7=QL%3OJYTDB(W]8_7CS M:VEG4^5/H 'EERZ4MWZO^DK\I71I,H&L$B2JYH/G=?*DUIQ:9 E(T>[1 #P\QO\&>_[_(2"8BDX'7'GI73*&'0*'> M>9QD(O36O=:;YGM\5>-=Q'T1\9<-C[YN>*E, M5$??EZJ_Y"X,>Y!]](#RTCC9]42>Q1_7]CX%ZMJ\-U#I(!3P_"B.)/ZF;G=Q M@#+A/U40R&CO;_@W7/$U[\,K?)[:;7:!(C7X;G9QL\E_-ENTH9' PPZ':OE83S.L"YD M5Z4HI[*O\,ND48U.C,#[ IS .XG\1Q[8?E]& ?R7'8>BN^:Q_/SG&@C< MW78,TD1$'1$"N]^C?Q[YY0?$IK)CE?HB_(\4R5$4',(I6=M;YXL?^7V'L9_W M[0O/X1%Q< S?I6M[Q_]YTG?AY/2;\/))[SI.A(_:"U&&_V'S7?/#V];.6NG= MJO3"/%+\];?+0_-ZS1UW]\,POD%Q=!P#L\G;62SL?O/9FG5WEF0^VS/MSPPSH4O2_3SKQ0F(N^!A,VAN M-D#$X'_WF\;;F;9EX:?Q[G%WXR1-\P=, 8_Z/0?^85D'_OYQ">?Y!EXE])9A MX#L_+1$.XGX_CA:"?>[\M#A8I,G\A"QPIO%('/3MPUCHSD](@L69Q$_(@;%) M//!DTP1:[QO;[]Z"#OOV?N/_"7$P-OZS/$.?$5KDSSN)GQ -C[L)[QKOW\-_ M.^_N-_Z?D!!/L G3)W$/._+[A8BZNG*E+]O'\J^VV9C,[C&'[,Y!=U M+8.3",;?56 ![:>IS+ZE$LRC+ZJCO0RT:#N;6V5S"-WXNT&>#,$ZA3G^1:/HW<9]6/!.:ZMB;9H[EAO GS.X M1"RG8KGMS>;/Z[_&OY[&)@85=SNDN97 /78/(\ MZQSU!V$\E#*]BO>OA0H_RTAV5/:-P@KP5R0#.M>JG>-8],_XBK72#GRH/.8@ M&[/>VM[6(WA$O^,[T8U-D_X21]T,N Y0*,P82!5_!4)O53,MDLT8; R0OH&X M>6&3!'D>4>NPN.1<#/&K_1N1!$>W Y70Q>8\.Y-^?Q=O:VX^QJ1I$':KCR[/ MSRMVUNPA&T=YXO=@&K@@(""DRXN\GC&F#/D_? MP\^C>TC_\YM,,[L237X&GYB4./O_A+? MR(3_4OT'"!DR"MYOO+^'38/KWZK7G]_];3#X^?7?:FYL;]UO ]XOT@9;?1NH=I"EO0;"[2%AS'>;+0_BF/CGJLP%\NP]?91+$-XTE:5KZYZ*6 @ M],[(ETSP8P?G/"].#+E"X!9T" FP.3I7(NG*#,8$]QR( >9TG74^2YCAD4@B M&>Q'9L;$F.WXONRT'-L;@3SI"B"+]+U>T!W>]? MRP0V\$+V!9QX)\3@#!"SY=_=Y7W;N(>[8G.S595+.!Z'=@/&[5'5T6Z/"KAPC.LFLW_C M-H51\,]8%?#/M53U!Z%<@^>7G\$O++V$/J>@0_!'JL[:U:M%,YNT6GOZ6DF) MX>:3"O!S1\G$H[?*RE*L@Y-_EQ/:1V_>,U^5GSZ@%3>?TDPD&>9D[Q4C-/<5 MO]EA!L6E.H&[_(OY;%[RIK06=FV0VFEA,/ACGMX'\@;BW],%1;OPF[G?_&0^ MX_V5"ZU9Q.:[]:W-!5A=KA?*]HI!V0?I7^Z[8*R.CBZ9WB^22 ];LQ;6TFWN M+-::Z4'][)I]!=$[&(3*1V5C;.V< HU=E9*A_2>ZS17XA/^O3F\I7V'6T([D7;S.K^TC\>\;-V@\"2L\2 MX;E0P4D$1KK*1+@2&W?GW%9I$R\DIA?* 'TJ6!*_$KM7/:E5VK9]W\_[>8@U M%)/R_E9B)V>>YU)M[@*H!4\RQPE:4"WT'X\VYZ_./6R3:V7A!6]^K62\J.VN ME9,G5$[F3Q2J%NU/;<_O/*[:68OH>=CS<]G$6M0NY;;5(O-Y[/FGV=S%LNUW;5R\DSV_'R(0M6B_8GM^9_, M/7K@9M4B>@4VL1:U2[EMM1:XEJ$3T/6WTWA>U?,'V/TVR73O4M3W\6!KO:JD^,VQ6 M"9MF"3;+'>_+V*QS1#5/LB$B1&4N"OSG80%0.R-:_H)M<-&U9^H4"YX\,M>) M1%#S@N<@KT7F'XM'7C7WJB(O[HIQG(.VG($20EE=QJ[E9%;I]S%6)S MO16BIO*4ZJTV6_U%1(%9&VQ8=](?)/$U^5G3%R#3ID^_%F^+1H0K)^F>FPA7 M5^@M4IO3!:7,2:M2LBX?:6V6@W<^?61VSLUE:TI<$@;Z))0X-<-NK"OOM\M% M(QE<]8GC7=LCR/QDN/OM1('N9^=)9YQ?,MP^^'IP*OT?=6(]5DF9^GBWE%D^>R OFUO7NKC*/KG=WE3GS M52^1\O \45%&RQ+)$/Y;ROV]:RHOF#O7.[SJ'+K>X57GTI<]*6&Z"XLG,F57 M1X?_@KEQO9.KPG7KG5P5[DI8*OJ7!87\F;*9%3-XP3RVWL_5XK3U?BX1OVVU MW#\_YRGH[VFZ[_^9JY1 Y#1B%WQ.9+ 5_)JW%W1/B_*ZRCGHK:V:R=/RWE9K M-MY;NO3G"T_J#7V"1/C2'CU*(KPY?\Q/[[-=W[%> :QN&#S\E<)*)P)O<&NU M1=I[,7L[\SNGKIM3^&T7<#%XQ"+Q_UGH;Q1!=MGJ@A:=/&=&Z)U)(YI?<>;2 MR,B:Z&NB7T@]HNPWJ=6^Y?>AJ'I#G^S\/6W#YKJ>;MH6/');Y;H:]0&GX)'; MG-6UW$O B.HZM(5C3/66+!RCJK=DX1A77?\U=T95;\'<&5.]!8_+B&R+FZ-O M%V,=;E0:;[>:[W?A-W/_ _K<_(1_?3D%U#R\B L"83 ?7_83T]KB66T+2&'/ MA?HUIS@)RZ5C!>Q.?E'7,CB)@,UV53N4^VDJL_3S\%3\$2<'H4A3'>A(?DCT MZ%](ZG\V>L-B\ZY[S+2(2\PVY864@Q.UP7K+%W?+G[Z3?;W["[;["Q:4N@]] M?(VQW^5 9G*_FT@74'JE:&+R-%>7\==;^Q(8_.3I+QOL^'/M_DQ&1=V5X?&) MPR[F0W(I$C-ZP@2D=?'C,^R-,L[LN$PJ>PRFE/#59Q^^^8 MY^JRZ'IS7P;COF/^+R(N^)#]GSJB.C#X1&2XLI'!9R/#.C182[UGDWKS)XJR M2\Z8M[^=1(,\2^F'IN9%SB-.N9@$%^,X MD7_F,O*'Y?N=*](+Z><)]AQ?<&J::8D*0KICK1[.MRH&,VFQ*T9RQZHOA[K^ M".3:JLEU9G)MU>0Z;W+=JLEU9G+=JLGU<9PAM3)0*P,+[=YY+'*ME8%:&5@B M&[(#F?ZY#IQZB+C2 ZY4O XCX)TG#AK[6$J2977U*G K%S<1Z7F M6G%9'+/PR8_6"]1TEO%HO3@E:P6.U@O4RI;Q:+TXA?#IO4.U0E@?K1>I$#Z] M:Z!6".NC]2(5PA4X6K5"N!1'Z\4IA$_E(521B'PEPA-X8)+CR#2\YB_QM4PB M^J(+*Z%D>BC;V25.5F5J"0HBJN95;.6L$UP._7[:=A[$R2!.1"97:@_OG-5J M;-RW2X)W3?>CX#P.87J^""_S=J"N%2[6LN_@;--;C:W$!G$RP1_.!3S[:YR= M1'Z8!S+X764];.D)JX#_'/V9JVL1RF7 [YEV0!\ZY>7:\NJ9T*Y_%M&/*UBZ M0SF(4[7H.SIY(L6F5L]H.39LLU9[YJKV/)6!6*L]J[5QM=JS,EM9JSWS5WN> M:,MKM6>AB"X'P,+BY$OL M"]O=Y=OER$6V+_E53VYO-O]=_G6QR67J=&?JO/+ UQ6=QPE7Z8[E>TS:G$_) MHR7D4_BA-T;)>9;LGCZ,B#<+(MZLB?@E$O'F[$2\^5-$/$I[S1U+>[;#9$U[ M+XGV# 7,0'NC_32? $A@.NT=QXE4W:A8F)=%BE;O'UV&U:/,.4)1U39DOA3(72YKC?!'3D6CK2QQU,YGT3R(?9W.-Z+L1#*.UV/3ESD'O MZY29K* \K-C;_1N1!)9Q'%V>GR_V/I;&JS>R&/4*[EF%#E/OV>)*=U4?KKF% MXV?C<9=9[/\X&Q"6VX5,LT3YF0SHV_TH.,MZ,EF^79IY4B^10]8[OCK\=9+U M5._XT^_X_*R2Z3M>"]=%V[,J27R"?18E):K@;$K>C8,XS("7K X%S#"_6@341% +@IH(:G&0KO\B M(YF($-9H/^BK2*59(C"(OCID,-,,:Y%0$T(M%FI">&FB823ZTA^$\5!*)T1E M,A27JS'F2)#&?#UQ?A,W>^H;Z\:7#R0CL02-+>=+1F*U&U=.SXBKN='2<*.Y M:3>/1$8U-UH(;K102G+-C9:4&RUT@E/-C9:%&RVEI;;RY/(2%=YZ4U=0;Z@W M=9G8[V5/)/*S2&5P$/?134A^1?HVW<^S7IRHOV3P+0IDXJP0EB*FGX='MXCY MEL)Z^\4OM!5RLS9DMKC("R+!2$=[*N2U?='>1,]^FDL\21W:?@7Q6-^,- M14/SP^PTL]*T\5,BP:SB(XF$Z0&\>G^6(G"GZAU\K!.V\[A*U]2\AWI_EB+? M0=4[^%AFS>-UW?H)O;3>GT74$NL=7##'P1V;1+=GXMY;9,F,7" M;\QLK*_>HZ5B?Q.,Y'H7%]]0KO=H%8SE>A<7WV"N]V@5C.9Z%Q??<)XPNQ6) M"-YW[Z:^KXX)/HB$EC@J^"PDM+IQP9^2]S476C NM, Hǜ@XNM,"5K#47 M6@HNM,CH%S476@HNM&"EUP;-\>C/'(:/*<=Q!!]3(IA]W\_[>0B7!%>)B-*0 M 1^#/_(TPYL6FY+NG%M!6;--\F6HQC4YS)L<%DI'J44*C6)/!^)+*B@^47& MW40,>LH7(9''X=&B;3@:CA/'N[;GQWF4)1E; M=Q!':1RJ@#3<$U@5YLAG\&B!S=XN>9;&KV17[G.>JDBFJ?F=[OH6*<.D)2_!PY].8E*A:0UVV/7$E5Y J*S3*FBIKJEP\);:FRIHJ M%T]O?E2J/,J3>"!K>OP9>JQ8PUIJUY2XXI2XNI*ZIL2EHL05EL[_$@,1U83X M,X0XOH2U;*[I<*7I<'4EGM7FCE/41(. MXF00PWWR6R3"$/O7RV _"FK=X:=UAYE7MI8Y-=765+L*HK2FVI=*M?/#U:ES ME1:;-)\E_OYT2(1USE%-74\"B*/JW*&:NLK4]8C 9D\G&>MX]\+'NY=,&M84 MM4P4M0P2L*:H):*HI9!ZM8]BP6/)2R;S:GI:'GI:!HE7T]/2T-,#Y=VG-^IV M-Y%IG">^3(&\\'-/BH &%*CK/>]OGO<)_X!_/>]__NM6;'ZD[\J_?AIX:38, M8>,[\.CUCNBK<+CK_<^?>9Q]O(*U2[VO\L:[B/LBXB\;'GW=\%(86N>C1_>E MZB^YZS4W!]E'KR^2KHIV/?J HUT7H>K"%Z'L9!_7]G@LG]X,8!1S>/TGX?42 MV?GGVG]EL;_VR*]?V[L2[5!Z<<<[P*T"HOKT1NS=-=E_C+SG'R.O*-Y \]/3 M@S^]]QLM^,*9XJ,L<'E.'T:65+^TM+ ^3%,FN+3MO6]?3ZZ.#KW+J_VKH\M/ M;]IW3OWIAG%Y=/#MXN3JY.C2V_]ZZ!W]GX-?][_^GEQ>GIQ]K1J; M?<$=CQ\GN(>1#@WS=Y'V@,%E<=3P#C<.-KS6YMOMG848VO>1_YNXE_R^K=(& M31WDP\9D"/L1EN?#3R[/\=G%J?<)F&X41U_S/GSO>Y% 1I(M7L8^SD* X0I M7/,TT[Y IC,AC65MK[FY_F_BXL4#]^X]4V( CT<&)4:2$6/3H[A10=;#QV_^ M78] 1:@.X.&\'1\!K($,PW0@?*#V?ZYM\N>!" +SN1TG(+OPS[U/63L.0'!F M(,JRP+SQ6B890B_HJ6;QX",/XL/?XR$&<9&L> :QF M8+G D, XV&W'<=C&% ,XL;NW_2_>Q='Y MV<65=_[MXO+;_MO@M?>V;%W]>N1YZ@C5A79 M/[C"GYL[6]N6S]S ^;RA%XDD06\%T07Y.9M@1 M)Z>4#L)N@,8DC*T7B"$^4D8SGH1#Z;.)NM5L>/C#1/'ODL4;+1W?D#R>H!JT M6L^C),:)HZ(LN8+P(^K3ZPS\B,BP832!_S0.':72\']IN$*I(?/<>6GM?_,K7@ M@'$L7A8O\P066D3/X#-Y^D$RY?. MR)PWX:NMM]M;;V?QI$ST7CVNWZK:&_M_%G+?AKYVMG7>M#S,9NHM.>:^(ECQ0 MRV+0RQ+OCSQ1::!\4LWBSI)L^JN3C8N-RPWOJ#\(XR%&N9=L&Y1[O&DWDJZ( MU%_T^9ZN^;E-HGRJO*_QQNNEVXB'F%.+,]CE6./I+'H_"!*9IOJ?+V N-6=D MSV_?;F]ZYT!^$IC902+E#^\P4==RB27:JN_R ?QYEES%-S.K*6( ZN-Y*%0T MNJV-:<:8?B=)O;,$U/IK8+VU O60?3N/89'"_U<-6 6=\7ANO=U9#<5)KP*: M8(,$B$@-1.C)6^GG&? ;^!H$H4R717:_@GWT<"/'1?:R.8*>;2RO)IX39&G[ MB13W.!GOWVV-GHO7>K*3WO(E!A(Z[X&LNY\%\WYG?>O=A\W[Y>D\RZ*^*IP9 M&*'8;.Y\3.&-H1S@++V(IMGPX+2%.=K[GH!%AED;LET0_\:\!G$)S"=1F8(K M$UI(F.69X5?B%R"[E> MH>W#VGH[PKT?9>W<5;/9H5YX1-.7A MC@J;)QQN(NB\7@[[[3A\-9M8G-?:?M6>55I:>>OWL'^R!Q;M34_!-\71NI_2 M,J_I3)0?FET,FZTVD=.,\@/#(+ 8EUGL_VAXYR+Q?A-A+KW_WMS8W&QZYV!X M4>_JA\26YT6?$]=($R[3[8P+='[QY?//3WZ!".1(GP$\&..F$IZ0>UE)..S_ MQ,D/)B'///V.)9NJB,ZC%&%1A;L':%;^7?\W>[8^ M_C_.B'_&P.>$MSYRYL1)%*!757KMH>?W)!R:/J9M*]Y=)P*H4D]X-Z#3K/^( MXIL([AII8'$(#NMG015=3? *_ MPSO_C:^\U&\\H1?.R!'^(]/1TV_3%%KOFJU2TL+7N&0'%JE,<]VBI:.3*,Z MD?R9*V0CP#TZF-*04(Y9>H?-L(71B?)7F%\URFX,V<#.NCLYDGYR-TW]%H=Y ME(F$,BB2=%;I$M]-2C6=3*23FYZD(. (L;QJZNWM ?= ,@D\$8:65EPB:DM] M 3RX@F[&2<5A-D8/0/)!7H3Y>%X OX+=@)<.$NE+LB*:+8]RE5/O%3P4]!$O MS4$Q3WLQICJ8C+*L)[+1J=R(=)SHZ68]F]? (J/ >]5RIMP&U08N:O\!$\*; MZ'JX$X>B'T:%MS02&JE(,V]GTPO$,)V1?Q[D20+/X!Q/5#@SD>6SDOP]V6?Y M0-;GX;[G 6D"R*&OL@RH2(9 %DD"$L9&3 M8I_!:^#RW#'!#*_'_MFHWEVN7WFO\,?W'[W65FO#BFY%V3X#S/9YZG/#0[_?/[W6MG_I?.B>(#K. Y= M$ZZ_252WQU^M83E\^6E?OYU6/^[^VOW(O, H^INIQ_];48W_J9>8]PU$5ZZW M$RE^K(M.AFF2(KP!?OA1N]AV00'!+-C2N'J2I]/"S"\_#F.X[+\VZ?_@/N'_ MZ"9Q'@7KY9_6O#?C<__U\,+.?7PKG;?23.913E^LF_UW?KGCR\)[R< )8832 M$[X/O!<1@@/B06C=1)7?(JFM5_R0]H%EPSL2(W6!YOH#$0T;J*S PT"NXUIT M/:"[FZQG?MX M472R,B6HCQV"@1RT,+_.&F _'OPT5XXPR63!VDO18W%7#YA MR/9:;?6!+&BOMXS)YZI>&Y/IH;F]\;XNUN[M;F]OC'KGYEXO5.2:)P= 3MTX M&5:XZN@B(C1?7S2SU^Y+-4W/8&S-'OU^.[=UW1^=5X7"\(#TA#E2RH,RV6;> M@(4JWIOC*G^MDBP3:6>QS\#E)$DSD[>&[C985,]6I?@@.C'4=L\M<6];%OI\ M6B[PZ,,]FJB]3"= <^\O=.L!W_G,A#A3KM1SJU%ST^P[=^C0F,4SH[,:_2WD M90'^BE[K+/;RE/5O&#QC'U04E((*C^\*A_CR&P6OAM=Z$8PY1AYWK5+BUY&( M?"5"U&RPH@8O1O"Z0"1!ZF$&J HFQ=FV7HG7E2KTHOL(C_:^]0Y3KU[CS/'J4CRW'0)O(7 MW[N1]L!0-6S2>S4I8ELRX(' 7H^%W*8I;/B>9Q&3D\,/=3B.C$_B/O_*(^EM M;3**#H_K%>YMB-&DME:L,:9D-KTJ6;8?I\@+4#$+ARS_),I-V-(X0G&7(FC0 MGSD7!3?H.:+;!0Z$1(JT*3/OFO*YX"W7L9:'F*<#Y$)Q/7*F=3#^A3U$Q@=# MP0(Q -%YJX"D)(SCOS4I'I/K'[CE*"V>$]L[#F.1K7DX1/AU9PU8K&*2^W9Y MN ;'P(<'AND_UYIEEA7E_2#.],]E6M7PZ9OOUK=41Z;_N!CU'63R',"FTYC6,X&K'IX=?#L]^GIUZ9U\/3B[.#^[V$?4 MW,__\2Z.CH\NCKX>',T?!/;Y]-[)4*:E<[5#Q^H!0^9(4=[M#KI049H=_!F#DSFT:KC0-: M(9EN%%'6O;^9@.4=\;;*!,@Z_%L9_FW5D=_EC_S>"V@OA&EC>BC4W4FB>P]=K/E[#B(/B4&<1DAR+5HY&,Q\8%>77 M>3K@R1\\]&/K/[V9\.,VWH_XP^]S]X?-C0\_UYQ5[OA>QV+KJR$E_- M+#IYC"?L + YO.N?:UMK4Q>$]GX^"V)YYP!TAJ8=*CH0UN'%J&GORMN>:BOJ M67&_]=N_N/).2BLH[KF*,]+QLT<[L4V,U]P8F\R]CL_SPS?:W58P_N;WMHWU MW;WM)B98N7^+?N2%T2M S&B-JGH1]MZN&GWN+SF!BN^)2G]T@!CC9"J17L"E MWC%?NXJ$6EZ,O>:'5:/6STM.K>WO>82ML,)K&8 IW>F@[PF5UVF4^\W>YEWB M?61*EUHVK1 93UZE/>P^ME(DW5INBFY]'V"WU01]/=-H^-Q>N8)$6UJ(U2/3 MK>4FTZWOH>R*$+;(EU0E,Y58O^#UWGEQPPK2;,6J[&VU5HQRMY>;_]]'T M$!V9#0,UE6Q/X6+ODJ[V#E7JAW&:)RO)<$<7YBDI=ZX^L/&[5\ZIU'H*I](* M>Y7>+C=/>_N=4U Z<0*\B>*A*0?AL?@T&TYE!P8T?__"E+QI#79VUHU'^W[Y2;>]]_[ M@9A*JZ>)(*/>CT0X3!7GJ-D<[8,X"K@6 *\!4L_#C"XY&TC6 M#%:1>>O5W-MZMVI4ON21B/?B^Y]8.Z(PY?Y: DW"1U! Z-,,EMO_.C<31<,7 MH?GLF'+>?CO.,T_K0!C16$4JG[:8>]NK%MOXL-SD_^&[%<,V1S"%?4OSP33* M+UCZI;V33L!E/AB$]!F3DA%)9@5)_:Z%V]O>63$JWUEN*M_YSIFL*6Y9 (Q( M=!,I9XK@'?"-6-Z#M'WHWLOIL_M<#H;F&%:][1?587A#<4H*8;""Q^&N%=[[ ML&IAE9TE5WIVQ'==08DLBP() 2HI4P^#OHDH^]S>MHKT/&F%5I"8ESP[8Z?] MG=KCJ:@33R/@,RKL/(FX7 ELS54D77<]GI)!PG$A[O_&N%XUO-S>66),W-[X%*)*5A8K,P;A,V/3_UT-S4\(YLC[$S M?3/I2@>FIL_[!2$KT"1812M@X@+N?5BU_)3FLI<(-+_;?GB(1""CE/C6-%HO M"/S N6L5:7G2 JT@+2]Y-FNS]3W5W7#BFPCX34]-]5Z:]CG>F;F#BA)AID)% MWF<926!=Z+;AWXF+%\&N5:3WJD5<05I?\I38YM9W'X-M]^UWN+T8B*P+/?FVZW\?TC04D;NO ,Z[?W M87KVK($0ID\%CC!^F&-W$'S]HR(5C3WPJ<&*\/^VS!);+)OYXA:-+<(]H(L, MZ@)R$,(RB"P.02QAP^PR"=V%QH@L(N\2N>%\7?% <#W'Q M$%L<[@9S%$4/HBS[W)[,0]P$QLXS;78ZO%WKH=ZN@L_;3CL:QP[1ZOI21!J- M[PH^@JEPC8YZ!PSO"_S390SK"XFAXZ(+XL[;#3"/O33N2\_':I2&-XQS^#/R M%"ZMZ@R]R<,Q&-.=. SC&X)"!VZ6[MJ9],5PO.D00OB-?PNZ?1A47%S]==JK M_E[>8J1T_'M$WHXJKA^$(JKHG 031Y,CD^._M66HY'7%#S+-")*VXB6)Q,!N MU0_Q'Y7#'<3($.$D5ZT3)F?E%:^)HVX,>V"_UPTC(X3?18WGDLZ/'@CCR$#6VB(9B!*H""D68_CA'M'U.P>>^ MA[@#B:)NB8'J$/8D-AP4.+0X15!_V(TTU4#G_0%L)AUM;E9HATJG DT5Y>>A MP'9>>$(T/B0-%C'?8U^1[XGRZ' L%DD93-8P#^3N=-Z*?VQM;#TC+*3WM(AP MDS2ELJ-E;QC@IS>NS!COBXWY,1&G72L^_[.&KY MEK.-"_OFQP.)VP?6"KKY\2Q8KN#U0G M__3#1E;ESL29!]'R$JQP%2MZ"/,9-X2*\S!J@CY\"Y]NM(1^#ZUR-15/=::/FK^ M8T8[PE) *1U@$PWD+D7)ALN(:FI:@!.\F+14^ZM5Y/7 ASIQ22NFOW4[.=>[,?X,/'O%!O2(4NZ5:FM.HW@7A^T MGK@OD[2FK 4XS8M)5S7GJ3G/O3@/MJ["GE)![F=>@.X?1,]-35\L8CXR@@%( MYUO>)?@J8-V(@TS: 5O$_/[,E?_#R_(D$A27]S(830/>IGR&5L$J/M7!]E9T M)P+)_4EH*[5MMPAL8S$)N&9Q-8N;[LD603P@[S45Z<4=3ZX3>GVB6<_6H7>P M?^BE<2>[P52#]K"""Y:Y7TUS"W#.%Y/B:IY4\Z1[J5T$0(*>)2^$]TCO.@YS MSJ<(9 JO8=9C,X[P*U*4HLR+!YAGA>U[5>$3-ZZJF@87X-PO)@76/*KF4?Y%Z=)R[( M1$@"8$T)*$H2,3C(*5JPL,H;QS"T'"ITD9%<8*0%J]N?/S2* >*T8!(&FL&" M-3"622!3/U%M@YL"7Q3-%6/&>["W,DC*8" %;KEW+I+,.VEX#'VVOV$!+K#K MG'?,-Q4H%YVIL"P,-%%"EJ 1PL?0 78IX"82>@A_TP'*C+JZ5Q).Q %6P=^/ M;KE>C]H *Y[@J\NC@]<;'G?K,! 7,?ZIH4 (?L&N7)BB.S0/ Z\GK@L("T\$ MP! 1LX*J=:@[$YZ*3IZALT+C7FQXOR-T2X0GHIL+;*LKY<@U#:YT)N<'1@JN MJ5$Q' J2[13GA#/H]Q#81,-?(,XDI;6&0X:$8<05.GB#4/BH3P0YOB%4_ 0# M_C$9)62#@-M"?**\]26<(8'YLW_F"M6*-GI^;QK>C07I( R/U ^%ZL-2#^E4 M8T8(6$GMT"#: ,M@3S%=<@=$"159=I I>&G>3N&U^##JL$%Q%5\E?MZ'&V V MZ<9=P!WOQS&1GO[@C7""1P9,>W:\M&W-=@MPK_F"I?TD5MKIC*F)OJDMV>-L$$9,?0AX&>/C9/9MJMW]UC> M:YVC^>XYQJ07DK GOYMD.[NBHU^7EA:E-D^IN>%]UM?,-+NYT*C[O%%>5;R< MWDT?KP6(9F#O$4K.\*.>0ME6>,IWP.:P7C1M<=V7_F/DK?]8U*F=72.4M;Q9 ME"G=16&3B-.\T],O]0I[Z79$16B]KZ1ZQ/N.05WY(MI P">1O^'=",(4,VUX M2&D]51%L?YP)_-#@ M[FN1Y_*D^#[UD&?X=J*[*$#5+1#DJW: 9)_12 M]GV1R1EGPX'6Z.-H/9!] MSB$@E4,U&*P/O/0/\V6KXBG5+V!_&-0=&+%"S)*$7,OO&ADU;+ M@._&M*(EX+&)'"9$!((T:LII1^YFQQU"^L4WL%G:ZH:92D\7C8#UL=Y-1"!1 MUT\SY3>\/IA+(3=6"!6H[(&7@F7DXTXD>;L-*T!+1(UF4YH6_HL_!V)(&^VS4(K ML)M4I-*>M-OJ;@MM0V* O%J!Q**1I]G,-V_<,W_X%Y\L%TA&DB6K%>AE+M MDJ A:%VW-$!M.]I[@)"!FWI;[S>!8L-P9$6+6\%.9LJ# T$1*$V>. <86B M39L:H>U%@76P]*P="#-'VI4CE"O-$?Q&FXQ#*X9#5B,M@("G#?\RDW^_L