0001558370-22-012746.txt : 20220809 0001558370-22-012746.hdr.sgml : 20220809 20220809072623 ACCESSION NUMBER: 0001558370-22-012746 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 58 CONFORMED PERIOD OF REPORT: 20220630 FILED AS OF DATE: 20220809 DATE AS OF CHANGE: 20220809 FILER: COMPANY DATA: COMPANY CONFORMED NAME: 908 Devices Inc. CENTRAL INDEX KEY: 0001555279 STANDARD INDUSTRIAL CLASSIFICATION: MEASURING & CONTROLLING DEVICES, NEC [3829] IRS NUMBER: 454524096 STATE OF INCORPORATION: DE FISCAL YEAR END: 1231 FILING VALUES: FORM TYPE: 10-Q SEC ACT: 1934 Act SEC FILE NUMBER: 001-39815 FILM NUMBER: 221146398 BUSINESS ADDRESS: STREET 1: 645 SUMMER STREET CITY: BOSTON STATE: MA ZIP: 02210 BUSINESS PHONE: 978-729-4478 MAIL ADDRESS: STREET 1: 645 SUMMER STREET CITY: BOSTON STATE: MA ZIP: 02210 10-Q 1 mass-20220630x10q.htm 10-Q
0.260.270.560.4931413431273356373131255927313125P1YP1YP1YP1Y310770040001555279--12-312022Q2false0000000.100.1031531115000001555279us-gaap:CommonStockMember2021-04-012021-06-300001555279us-gaap:CommonStockMember2021-01-012021-03-310001555279us-gaap:CommonStockMember2022-01-012022-03-310001555279us-gaap:CommonStockMembermass:SecondaryPublicOfferingMember2021-11-152021-11-150001555279us-gaap:CommonStockMemberus-gaap:OverAllotmentOptionMember2020-12-222020-12-220001555279us-gaap:CommonStockMember2022-04-012022-06-300001555279us-gaap:RetainedEarningsMember2022-06-300001555279us-gaap:AdditionalPaidInCapitalMember2022-06-300001555279us-gaap:RetainedEarningsMember2022-03-310001555279us-gaap:AdditionalPaidInCapitalMember2022-03-3100015552792022-03-310001555279us-gaap:RetainedEarningsMember2021-12-310001555279us-gaap:AdditionalPaidInCapitalMember2021-12-310001555279us-gaap:RetainedEarningsMember2021-06-300001555279us-gaap:AdditionalPaidInCapitalMember2021-06-300001555279us-gaap:RetainedEarningsMember2021-03-310001555279us-gaap:AdditionalPaidInCapitalMember2021-03-3100015552792021-03-310001555279us-gaap:RetainedEarningsMember2020-12-310001555279us-gaap:AdditionalPaidInCapitalMember2020-12-310001555279us-gaap:CommonStockMember2022-06-300001555279us-gaap:CommonStockMember2022-03-310001555279us-gaap:CommonStockMember2021-12-310001555279us-gaap:CommonStockMember2021-06-300001555279us-gaap:CommonStockMember2021-03-310001555279us-gaap:CommonStockMember2020-12-310001555279us-gaap:CommonStockMembermass:SecondaryPublicOfferingMember2021-11-1500015552792024-07-012022-06-3000015552792023-07-012022-06-3000015552792022-07-012022-06-3000015552792023-07-012021-06-3000015552792022-07-012021-06-3000015552792021-07-012021-06-300001555279mass:PharmaceuticalBiotechnologyMembermass:ProductAndServiceMember2022-04-012022-06-300001555279mass:HandheldMembermass:ProductAndServiceMember2022-04-012022-06-300001555279mass:GovernmentAuthorityMembermass:ProductAndServiceMember2022-04-012022-06-300001555279mass:DesktopMembermass:ProductAndServiceMember2022-04-012022-06-300001555279mass:AcademiaMembermass:ProductAndServiceMember2022-04-012022-06-300001555279us-gaap:ServiceMember2022-04-012022-06-300001555279us-gaap:ProductMember2022-04-012022-06-300001555279us-gaap:EMEAMember2022-04-012022-06-300001555279srt:NorthAmericaMember2022-04-012022-06-300001555279srt:AsiaPacificMember2022-04-012022-06-300001555279mass:PharmaceuticalBiotechnologyMembermass:ProductAndServiceMember2022-01-012022-06-300001555279mass:HandheldMembermass:ProductAndServiceMember2022-01-012022-06-300001555279mass:GovernmentAuthorityMembermass:ProductAndServiceMember2022-01-012022-06-300001555279mass:DesktopMembermass:ProductAndServiceMember2022-01-012022-06-300001555279mass:AcademiaMembermass:ProductAndServiceMember2022-01-012022-06-300001555279us-gaap:ServiceMember2022-01-012022-06-300001555279us-gaap:ProductMember2022-01-012022-06-300001555279us-gaap:EMEAMember2022-01-012022-06-300001555279srt:NorthAmericaMember2022-01-012022-06-300001555279srt:AsiaPacificMember2022-01-012022-06-300001555279mass:PharmaceuticalBiotechnologyMembermass:ProductAndServiceMember2021-04-012021-06-300001555279mass:HandheldMembermass:ProductAndServiceMember2021-04-012021-06-300001555279mass:GovernmentAuthorityMembermass:ProductAndServiceMember2021-04-012021-06-300001555279mass:DesktopMembermass:ProductAndServiceMember2021-04-012021-06-300001555279mass:AcademiaMembermass:ProductAndServiceMember2021-04-012021-06-300001555279us-gaap:ServiceMember2021-04-012021-06-300001555279us-gaap:ProductMember2021-04-012021-06-300001555279us-gaap:EMEAMember2021-04-012021-06-300001555279srt:NorthAmericaMember2021-04-012021-06-300001555279srt:AsiaPacificMember2021-04-012021-06-300001555279mass:PharmaceuticalBiotechnologyMembermass:ProductAndServiceMember2021-01-012021-06-300001555279mass:HandheldMembermass:ProductAndServiceMember2021-01-012021-06-300001555279mass:GovernmentAuthorityMembermass:ProductAndServiceMember2021-01-012021-06-300001555279mass:DesktopMembermass:ProductAndServiceMember2021-01-012021-06-300001555279mass:AcademiaMembermass:ProductAndServiceMember2021-01-012021-06-300001555279us-gaap:ServiceMember2021-01-012021-06-300001555279us-gaap:ProductMember2021-01-012021-06-300001555279us-gaap:EMEAMember2021-01-012021-06-300001555279srt:NorthAmericaMember2021-01-012021-06-300001555279srt:AsiaPacificMember2021-01-012021-06-3000015552792021-06-012021-06-300001555279us-gaap:CommonStockMemberus-gaap:IPOMember2020-12-222020-12-2200015552792022-07-172022-07-170001555279us-gaap:RetainedEarningsMember2022-04-012022-06-300001555279us-gaap:RetainedEarningsMember2022-01-012022-03-310001555279us-gaap:RetainedEarningsMember2021-04-012021-06-3000015552792021-01-012021-12-310001555279us-gaap:RetainedEarningsMember2021-01-012021-03-310001555279mass:Revolver2021Member2022-06-300001555279mass:Revolver2021Member2021-12-310001555279mass:Loan2019Member2021-03-112021-03-110001555279mass:RestrictedStockUnitsAndStockOptionsMember2022-06-300001555279mass:RestrictedStockUnitsAndStockOptionsMember2022-01-012022-06-300001555279mass:Revolver2021Member2021-03-112021-03-110001555279srt:MinimumMembermass:Revolver2021Member2021-03-110001555279srt:MinimumMembermass:Revolver2021Memberus-gaap:PrimeRateMember2021-03-112021-03-110001555279mass:ProductAndServiceMember2022-04-012022-06-300001555279mass:LicenseAndContractMember2022-04-012022-06-300001555279mass:ProductAndServiceMember2021-04-012021-06-300001555279mass:LicenseAndContractMember2021-04-012021-06-300001555279mass:LicenseAndContractMember2021-01-012021-06-300001555279mass:LicenseAndContractMember2022-01-012022-06-300001555279mass:ProductAndServiceMember2021-06-300001555279mass:ProductAndServiceMember2020-12-310001555279mass:ProductAndServiceMember2022-06-300001555279mass:LicenseAndContractMember2022-06-300001555279mass:ProductAndServiceMember2021-12-310001555279mass:LicenseAndContractMember2021-12-310001555279mass:CustomerOneMemberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:CustomerConcentrationRiskMember2022-04-012022-06-300001555279mass:CustomerOneMemberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:CustomerConcentrationRiskMember2022-01-012022-06-300001555279mass:CustomerOneMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2022-01-012022-06-300001555279mass:CustomerOneMemberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:CustomerConcentrationRiskMember2021-04-012021-06-300001555279mass:CustomerTwoMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2021-01-012021-12-310001555279mass:CustomerOneMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2021-01-012021-12-310001555279mass:CustomerOneMemberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:CustomerConcentrationRiskMember2021-01-012021-06-300001555279mass:WarrantsToPurchaseCommonStockMember2022-06-300001555279mass:WarrantsToPurchaseCommonStockMember2021-12-3100015552792020-12-310001555279us-gaap:MoneyMarketFundsMemberus-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2022-06-300001555279us-gaap:MoneyMarketFundsMemberus-gaap:FairValueMeasurementsRecurringMember2022-06-300001555279us-gaap:MoneyMarketFundsMemberus-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2021-12-310001555279us-gaap:MoneyMarketFundsMemberus-gaap:FairValueMeasurementsRecurringMember2021-12-3100015552792021-06-300001555279srt:MaximumMembermass:TraceAnalyticsGmbhMemberus-gaap:SubsequentEventMember2022-08-030001555279mass:TraceAnalyticsGmbhMember2022-04-012022-06-300001555279mass:TraceAnalyticsGmbhMember2022-01-012022-06-300001555279mass:TraceAnalyticsGmbhMemberus-gaap:SubsequentEventMember2022-08-0300015552792022-07-170001555279us-gaap:RestrictedStockUnitsRSUMember2022-01-012022-06-300001555279mass:WarrantsToPurchaseCommonStockMember2022-01-012022-06-300001555279mass:OptionsToPurchaseCommonStockMember2022-01-012022-06-300001555279mass:WarrantsToPurchaseCommonStockMember2021-01-012021-06-300001555279mass:OptionsToPurchaseCommonStockMember2021-01-012021-06-300001555279us-gaap:SellingGeneralAndAdministrativeExpensesMember2022-04-012022-06-300001555279us-gaap:ResearchAndDevelopmentExpenseMember2022-04-012022-06-300001555279us-gaap:CostOfSalesMember2022-04-012022-06-300001555279us-gaap:SellingGeneralAndAdministrativeExpensesMember2022-01-012022-06-300001555279us-gaap:ResearchAndDevelopmentExpenseMember2022-01-012022-06-300001555279us-gaap:CostOfSalesMember2022-01-012022-06-300001555279us-gaap:SellingGeneralAndAdministrativeExpensesMember2021-04-012021-06-300001555279us-gaap:ResearchAndDevelopmentExpenseMember2021-04-012021-06-300001555279us-gaap:CostOfSalesMember2021-04-012021-06-300001555279us-gaap:SellingGeneralAndAdministrativeExpensesMember2021-01-012021-06-300001555279us-gaap:ResearchAndDevelopmentExpenseMember2021-01-012021-06-300001555279us-gaap:CostOfSalesMember2021-01-012021-06-300001555279us-gaap:AdditionalPaidInCapitalMember2022-04-012022-06-3000015552792022-04-012022-06-300001555279us-gaap:AdditionalPaidInCapitalMember2022-01-012022-03-3100015552792022-01-012022-03-310001555279us-gaap:AdditionalPaidInCapitalMember2021-04-012021-06-3000015552792021-04-012021-06-300001555279us-gaap:AdditionalPaidInCapitalMember2021-01-012021-03-3100015552792021-01-012021-03-310001555279us-gaap:EMEAMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2022-06-300001555279us-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMemberus-gaap:FinancingReceivablesEqualToGreaterThan90DaysPastDueMember2022-06-3000015552792021-12-310001555279mass:ProductAndServiceMember2022-01-012022-06-300001555279mass:ProductAndServiceMember2021-01-012021-06-3000015552792021-11-152021-11-150001555279mass:ProductAndServiceMembersrt:MinimumMember2022-01-012022-06-300001555279mass:ProductAndServiceMembersrt:MaximumMember2022-01-012022-06-300001555279mass:WarrantsExpiringIn2028Membermass:WarrantsToPurchaseCommonStockMember2022-01-012022-06-300001555279mass:WarrantsExpiringIn2027Membermass:WarrantsToPurchaseCommonStockMember2022-01-012022-06-300001555279mass:WarrantsExpiringIn2028Membermass:WarrantsToPurchaseCommonStockMember2021-01-012021-12-310001555279mass:WarrantsExpiringIn2027Membermass:WarrantsToPurchaseCommonStockMember2021-01-012021-12-3100015552792022-06-300001555279us-gaap:RevenueFromContractWithCustomerMemberus-gaap:CustomerConcentrationRiskMember2022-04-012022-06-300001555279us-gaap:RevenueFromContractWithCustomerMemberus-gaap:CustomerConcentrationRiskMember2021-04-012021-06-300001555279us-gaap:RevenueFromContractWithCustomerMemberus-gaap:CustomerConcentrationRiskMember2021-01-012021-06-3000015552792021-01-012021-06-3000015552792021-10-012021-10-010001555279mass:TraceAnalyticsGmbhMemberus-gaap:SubsequentEventMember2022-08-032022-08-030001555279us-gaap:RevenueFromContractWithCustomerMemberus-gaap:CustomerConcentrationRiskMember2022-01-012022-06-300001555279us-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2022-01-012022-06-300001555279us-gaap:RevenueFromContractWithCustomerMemberus-gaap:CustomerConcentrationRiskMember2021-01-012021-12-310001555279us-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2021-01-012021-12-310001555279mass:Revolver2021Member2021-03-1100015552792022-08-0400015552792022-01-012022-06-30xbrli:sharesxbrli:pureiso4217:USDmass:customermass:itemmass:Voteutr:sqftiso4217:USDxbrli:shares

UNITED STATES

SECURITIES AND EXCHANGE COMMISSION

WASHINGTON, D.C. 20549

FORM 10-Q

(Mark One)

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

For the quarterly period ended June 30, 2022

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-39815

908 DEVICES INC.

(Exact name of registrant as specified in its charter)

Delaware

45-4524096

(State or other jurisdiction of

incorporation or organization)

(I.R.S. Employer
Identification No.)

645 Summer Street, Boston, MA

02210

(Address of principal executive offices)

(Zip Code)

Registrant’s telephone number, including area code: (857) 254-1500

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

MASS

The Nasdaq Global Market

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, a 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 is a shell company (as defined in Rule 12b-2 of the Exchange Act).   Yes      No  

As of August 4, 2022, the registrant had 31,590,177 shares of common stock, $0.001 par value per share, issued and outstanding.

908 DEVICES INC.

Table of Contents

    

Page

PART I.

FINANCIAL INFORMATION

4

Item 1.

Condensed Consolidated Financial Statements (Unaudited)

4

Condensed Consolidated Balance Sheets

4

Condensed Consolidated Statements of Operations and Comprehensive Loss

5

Condensed Consolidated Statements of Stockholders’ Equity

6

Condensed Consolidated Statements of Cash Flows

7

Notes to Unaudited Condensed Consolidated Financial Statements

8

Item 2.

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

20

Item 3.

Quantitative and Qualitative Disclosures About Market Risk

35

Item 4.

Controls and Procedures

35

PART II.

OTHER INFORMATION

36

Item 1.

Legal Proceedings

36

Item 1A.

Risk Factors

36

Item 2.

Unregistered Sales of Equity Securities and Use of Proceeds

36

Item 3.

Defaults Upon Senior Securities

36

Item 4.

Mine Safety Disclosures

36

Item 5.

Other Information

37

Item 6.

Exhibits

38

Signatures

39

2

Cautionary Note Regarding Forward-Looking Statements

This Quarterly Report on Form 10-Q contains forward-looking statements, which reflect our current views with respect to, among other things, our operations and financial performance. All statements other than statements of historical facts contained in this Quarterly Report on Form 10-Q, including statements regarding our future results of operations and financial position, business strategy and plans and our objectives for future operations, are forward-looking statements, and are made under the safe harbor provisions of Section 27A of the Securities Act of 1933, as amended, and Section 21E of the Securities Exchange Act of 1934, as amended. The words “believe,” “may,” “will,” “estimate,” “continue,” “anticipate,” “intend,” “expect,” “should,” “could,” “target,” “predict,” “seek” and similar expressions are intended to identify forward-looking statements. We have based these forward-looking statements largely on our current expectations and projections about future events and financial trends that we believe may affect our financial condition, results of operations, business strategy, short- and long-term business operations and objectives, and financial needs. These forward-looking statements are subject to a number of risks, uncertainties and assumptions, including those referenced in the section titled “Risk Factors” and elsewhere in this Quarterly Report on Form 10-Q. Moreover, we operate in a very competitive and rapidly changing environment and new risks emerge from time to time. It is not possible for our management to predict all risks, nor can we assess the impact of all factors on our business or the extent to which any factor, or combination of factors, may cause actual results to differ materially from those contained in any forward-looking statements we may make. In light of these risks, uncertainties and assumptions, the forward-looking events and circumstances discussed in this Quarterly Report on Form 10-Q may not occur and actual results could differ materially and adversely from those anticipated or implied in the forward-looking statements.

The forward-looking statements included in this Quarterly Report on Form 10-Q are made only as of the date of this report. You should not rely upon forward-looking statements as predictions of future events. Although we believe that the expectations reflected in the forward-looking statements are reasonable, we cannot guarantee that the future results, levels of activity, performance or events and circumstances reflected in the forward-looking statements will be achieved or occur. Moreover, neither we nor any other person assumes responsibility for the accuracy and completeness of the forward-looking statements. We undertake no obligation to update publicly any forward-looking statements for any reason after the date of this Quarterly Report on Form 10-Q to conform these statements to actual results or to changes in our expectations.

We own various trademark registrations and applications, and unregistered trademarks, including MX908, Rebel, ZipChip and 908 Devices and our corporate logo. All other trade names, trademarks and service marks of other companies appearing in this Quarterly Report on Form 10-Q are the property of their respective holders. Solely for convenience, the trademarks and trade names in this Quarterly Report on Form 10-Q may be referred to without the ®,™ or RTM symbols, but such references should not be construed as any indicator that their respective owners will not assert, to the fullest extent under applicable law, their rights thereto. We do not intend to use or display other companies’ trademarks and trade names to imply a relationship with, or endorsement or sponsorship of us by, any other companies.

 

3

PART I—FINANCIAL INFORMATION

Item 1. Condensed Consolidated Financial Statements (Unaudited)

908 DEVICES INC.

CONDENSED CONSOLIDATED BALANCE SHEETS

(Unaudited)

(In thousands, except share and per share amounts)

June 30, 

December 31, 

    

2022

    

2021

Assets

 

 

  

Current assets:

 

 

  

Cash and cash equivalents

$

212,994

$

224,073

Accounts receivable, net of allowance for doubtful accounts of $1,750

 

11,098

 

16,375

Inventory

 

11,178

 

7,918

Prepaid expenses and other current assets

 

3,408

 

4,527

Total current assets

 

238,678

 

252,893

Operating lease, right-of-use assets

 

4,583

 

5,182

Property and equipment, net

 

2,419

 

1,603

Other long-term assets

 

1,315

 

1,228

Total assets

$

246,995

$

260,906

Liabilities and Stockholders' Equity

 

 

  

Current liabilities:

 

 

  

Accounts payable

$

1,234

$

1,371

Accrued expenses

 

5,957

 

6,961

Deferred revenue

 

6,841

 

5,160

Operating lease liabilities

 

1,402

 

1,344

Total current liabilities

 

15,434

 

14,836

Long-term debt

 

15,000

 

15,000

Operating lease liabilities, net of current portion

 

3,797

 

4,508

Deferred revenue, net of current portion

 

11,649

 

11,958

Total liabilities

 

45,880

 

46,302

Commitments and contingencies (Note 9)

 

 

  

Stockholders' equity:

 

 

  

Preferred stock, $0.001 par value; 5,000,000 shares authorized, no shares issued or outstanding at June 30, 2022 and December 31, 2021, respectively

Common stock, $0.001 par value; 100,000,000 shares authorized; 31,531,115 shares and 31,077,004 shares issued and outstanding at June 30, 2022 and December 31, 2021, respectively

 

32

 

31

Additional paid-in capital

 

319,234

 

315,210

Accumulated deficit

 

(118,151)

 

(100,637)

Total stockholders' equity

 

201,115

 

214,604

Total liabilities and stockholders' equity

$

246,995

$

260,906

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

4

908 DEVICES INC.

CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE LOSS

(Unaudited)

(In thousands, except share and per share amounts)

Three Months Ended June 30, 

Six Months Ended June 30, 

    

2022

    

2021

    

2022

    

2021

Revenue:

Product and service revenue

$

10,608

$

7,915

$

18,637

$

13,272

License and contract revenue

 

498

 

362

 

775

 

548

Total revenue

 

11,106

 

8,277

 

19,412

 

13,820

Cost of revenue:

 

 

 

 

Product and service cost of revenue

 

4,361

 

3,846

 

8,402

 

6,406

License and contract cost of revenue

 

111

 

52

 

247

 

127

Total cost of revenue

 

4,472

 

3,898

 

8,649

 

6,533

Gross profit

 

6,634

 

4,379

 

10,763

 

7,287

Operating expenses:

 

 

 

 

Research and development

 

4,293

 

3,055

 

8,198

 

6,020

Selling, general and administrative

 

10,710

 

8,779

 

20,455

 

14,532

Total operating expenses

 

15,003

 

11,834

 

28,653

 

20,552

Loss from operations

 

(8,369)

 

(7,455)

 

(17,890)

 

(13,265)

Other income (expense):

 

 

 

 

Interest expense

 

(15)

 

(39)

 

(35)

 

(415)

Other income, net

 

285

 

70

 

411

 

161

Total other income (expense), net

 

270

 

31

 

376

 

(254)

Net loss and comprehensive loss

$

(8,099)

$

(7,424)

$

(17,514)

$

(13,519)

Net loss per share

Basic and diluted

$

(0.26)

$

(0.27)

$

(0.56)

$

(0.49)

Weighted average common shares outstanding

 

 

 

 

Basic and diluted

31,413,431

27,335,637

31,312,559

27,313,125

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

5

908 DEVICES INC.

CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS’ EQUITY

(Unaudited)

(in thousands, except share amounts)

Additional

Total

Common Stock

Paid-in

Accumulated

Stockholders'

    

Shares

    

Amount

    

Capital

    

Deficit

    

Equity

Balances at December 31, 2021

31,077,004

$

31

$

315,210

$

(100,637)

$

214,604

Issuance of common stock upon exercise of stock options

 

243,842

 

 

324

 

 

324

Stock-based compensation expense

 

 

 

1,289

 

 

1,289

Vesting of restricted stock units

12,936

Net loss

 

 

 

 

(9,415)

 

(9,415)

Balances at March 31, 2022

31,333,782

$

31

$

316,823

$

(110,052)

$

206,802

Issuance of common stock upon exercise of stock options

164,638

1

275

276

Stock-based compensation expense

1,894

1,894

Issuance of common stock upon ESPP purchase of stock options

16,052

242

242

Vesting of restricted stock units

16,643

Net loss

(8,099)

(8,099)

Balances at June 30, 2022

31,531,115

$

32

$

319,234

$

(118,151)

$

201,115

Additional

Total

Common Stock

Paid-in

Accumulated

Stockholders'

    

Shares

    

Amount

    

Capital

    

Deficit

    

Equity

Balances at December 31, 2020

27,273,095

$

27

$

217,482

$

(78,468)

$

139,041

Issuance of common stock upon exercise of stock options

 

24,776

 

 

27

 

 

27

Stock-based compensation expense

 

 

 

339

 

 

339

Net loss

 

 

 

 

(6,095)

 

(6,095)

Balances at March 31, 2021

27,297,871

$

27

$

217,848

$

(84,563)

$

133,312

Issuance of common stock upon exercise of stock options

250,234

1

297

298

Stock-based compensation expense

481

481

Net loss

(7,424)

(7,424)

Balances at June 30, 2021

27,548,105

$

28

$

218,626

$

(91,987)

$

126,667

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

6

908 DEVICES INC.

CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS

(Unaudited)

(In thousands)

Six Months Ended June 30, 

    

2022

    

2021

Cash flows from operating activities:

  

  

Net loss

$

(17,514)

$

(13,519)

Adjustments to reconcile net loss to net cash used in operating activities:

 

 

Depreciation and amortization expense

 

578

 

375

Stock-based compensation expense

 

3,183

 

820

Noncash interest expense and loss on extinguishment of debt

 

6

 

171

Provision for inventory obsolescence

 

39

 

48

Provision for doubtful accounts

1,725

Changes in operating assets and liabilities:

 

 

Accounts receivable, net

 

5,277

 

(224)

Inventory

 

(3,857)

 

(3,943)

Prepaid expenses and other current assets

 

1,119

 

(2,188)

Other long-term assets

 

18

 

(1,177)

Accounts payable and accrued expenses

 

(1,043)

 

482

Deferred revenue

 

1,372

 

519

Right-of-use operating lease assets

 

599

 

551

Operating lease liabilities

 

(653)

 

(578)

Net cash used in operating activities

 

(10,876)

 

(16,938)

Cash flows from investing activities:

 

 

Purchases of property and equipment

 

(689)

 

(625)

Net cash used in investing activities

 

(689)

 

(625)

Cash flows from financing activities:

 

 

Payments for withholding taxes on vested awards

(133)

Proceeds from issuance of common stock upon option exercise

842

325

Payments of public offering costs

(112)

(576)

Proceeds from borrowings on revolving line of credit

 

30,000

 

15,000

Repayment of notes payable

(30,000)

(15,000)

Payments of debt issuance costs

 

 

(39)

Net cash provided by (used in) financing activities

 

597

 

(290)

Net decrease in cash, cash equivalents and restricted cash

 

(10,968)

 

(17,853)

Cash, cash equivalents and restricted cash at beginning of period

 

224,133

 

159,227

Cash, cash equivalents and restricted cash at end of period

$

213,165

$

141,374

Supplemental disclosure of noncash investing and financing information:

 

 

Property and equipment included in Account payable

$

147

$

Transfers of inventory to property and equipment

$

558

$

510

Reconciliation of cash, cash equivalents and restricted cash:

Cash and cash equivalents

$

212,994

$

141,314

Restricted cash included in prepaid expenses and other current assets

60

 

60

Restricted cash included in other long-term assets

111

Total cash, cash equivalents and restricted cash shown in the statement of cash flows

$

213,165

$

141,374

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

7

908 DEVICES INC.

NOTES TO UNAUDITED CONDENSED CONSOLIDATED FINANCIAL STATEMENTS

(Unaudited)

1. Nature of the Business and Basis of Presentation

908 Devices Inc. (the “Company”) was incorporated in the State of Delaware on February 10, 2012. The Company is a commercial-stage technology company providing a suite of purpose-built handheld and desktop mass spectrometry devices for the point-of-need to interrogate unknown and invisible materials in a broad array of markets including life sciences research, bioprocessing, industrial biotech, forensics and adjacent markets.

The Company is subject to risks and uncertainties common to technology companies in the device industry and of similar size, including, but not limited to, development by competitors of new technological innovations, dependence on key personnel, protection of proprietary technology, compliance with government regulations, uncertainty of market acceptance of products, and the need to obtain additional financing to fund operations. Potential risks and uncertainties also include, without limitation, uncertainties regarding the duration and magnitude of the impact of the COVID-19 pandemic on the Company’s business and the economy generally. Products currently under development will require additional research and development efforts prior to commercialization and will require additional capital and adequate personnel and infrastructure. The Company’s research and development may not be successfully completed, adequate protection for the Company’s technology may not be obtained, the Company may not obtain necessary government regulatory approval, and approved products may not prove commercially viable. The Company operates in an environment of rapid change in technology and competition.

In March 2020, the World Health Organization declared the global novel coronavirus disease 2019 (“COVID-19”) outbreak a pandemic. The impact of this pandemic has been and will likely continue to be extensive in many aspects of society, which has resulted in and will likely continue to result in significant disruptions to the global economy, as well as businesses and capital markets around the world. The Company cannot at this time predict the specific extent, duration, or full impact that the COVID-19 pandemic will have on its future financial condition and operations. The impact of the COVID-19 coronavirus outbreak on the Company’s financial performance will depend on future developments, including the duration and spread of the pandemic and related governmental advisories and restrictions. These developments and the impact of COVID-19 on the financial markets and the overall economy are highly uncertain and cannot be predicted. If the financial markets and/or the overall economy are impacted for an extended period, the Company’s results may be materially adversely affected.

Future impacts to the Company’s business as a result of COVID-19 could include disruptions to the Company’s manufacturing operations and supply chain caused by facility closures, reductions in operating hours, staggered shifts and other social distancing efforts; labor shortages; decreased productivity and unavailability of materials or components; limitations on its employees’ and customers’ ability to travel, and delays in shipments to and from affected countries and within the United States.

While the Company maintains an inventory of finished products and raw materials used in its products, a prolonged pandemic could lead to shortages in the raw materials necessary to manufacture its products. An additional potential impact to the Company’s business is the negative impact to the Company’s customers’ and potential customer’s ability to make investments and timely payments for purchased products as a result of allocating resources to address COVID-19 issues.

On December 22, 2020, the Company completed its initial public offering (“IPO”), pursuant to which it issued and sold 7,475,000 shares of common stock, inclusive of 975,000 shares pursuant to the full exercise of the underwriters’ option to purchase additional shares. The Company received net proceeds of $136.6 million after deducting underwriting discounts and commissions and other offering costs. Upon the closing of the IPO, all of the shares of the Company’s outstanding redeemable convertible preferred stock then outstanding automatically converted into 14,691,929 shares of common stock.

On November 15, 2021, the Company completed an underwritten public offering, pursuant to which it issued and sold 3,150,000 shares of common stock at a public offering price of $32.00 per share, or the November 2021 Offering. The Company received net proceeds of $94.4 million after deducting underwriting discounts and commissions and other offering costs.

8

Basis of Presentation

The Company’s condensed consolidated financial statements have been prepared in conformity with accounting principles generally accepted in the United States of America (“GAAP”). Any reference in these notes to applicable guidance is meant to refer to the authoritative GAAP as found in the Accounting Standards Codification (“ASC”) and Accounting Standards Update (“ASU”) of the Financial Accounting Standards Board (“FASB”).

The condensed consolidated financial statements include the accounts of the Company and its wholly owned subsidiary, 908 Devices Securities Corporation. All intercompany balances and transactions have been eliminated.

The accompanying condensed consolidated financial statements have been prepared based on continuity of operations, realization of assets and the satisfaction of liabilities and commitments in the ordinary course of business. The Company has incurred recurring losses since inception, including net losses of $17.5 million for the six months ended June 30, 2022 and $22.2 million for the year ended December 31, 2021. As of June 30, 2022, the Company had an accumulated deficit of $118.2 million. The Company expects to continue to generate operating losses in the foreseeable future. The Company expects that its cash and cash equivalents and revenue from product and service will be sufficient to fund its operating expenses and capital expenditure requirements for at least 12 months from the issuance date of the condensed consolidated financial statements. The Company may seek additional funding through private or public equity financings, debt financings, collaborations, strategic alliances and marketing, distribution or licensing arrangements. The Company may not be able to obtain financing on acceptable terms, or at all, and the Company may not be able to enter into collaborations or other arrangements. The terms of any financing may adversely affect the holdings or the rights of the Company’s stockholders. If the Company is unable to obtain funding, the Company could be forced to delay, reduce or eliminate some or all of its research and development programs, product expansion or commercialization efforts, or the Company may be unable to continue operations.

2. Summary of Significant Accounting Policies

Unaudited Condensed Interim Financial Information

The condensed consolidated balance sheet at December 31, 2021 was derived from audited consolidated financial statements but does not include all disclosures required by GAAP. The accompanying unaudited condensed consolidated financial statements as of June 30, 2022 and for the three and six months ended June 30, 2022 and 2021 have been prepared by the Company pursuant to the rules and regulations of the Securities and Exchange Commission (“SEC”) for interim financial statements. Certain information and footnote disclosures normally included in the consolidated financial statements prepared in accordance with GAAP have been condensed or omitted pursuant to such rules and regulations. Therefore, these condensed consolidated financial statements should be read in conjunction with the Company’s audited consolidated financial statements and the notes thereto for the year ended December 31, 2021 included in the Company’s Annual Report on Form 10-K for the year ended December 31, 2021 on file with the SEC. In the opinion of management, all adjustments, consisting only of normal recurring adjustments necessary for a fair statement of the Company’s financial position as of June 30, 2022 and results of operations for the three and six months ended June 30, 2022 and 2021 and cash flows for the six months ended June 30, 2022 and 2021 have been made. The Company’s results of operations for the three and six months ended June 30, 2022 are not necessarily indicative of the results of operations that may be expected for the year ending December 31, 2022 or any other period.

9

Use of Estimates

The preparation of financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities, the disclosure of contingent assets and liabilities at the date of the financial statements, and the reported amounts of revenue and expenses during the reporting periods. Significant estimates and assumptions reflected in these condensed consolidated financial statements include, but are not limited to, revenue recognition and accounts receivable, the valuation of inventory and the valuation of stock-based awards. The Company bases its estimates on historical experience, known trends and other market-specific or other relevant factors that it believes to be reasonable under the circumstances. Due to the COVID-19 pandemic, there has been uncertainty and disruption in the global economy and financial markets. The Company is not aware of any specific event or circumstance that would require further updates to its estimates or judgments or a revision of the carrying value of its assets or liabilities as of the date of issuance of these condensed consolidated financial statements. These estimates may change, as new events occur and additional information is obtained. On an ongoing basis, management evaluates its estimates as there are changes in circumstances, facts and experience. Changes in estimates are recorded in the period in which they become known. Actual results may differ from those estimates or assumptions.

Concentrations of Credit Risk and of Significant Customers

Financial instruments that potentially expose the Company to concentrations of credit risk consist primarily of cash and cash equivalents and accounts receivable. The Company maintains its cash and cash equivalents with two financial institutions that management believes to be of high credit quality. The Company has not experienced any other-than-temporary losses with respect to its cash and cash equivalents and does not believe that it is subject to unusual credit risk beyond the normal credit risk associated with commercial banking relationships.

Significant customers are those that accounted for 10% or more of the Company’s total revenue or accounts receivable. For the three months ended June 30, 2022 and 2021, one customer represented 17% and 14% of total revenue, respectively. For the six months ended June 30, 2022 and 2021, one customer represented 19% and 16% of total revenue, respectively. As of June 30, 2022, one customer accounted for 13% of gross accounts receivable. As of December 31, 2021, two customers accounted for 63% and 11%, respectively, of gross accounts receivable.

The credit and economic conditions within countries in Europe, Middle East and Africa that the Company does business with have been weak in recent years. These conditions have continued to deteriorate as a result of COVID-19 and may continue to increase the average length of time that it takes to collect on the accounts receivables outstanding in these countries. As of June 30, 2022, the gross accounts receivable balance from these countries amounted to $3.2 million, of which $1.7 million is more than 90 days past due and for which the Company has provided for an allowance for doubtful accounts of $1.7 million.

Certain of the components included in the Company’s products are obtained from a sole source, a single source or a limited group of suppliers. Although the Company seeks to reduce dependence on those limited sources of suppliers and manufacturers, the partial or complete loss of certain of these sources, or the requirement to establish a new supplier for the components, could have a material adverse effect on the Company’s operating results, financial condition and cash flows and damage its customer relationships.

Accounts Receivable

The Company provides credit to customers in the ordinary course of business and believes its credit policies are prudent and reflect industry practices and business risk. Management reviews accounts receivable on a periodic basis and reserves for receivables in the Company’s allowance for doubtful accounts on a specific identification basis when they are determined to be uncollectible. After the Company has exhausted all collection efforts, the outstanding receivable is written off against the allowance. In June 2021, the Company deemed certain receivables from a customer in the Middle East uncollectible due to credit and economic conditions, including the impact of COVID-19, and recorded a provision for bad debts of $1.7 million.

Fair Value Measurements

Certain assets and liabilities are carried at fair value under GAAP. Fair value is defined 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. Valuation techniques used to measure fair value must maximize the use of observable inputs and minimize the use of unobservable inputs. Financial assets and liabilities carried at fair

10

value are to be classified and disclosed in one of the following three levels of the fair value hierarchy, of which the first two are considered observable and the last is considered unobservable:

Level 1 — Quoted prices in active markets for identical assets or liabilities.
Level 2 — Observable inputs (other than Level 1 quoted prices), such as quoted prices in active markets for similar assets or liabilities, quoted prices in markets that are not active for identical or similar assets or liabilities, or other inputs that are observable or can be corroborated by observable market data.
Level 3 — Unobservable inputs that are supported by little or no market activity and that are significant to determining the fair value of the assets or liabilities, including pricing models, discounted cash flow methodologies and similar techniques.

The Company’s cash equivalents are carried at fair value, determined according to the fair value hierarchy described above (see Note 3). The carrying values of the Company’s accounts receivable, unbilled receivables, accounts payable and accrued expenses approximate their fair values due to the short-term nature of these assets and liabilities. The carrying value of the Company’s long-term debt approximates its fair value (a level 2 measurement) at each balance sheet date due to its variable interest rate, which approximates a market interest rate.

Revenue Recognition

The Company recognizes revenue from sales to customers under ASC 606, Revenue from Contracts with Customers (“ASC 606”), by applying the following five steps: (1) identification of the contract, or contracts, with a customer, (2) identification of the performance obligations in the contract, (3) determination of the transaction price, (4) allocation of the transaction price to the performance obligations in the contract and (5) recognition of revenue when, or as, performance obligations are satisfied.

For a contract with multiple performance obligations, the Company allocates the contract’s transaction price to each performance obligation on a relative standalone selling price basis using the Company’s best estimate of the standalone selling price of each distinct product or service in the contract. The primary method used to estimate standalone selling price is the price observed in standalone sales to customers; however, when prices in standalone sales are not available the Company may use third party pricing for similar products or services or estimate the standalone selling price, which is set by management. Allocation of the transaction price is determined at the contract’s inception and is not updated to reflect changes between contract inception and when the performance obligations are satisfied.

Product and Service Revenue

The Company derives product and service revenue primarily from the sale of handheld and desktop products and related consumables and services. Revenue is recognized when control of the promised products, consumables or services is transferred to the Company’s customers, in an amount that reflects the consideration the Company expects to be entitled to in exchange for those products, consumables or services (the transaction price). A performance obligation is a promise in a contract to transfer a distinct product or service to a customer and is the unit of accounting under ASC 606. For devices and consumables sold by the Company, control transfers to the customer at a point in time. To indicate the transfer of control, the Company must have a present right to payment, legal title must have passed to the customer, the customer must have the significant risks and rewards of ownership, and where acceptance is other than perfunctory, the customer must have accepted the product or service. The Company’s principal terms of sale are freight on board (“FOB”) shipping point, or equivalent, and, as such, the Company primarily transfers control and records revenue for product sales upon shipment. Sales arrangements with delivery terms that are not FOB shipping point are not recognized upon shipment and the transfer of control for revenue recognition is evaluated based on the associated shipping terms and customer obligations. If a performance obligation to the customer with respect to a sales transaction remains to be fulfilled following shipment (typically installation or acceptance by the customer), revenue recognition for that performance obligation is deferred until such commitments have been fulfilled. For extended warranty and support, control transfers to the customer over the term of the arrangement. Revenue for extended warranty and support is recognized based upon the period of time elapsed under the arrangement as this period represents the transfer of benefits or services under the agreement.

The Company recognizes a receivable at the point in time at which it has an unconditional right to payment. Such receivables are not contract assets. Payment terms for customer orders, including for each of the Company’s primary performance obligations, are typically 30 to 90 days after the shipment or delivery of the product, and such payments typically do not include payments that are variable, dependent on specified factors or events. In limited circumstances, there exists a right of return for a product if agreed to by the Company. Revenue is only recognized for those goods that are not expected to be returned such that it is probable that there will

11

not be a significant reversal of cumulative revenue. Service arrangements commonly call for payments in advance of performing the work (e.g., extended warranty/service contracts), upon completion of the service or a mix of both. The Company does not enter into significant financing agreements or other forms of variable consideration.

Contract assets arise from unbilled amounts in customer arrangements when revenue recognized exceeds the amount billed to the customer and the Company’s right to payment is not only subject to the passage of time. The Company had no contract assets related to product or service revenue as of June 30, 2022 or December 31, 2021.

Contract liabilities represent the Company’s obligation to transfer goods or services to a customer for which it has received consideration (or the amount is due) from the customer. The Company has determined that its only contract liability related to product and service revenue is deferred revenue, which consists of amounts that have been invoiced but that have not been recognized as revenue. Amounts expected to be recognized as revenue within 12 months of the balance sheet date are classified as current deferred revenue and amounts expected to be recognized as revenue beyond 12 months of the balance sheet date are classified as noncurrent deferred revenue.

The following is a summary of the activity of the Company’s deferred revenue related to product and service revenue (in thousands):

Six Months Ended June 30, 

    

2022

    

2021

Balances at beginning of period

$

14,521

$

8,938

Recognition of revenue included in balance at beginning of the period

 

(2,494)

 

(1,211)

Revenue deferred during the period, net of revenue recognized

 

3,863

 

1,984

Balances at end of period

$

15,890

$

9,711

The amount of deferred revenue equals the transaction price allocated to unfulfilled performance obligations for the period presented. Such deferred revenue amounts related to product and service revenue are expected to be recognized in the future as follows (in thousands):

June 30, 

    

2022

    

2021

Deferred revenue expected to be recognized in:

 

  

 

  

One year or less

$

6,753

$

3,965

One to two years

 

4,204

 

2,001

Three years and beyond

 

4,933

 

3,745

$

15,890

$

9,711

As of June 30, 2022, the Company’s wholly- or partially-unsatisfied performance obligations totaled $3.9 million related to product and service agreements entered prior to period end, which the Company expects to recognize through 2024.

License and Contract Revenue

The Company generates revenue from short and long-term contracts associated with the design and development and delivery of detection devices or related design and support services. To date, these contracts are primarily with the U.S. government or commercial entities contracting with the U.S. government, but the Company has also had such contracts with commercial partners. The Company’s contracts with the U.S. government typically are subject to the Federal Acquisition Regulation (“FAR”) and are priced based on estimated or actual costs of producing goods or providing services. The FAR provides guidance on the types of costs that are allowable in establishing prices for goods or services provided under U.S. government contracts. The pricing for non-U.S. government contracts is based on the specific negotiations with each customer.

Under the typical payment terms of U.S. government fixed-price contracts, the customer pays in accordance with the terms of the specific agreement, but generally through progress payments. If these progress payments are made in advance, these payments are recorded as a contract liability, classified as deferred revenue within the accompanying condensed consolidated balance sheet, until the Company provides the underlying services. For U.S. government cost-type contracts, the customer generally pays for actual costs incurred within a short period of time. For contracts with commercial partners, payments are made in accordance with the terms of the

12

specific agreement. For agreements which call for milestone payments, to the extent the Company does not conclude that it is probable that a significant reversal of cumulative revenue will occur, a contract asset is generated until the Company is permitted to bill for costs incurred, which is classified as prepaid expense and other current assets in the accompanying condensed consolidated balance sheet. In some cases, payments received in advance under license agreements are recorded as deferred revenue and recognized over the respective contract term, absent any other performance obligations.

Generally, revenue for long-term contracts is recognized based upon the cost-to-cost measure of progress, provided that the Company meets the criteria associated with transferring control of the good or service over time such as not creating an asset with an alternative use and having an enforceable right to payment for completed performance. However, the Company evaluates the proper revenue recognition on a contract by contract basis, as each contract generally contains terms specific to the underlying agreement which result in differing performance obligations and payment terms (cost plus, fixed price agreements among others). For revenue recognized under the cost-to-cost measure of progress basis, the Company continually assesses total costs expected to be incurred and if such costs require adjustment to the measure of progress, the Company records such adjustment as a change in estimate on a cumulative catch-up basis in the period of adjustment.

The Company includes the unconstrained amount of consideration in the transaction price. The amount included in the transaction price is constrained to the amount for which it is probable that a significant reversal of cumulative revenue recognized will not occur. At the end of each subsequent reporting period, as required under ASC 606, the Company re-evaluates the estimated consideration included in the transaction price and any related constraint, and if necessary, adjusts its estimate of the overall transaction price. Any such adjustments are recorded on a cumulative catch-up basis in the period of adjustment.

Contract assets arise from unbilled amounts in customer arrangements when revenue recognized exceeds the amount billed to the customer and the Company’s right to payment is not just subject to the passage of time. The Company includes contract assets within prepaid and other current assets in the accompanying condensed consolidated balance sheet. The Company had contract assets related to contract or license revenue totaling $0.3 million and $0.2 million, respectively, as of June 30, 2022 and December 31, 2021.

Contract liabilities represent the Company’s obligation to transfer goods or services to a customer for which it has received consideration (or the amount is due) from the customer. Contract liabilities arising from contract and license agreements typically represent payments received for the license of symbolic intellectual property for a defined term. As of June 30, 2022, the Company had contract liabilities totaling $2.6 million related to contract and license revenue, which the Company expects to recognize in 2022 and 2023. As of December 31, 2021, the Company had contract liabilities totaling $2.6 million related to contract and license revenue, of which the Company recognized $0.1 million during the six months ended June 30, 2022. The Company recognizes deferred revenue by first allocating from the beginning deferred revenue balance to the extent that the beginning deferred revenue balance exceeds the revenue to be recognized. Billings during the period are added to the deferred revenue balance to be recognized in future periods. As of June 30, 2022, the Company’s wholly- or partially-unsatisfied performance obligations totaled $1.0 million related to contract and license agreements entered prior to period end, which the Company expects to recognize during the years ended December 31, 2022 and 2023.

Distribution Channels

A majority of the Company’s revenue is generated by sales in conjunction with its distribution partners, such as its international distributors and, in the United States, for end customers where a government contract is required or a customer has a pre-existing relationship. When the Company transacts with a distribution partner, its contractual arrangement is with the partner and not with the end-use customer. Whether the Company transacts business with and receives the order from a distribution partner or directly from an end-use customer, its revenue recognition policy and resulting pattern of revenue recognition for the order are the same.

13

Disaggregated Revenue

The Company’s product and service revenue consists of sales of devices and consumables and the sale of service and extended warranty plans. The following table presents the Company’s revenue by revenue stream (in thousands):

Three Months Ended June 30, 

Six Months Ended June 30, 

    

2022

    

2021

    

2022

    

2021

Product and service revenue:

 

  

 

  

 

  

 

  

Device sales revenue

$

7,755

$

6,181

$

13,287

$

10,092

Consumables and service revenue

 

2,853

 

1,734

 

5,350

 

3,180

Total product and service revenue

 

10,608

 

7,915

 

18,637

 

13,272

License and contract revenue

 

498

 

362

 

775

 

548

Total revenue

$

11,106

$

8,277

$

19,412

$

13,820

The following table presents the Company’s product and service revenue by device type (in thousands):

Three Months Ended June 30, 

Six Months Ended June 30, 

    

2022

    

2021

    

2022

    

2021

Handheld

$

6,938

$

5,278

$

11,408

$

8,518

Desktop

3,670

 

2,637

7,229

 

4,754

Total product and service revenue

$

10,608

$

7,915

$

18,637

$

13,272

Revenue based on the end-user entity type for the Company’s product and service revenue are presented below (in thousands):

Three Months Ended June 30, 

Six Months Ended June 30, 

2022

    

2021

    

2022

    

2021

Government

$

7,002

$

5,279

$

11,719

$

8,513

Pharmaceutical/Biotechnology

3,577

 

2,609

6,705

 

4,709

Academia

29

 

27

213

 

50

Total product and service revenue

$

10,608

$

7,915

$

18,637

$

13,272

The following table disaggregates the Company’s revenue from contracts with customers by geography, which are determined based on the customer location (in thousands):

Three Months Ended June 30, 

Six Months Ended June 30, 

2022

    

2021

    

2022

    

2021

Americas

$

9,470

$

5,815

$

15,538

$

10,489

Europe, Middle East and Africa

1,245

 

1,725

2,601

 

2,171

Asia Pacific

391

 

737

1,273

 

1,160

$

11,106

$

8,277

$

19,412

$

13,820

International sales are comprised primarily of product and service revenue, with the majority of license and contract revenue being attributable to North America.

Net Income (Loss) per Share

The Company has one class of shares outstanding and basic net income (loss) per common share is computed by dividing the net income (loss) by the weighted average number of shares of common stock outstanding for the period. Diluted net income (loss) per common share is computed by dividing net income (loss) by the weighted average number of shares of common stock outstanding for the period, including potential dilutive common shares assuming the dilutive effect of any potential dilutive securities outstanding for the fiscal year. Potential dilutive securities include warrants, stock options, restricted stock units, and shares to be purchased under the Company’s employee stock purchase plan. For periods in which the Company reports a net loss, diluted net loss per common share is the same as basic net loss per common share, since dilutive common shares are not assumed to have been issued if their effect is anti-dilutive.

14

Recently Adopted Accounting Pronouncements

The Company qualifies as an “emerging growth company” as defined in the Jumpstart Our Business Startups Act of 2012 and has elected not to “opt out” of the extended transition related to complying with new or revised accounting standards, which means that when a standard is issued or revised and it has different application dates for public and nonpublic companies, the Company will adopt the new or revised standard at the time nonpublic companies adopt the new or revised standard and will do so until such time that the Company either (i) irrevocably elects to “opt out” of such extended transition period or (ii) no longer qualifies as an emerging growth company.

In December 2019, the FASB issued ASU 2019-12, Income Taxes (ASC 740): Simplifying the Accounting for Income Taxes (“ASU 2019-12”), which is intended to simplify various areas related to accounting for income taxes. ASU 2019-12 removes certain exceptions to the general principles in ASC 740 and also clarifies and amends existing guidance to improve consistent application. For public entities the guidance is effective for annual reporting periods beginning after December 15, 2020 and for interim periods within those fiscal years. For non-public entities, the guidance is effective for annual reporting periods beginning after December 15, 2021 and for interim periods within years beginning after December 15, 2022, with early adoption permitted. The Company adopted this guidance as of January 1, 2022 and the adoption did not have a material impact on its consolidated financial statements.

Recently Issued Accounting Pronouncements

In June 2016, the FASB issued ASU No. 2016-13, Financial Instruments—Credit Losses (Topic 326). The new standard adjusts the accounting for assets held at amortized costs basis, including marketable securities accounted for as available for sale, and trade receivables. The standard eliminates the probable initial recognition threshold and requires an entity to reflect its current estimate of all expected credit losses. The allowance for credit losses is a valuation account that is deducted from the amortized cost basis of the financial assets to present the net amount expected to be collected. For public entities except smaller reporting companies, the guidance is effective for annual reporting periods beginning after December 15, 2019 and for interim periods within those fiscal years. For non-public entities and smaller reporting companies, the guidance was effective for annual reporting periods beginning after December 15, 2021. In November 2019, the FASB issued ASU No. 2019-10, which deferred the effective date for non-public entities to annual reporting periods beginning after December 15, 2022, including interim periods within those fiscal years. Early application is allowed. The Company expects to adopt this standard effective January 1, 2023 and is assessing the impact of the adoption of this guidance on its consolidated financial statements.

3. Fair Value Measurements

The following tables present the Company’s fair value hierarchy for its assets and liabilities that are measured at fair value on a recurring basis (in thousands):

Fair Value Measurements at June 30, 2022 Using:

    

Level 1

    

Level 2

    

Level 3

    

Total

Assets:

 

  

 

  

 

  

 

  

Cash equivalents:

 

  

 

  

 

  

 

  

Money market funds

$

347

$

$

$

347

Fair Value Measurements at December 31, 2021 Using:

    

Level 1

    

Level 2

    

Level 3

    

Total

Assets:

 

  

 

  

 

  

 

  

Cash equivalents:

 

  

 

  

 

  

 

  

Money market funds

$

634

$

$

$

634

Money market funds were valued by the Company based on quoted market prices, which represent a Level 1 measurement within the fair value hierarchy. There were no transfers into or out of Level 3 during the six months ended June 30, 2022 or 2021.

15

4. Inventory

Inventory consisted of the following (in thousands):

June 30, 

December 31, 

    

2022

    

2021

Raw materials

$

7,621

$

6,242

Work-in-progress

2,666

 

551

Finished goods

891

 

1,125

$

11,178

$

7,918

5. Accrued Expenses

Accrued expenses consisted of the following (in thousands):

June 30, 

December 31, 

    

2022

    

2021

Accrued employee compensation and benefits

$

2,793

$

3,271

Accrued warranty

1,283

 

1,593

Accrued professional fees

905

 

710

Accrued other

976

 

1,387

$

5,957

$

6,961

Changes in the Company’s product warranty obligation were as follows (in thousands):

Six Months Ended June 30, 

    

2022

    

2021

Accrual balance at beginning of period

$

1,593

$

1,265

Provision for new warranties

 

1,166

 

500

Settlements and adjustments made during the period

 

(1,476)

 

(775)

Accrual balance at end of period

$

1,283

$

990

6. Long-Term Debt

As of December 31, 2020, the Company had outstanding borrowings under a Loan and Security Agreement, as amended (the “2019 Loan”) with a financial institution (the “Lender”). On March 11, 2021, the Company entered into an Amended and Restated Loan and Security Agreement, (the “2021 Revolver”), with the Lender to replace the 2019 Loan. This agreement created a revolving line of credit totaling $25.0 million and eliminated the existing term loan. Borrowings under the revolving line of credit bear interest at an annual rate equal to the greater of (i) one-half percent (0.5%) above the prime rate or (ii) 4.0% and mature on March 11, 2024. Borrowings are collateralized by substantially all of the Company’s property, excluding intellectual property, which is subject to a negative pledge. The 2021 Revolver subjects the Company to various customary covenants, including requirements as to financial reporting and financial covenants (including an unrestricted minimum cash level of $10.0 million), and restrictions on the Company’s ability to dispose of its business or property, to change its line of business, to liquidate or dissolve, to enter into any change in control transaction, to merge or consolidate with any other entity or to acquire all or substantially all the capital stock or property of another entity, to incur additional indebtedness, to incur liens on the Company’s property, to pay any dividends or make other distributions on capital stock other than dividends payable solely in capital stock, to redeem capital stock, to enter into in-bound licensing agreements, to engage in transactions with affiliates, and to encumber the Company’s intellectual property. Events of default under the 2021 Revolver include failure to make payments when due, insolvency events, failure to comply with covenants or material adverse events with respect to the Company. Upon the occurrence of an event of default and until such event of default is no longer continuing, the annual interest rate will be 5.0% above the otherwise applicable rate. As of June 30, 2022, the Company was in compliance with all financial covenants under the 2021 Revolver.

The terms of the 2021 Revolver required that the existing term loan outstanding under the 2019 Loan be repaid with an advance under the line of credit. Accordingly, on March 11, 2021, the Company used $14.5 million of proceeds from the revolving

16

line of credit to repay all amounts then due on the existing term loan. The Company accounted for the transaction as a debt extinguishment and recorded a loss on extinguishment of $0.2 million, which was included in interest expense in the condensed consolidated statements of operations and comprehensive loss.

As of June 30, 2022, and December 31, 2021, the Company had $15.0 million outstanding under the 2021 Revolver and it is classified as long-term debt in the condensed consolidated balance sheet.

7. Equity and Net Income (Loss) per Share

Equity

As of June 30, 2022, the Company’s certificate of incorporation authorized the Company to issue up to 5,000,000 shares of preferred stock, all of which is undesignated.

Each share of common stock entitles the holder to one vote on all matters submitted to a vote of the Company’s stockholders. Common stockholders are not entitled to receive dividends, unless declared by the board of directors.

As of June 30, 2022, and December 31, 2021, the Company had outstanding warrants for the purchase of 92,703 shares of common stock at an exercise price of $9.17 per share, of which warrants for the purchase of 49,078 shares and 43,625 shares expire in 2027 and 2028, respectively.

Net Income (Loss) per Share

The Company only has one class of shares outstanding and basic net income (loss) per common share is computed by dividing the net income (loss) by the weighted average number of shares of common stock outstanding for the period. Diluted net income (loss) per common share is computed by dividing net income (loss) by the weighted average number of shares of common stock outstanding for the period, including potential dilutive common shares assuming the dilutive effect of outstanding stock awards. For periods in which the Company reports a net loss, diluted net loss per common share is the same as basic net loss per common share, since dilutive common shares are not assumed to have been issued if their effect is anti-dilutive. As the Company has reported a net loss during the three and six months ended June 30, 2022 and 2021, basic net loss per share is the same as diluted net loss per share. The Company excluded the following potential shares of common stock, presented based on amounts outstanding at each period end, from the computation of diluted net income (loss) per share attributable to common stockholders for three and six months ended June 30, 2022 and 2021 as the impact of including such common stock equivalents would have been anti-dilutive:

June 30, 

    

2022

    

2021

Warrants to purchase common stock

92,703

92,703

Options to purchase common stock

 

2,764,916

 

3,233,949

Restricted stock units

254,482

 

3,112,101

 

3,326,652

8. Stock-Based Compensation

The Company recorded stock-based compensation expense for all stock awards in the following expense categories of its condensed consolidated statements of operations and comprehensive loss (in thousands):

Three Months Ended June 30, 

Six Months Ended June 30, 

    

2022

    

2021

    

2022

    

2021

Cost of revenue

$

86

$

14

$

149

$

17

Research and development expenses

421

 

85

681

 

145

Selling, general and administrative expenses

1,387

 

382

2,353

 

658

$

1,894

$

481

$

3,183

$

820

As of June 30, 2022, unrecognized compensation expense was $18.5 million, related to unvested restricted stock units and stock options, which is expected to be recognized over a weighted average period of 2.99 years.

17

9. Commitments and Contingencies

Operating Leases

The Company’s primary operating lease obligations consists of various leases for office space in Boston, Massachusetts; North Carolina; and Pennsylvania.

There have been no material changes to the Company’s leases during the six months ended June 30, 2022. For additional information, read Note 11, Leases, to the consolidated financial statements in the Company’s Form 10-K for the year ended December 31, 2021.

On July 17, 2022, the Company entered into a new operating lease agreement in Morrisville, North Carolina (the “New NC Lease”), to expand the Company’s research and development activities focused on its desktop offerings and enable the ability to standup an additional manufacturing site for the Company. The New NC Lease is for approximately 13,300 rentable square feet and occupancy is expected in the first half of 2023. The New NC Lease is for a term of 88 months with total lease costs of approximately $4.0 million.

Royalty Arrangements

The Company has entered into royalty arrangements with two parties whereby the Company owes low- to mid-single digit royalty percentages related to revenue that is derived pursuant to in-licensed technologies. Royalty obligations are expensed when incurred or over the minimum royalty periods and have not been material. Some of the arrangements include minimum royalties over a defined term.

The future minimum royalty payments are $0.1 million per year through the end of the patents’ lives. The Company has the right to terminate the agreements with written notice.

401(k) Savings Plan

The Company has a defined-contribution savings plan under Section 401(k) of the Internal Revenue Code. This plan covers substantially all employees who meet minimum age and service requirements and allows participants to defer a portion of their annual compensation on a pre-tax basis. Company contributions to the plan may be made at the discretion of the board of directors. On October 1, 2021, the Company commenced an employer match program whereby the Company matches 100% of the first 3% that each employee contributes to the plan, capped at a maximum of $3,500 per year per employee. During the six months ended June 30, 2022, the Company made $0.3 million in contributions to the plan.

Indemnification Agreements

In the ordinary course of business, the Company may provide indemnification of varying scope and terms to vendors, lessors, business partners and other parties with respect to certain matters including, but not limited to, losses arising out of breach of such agreements or from intellectual property infringement claims made by third parties. In addition, the Company has entered into indemnification agreements with its executive officers and members of its board of directors that will require the Company, among other things, to indemnify them against certain liabilities that may arise by reason of their status or services as directors or officers. The maximum potential amount of future payments the Company could be required to make under these indemnification agreements is, in many cases, unlimited. To date, the Company has not incurred any material costs as a result of such indemnifications. The Company is not currently aware of any indemnification claims and had not accrued any liabilities related to such obligations in its condensed consolidated financial statements as of June 30, 2022.

Legal Proceedings

The Company is not currently party to any material legal proceedings. At each reporting date, the Company evaluates whether or not a potential loss amount or a potential range of loss is probable and reasonably estimable under the provisions of the

18

authoritative guidance that addresses accounting for contingencies. The Company expenses as incurred the costs related to such legal proceedings.

10. Subsequent events

On August 3, 2022, the Company entered into a share purchase and transfer agreement and completed its acquisition of 100% of the registered share capital of TRACE Analytics GmbH, a German limited liability company located in Braunschweig, Germany (Trace), for total potential purchase price consideration of $17.3 million, comprised of (i) a $15.3 million initial cash payment plus (ii) up to $2.0 million contingent cash consideration upon achievement of certain milestones over a twenty four month period.

Trace is a leading provider of online analysis systems for biotech applications in research, development and production. Trace’s products are used for monitoring and control of complex processes in industrial pharmaceutical productions under continuous measurement conditions. With the acquisition of Trace, the Company has acquired enabling sampling technology that it expects to integrate within future product offerings.

The Company has not determined its initial accounting for the acquisition. As of August 9, 2022, the preliminary purchase price allocation related to the acquisition of Trace is incomplete. The Company has retained an independent valuation firm to assess the fair value of the identified intangible assets and certain tangible assets acquired and liabilities assumed. During the three and six months ended June 30, 2022, the Company incurred approximately $0.2 million in costs associated with the acquisition of Trace, which are recorded as selling, general, and administrative expenses within the consolidated statements of operations.

19

Item 2. 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 our unaudited condensed consolidated financial statements and related notes appearing elsewhere in this Quarterly Report on Form 10-Q and our Annual Report on Form 10-K for the year ended December 31, 2021, as filed with the SEC on March 11, 2022 (“2021 Form 10-K”). Some of the information contained in this discussion and analysis or set forth elsewhere in this Quarterly Report on Form 10-Q, including information with respect to our plans and strategy for our business, includes forward-looking statements that involve risks and uncertainties. As a result of many factors, including those factors set forth in “Item 1.A. Risk Factors” section of our 2021 Form 10-K, our actual results could differ materially from the results described in or implied by the forward-looking statements contained in the following discussion and analysis.

Overview

We have developed an innovative suite of purpose-built handheld and desktop mass spectrometry, or Mass Spec, devices for the point-of-need. Leveraging our proprietary platform technology, we make the extraordinary analytical power of Mass Spec available in devices that are significantly smaller and more accessible than conventional laboratory instruments. Our Mass Spec devices are used at the point-of-need to interrogate unknown and invisible materials and provide quick, actionable answers to directly address some of the most critical problems in life sciences research, bioprocessing, industrial biotech, forensics and adjacent markets.

We create simplified measurement devices that our customers can use as accurate tools where and when their work needs to be done, rather than overly complex and centralized analytical instrumentation. We believe the insights and answers our devices provide will accelerate workflows, reduce costs, and offer transformational opportunities for our end users.

Front-line workers rely upon our handheld devices to combat the opioid crisis and detect counterfeit pharmaceuticals and illicit materials in the air or on surfaces at levels 1,000 times below their lethal dose. Our desktop devices are accelerating development and production of biotherapeutics by identifying and quantifying extracellular species in bioprocessing critical to cell health and productivity. They sit alongside bioreactors and fermenters producing drug candidates, functional proteins, cell and gene therapies, and synthetic biology derived products. We believe the insights and answers our devices provide accelerate workflows, reduce costs, and offer transformational opportunities for our end users. The term “products” as used in this “Management’s Discussion and Analysis of Financial Condition and Results of Operations” refers to the MX908, Rebel and ZipChip Interface.

Since inception, we have focused substantially all of our resources on designing, developing and building our proprietary Mass Spec platform and associated technologies, supporting software improvements and data analysis, organizing and staffing our company, planning our business, raising capital, and providing general and administrative support for these operations. To date, we have funded our operations primarily with proceeds from sales of preferred stock and borrowings under loan agreements and, more recently, with the proceeds from two public equity offerings. On December 22, 2020, we completed our initial public offering, or IPO, pursuant to which we issued and sold 7,475,000 shares of common stock, inclusive of 975,000 shares pursuant to the full exercise of the underwriters’ option to purchase additional shares. We received net proceeds of $136.6 million after deducting underwriting discounts and commissions and other offering costs. On November 15, 2021, we completed an underwritten public offering, pursuant to which we issued and sold 3,150,000 shares of common stock at a public offering price of $32.00 per share, or the November 2021 Offering. We received net proceeds of $94.4 million after deducting underwriting discounts and commissions and other offering costs.

Since our inception, we have incurred significant operating losses. Our ability to generate revenue sufficient to achieve profitability will depend on the successful further development and commercialization of our products. We generated revenue of $19.4 million and $13.8 million for the six months ended June 30, 2022 and 2021, respectively, and incurred net losses of $17.5 million and $13.5 million for those same periods. As of June 30, 2022, we had an accumulated deficit of $118.2 million. We expect to continue to incur net losses as we focus on growing commercial sales of our products in both the United States and international markets, including growing our sales teams, scaling our manufacturing operations, continuing research and development efforts to develop new products and further enhance our existing products. Further, we expect to incur additional costs associated with operating as a public company. As a result, we may need additional funding for expenses related to our operating activities, including selling, general and administrative expenses and research and development expenses.

20

Because of the numerous risks and uncertainties associated with product development and commercialization, we are unable to accurately predict the timing or amount of increased expenses or when, or if, we will be able to achieve or maintain profitability. Until such time, if ever, as we can generate substantial revenue sufficient to achieve profitability, we expect to finance our operations through a combination of equity offerings, debt financings and strategic alliances. We may be unable to raise additional funds or enter into such other agreements or arrangements when needed on favorable terms, or at all. If we are unable to raise capital or enter into such agreements as, and when, needed, we may have to significantly delay, scale back or discontinue the further development and commercialization efforts of one or more of our products, or may be forced to reduce or terminate our operations.

We believe that our existing cash and cash equivalents and revenue from product and service, will enable us to fund our operating expenses, capital expenditure requirements and debt service payments for at least the next 12 months. We have based this estimate on assumptions that may prove to be wrong, and we could exhaust our available capital resources sooner than we expect. See “Liquidity and Capital Resources.”

COVID-19

In December 2019, a novel strain of coronavirus, or COVID-19, emerged in Wuhan, Hubei Province, China. Less than four months later, in March 2020, the World Health Organization declared COVID-19 a pandemic. The impact of this pandemic has been and will likely continue to be extensive in many aspects of society, which has resulted in and will likely continue to result in significant disruptions to the global economy, as well as businesses and capital markets around the world.

In 2021, we experienced extended lead times on our supply chain, limitations on travel for our employees and customers, and delays in product installations, trainings, or shipments to and from affected countries. In 2022, we are continuing to see these impacts, which also include lockdowns in China related to the COVID-19 pandemic.

We do not yet know the net impact that the COVID-19 pandemic may have on our business and cannot guarantee that it will not be materially negative. For example, in 2021, we recorded an increase to our allowance for doubtful accounts of $1.7 million for a customer in the Middle East where due to the credit and economic conditions, including the impact of COVID-19, we determined that it is probable that collection will not occur. Although we continue to monitor the situation and may adjust our current policies as more information and public health guidance become available, the ongoing effects of the COVID-19 pandemic and/or the precautionary measures that we have adopted may create operational and other challenges, any of which could harm our business and results of operations. While we maintain an inventory of finished products and raw materials used in our products, a prolonged pandemic could lead to shortages in the raw materials necessary to manufacture our products. If we experience a prolonged disruption in our manufacturing, supply chains or commercial operations, or if demand for our products or our customers’ ability to make payments is significantly reduced as a result of the COVID-19 pandemic, we would expect to experience a material adverse impact on our business, financial condition, results of operations and prospects.

Historically, a significant portion of our field sales, customer training events and other application services have been conducted in person, and the rollout of our new products has historically been supported by our participation at industry conferences. Currently, as a result of the work and travel restrictions related to the COVID-19 pandemic, and the precautionary measures that we have adopted, a significant portion of our field sales and professional services activities continue to be conducted remotely, which has resulted in a decrease in our travel expenditures. However, we have recently permitted certain of our employees to travel to our customers and industry conferences where permitted by local authorities, and expect that our travel expenditures will also begin to increase. Any prolonged restrictive measures put in place in order to control the spread of COVID-19, including new variants, or other adverse public health developments in any of our targeted markets may have a material and adverse effect on our business operations and results of operations. We do not yet know the extent of the negative impact of such restrictions and precautionary measures, including the lifting of our travel restrictions in limited circumstances, on our ability to attract new customers or retain and expand our relationships with existing customers over the near and long term.

Factors Affecting Our Performance

We believe that our financial performance has been and in the foreseeable future will continue to be primarily driven by the following factors. While each of these factors presents significant opportunities for our business, they also pose important challenges that we must successfully address to sustain our growth and improve our results of operations. Our ability to successfully address the factors below is subject to various risks and uncertainties.

21

Device sales

Our financial performance has largely been driven by, and in the future will continue to be impacted by, the rate of sales of our handheld and desktop devices. Management focuses on device sales as an indicator of current business success and a leading indicator of likely future recurring revenue from consumables and services. We expect our device sales to continue to grow as we increase penetration in our existing markets and expand into, or offer new features and solutions that appeal to, new markets.

We plan to grow our device sales in the coming years through multiple strategies including expanding our sales efforts domestically and globally and continuing to enhance the underlying technology and applications for life sciences research related to our Rebel and ZipChip Interface. We regularly solicit feedback from our customers and focus our research and development efforts on enhancing our devices and enabling our customers to use additional applications that address their needs, which we believe in turn helps to drive additional sales of our devices and consumables.

Our sales process varies considerably depending upon the type of customer to whom we are selling. Historically, our handheld devices have been used by state, federal and foreign governments and governmental agencies. Our sales process with government customers is often long and involves multiple levels of approvals, testing and, in some cases, trials. Device orders from a government customer are typically large orders and can be impacted by the timing of their capital budgets. As a result, the revenue for our handheld devices can vary significantly from period-to-period and has been and may continue to be concentrated in a small number of customers in any given period.

Our desktop devices are typically used by the pharmaceutical, biotechnology and academia markets. Our sales cycles within these markets tend to vary based on the size of the customer and the number of devices they purchase. Our shortest sales cycles are typically for small laboratories and individual researchers where, in some cases, we receive purchase orders from these customers within three months. Our sales process with other institutions can be longer with most customers submitting purchase orders within six to twelve months. Given the variability of our sales cycle, we have in the past experienced, and likely will in the future experience, fluctuations in our desktop device sales on a period-to-period basis. Additionally, we have experienced and may continue to experience the impact of laboratory shutdowns related to COVID-19 on device and consumable sales to these markets.

Recurring revenue

We regularly assess trends relating to recurring revenue which includes consumables and services based on our product offerings, our customer base and our understanding of how our customers use our products. Consumables and service revenue was 29% and 24% of total product and service revenue for the six months ended June 30, 2022 and 2021, respectively. Our recurring revenue as a percentage of total product and service revenue will vary based upon new device placements in the period. As our device installed base expands, recurring revenue on an absolute basis is expected to increase and over time should be an increasingly important contributor to our revenue.

Revenue from the sales of consumables will vary by type of device. We expect that recurring revenue as a percentage of the original device price to be higher for our desktop devices (Rebel and ZipChip Interface) than for our handheld device (MX908). While we sell single-use swab samplers for MX908 to be used in liquid and solid materials analysis, there are a number of other applications that the MX908 can be used for that do not require consumables. Rebel and ZipChip Interface require consumables kits for all areas of operations. Currently, Rebel customers, who are actively utilizing the device, are consuming on average one 200-sample kit per month; however, Rebel is a new product and purchasing patterns related to our consumables kits are evolving. We expect that the number of kits sold per month will vary over the short term. In time, we expect Rebel consumables kits sales to become more consistent as our installed base grows and our customers establish usage patterns. At maximum potential capacity, with continuous operation, the Rebel can consume approximately one 200-sample kit per day.

22

Revenue mix and gross margin

Our revenue is derived from sales of our devices, consumables and services. There will be fluctuations in mix between devices and consumables from period-to-period. Over time, as our device installed base grows and we see adoption of Rebel, we expect consumables revenue to constitute a larger percentage of product and service revenue. However, the percentage will be subject to fluctuation based upon our handheld sales in a period. In addition, our selling price and, consequently, our margins, are higher for those devices and consumables that we sell directly to customers as compared to those that we sell through distributors. While we expect the mix of direct sales as compared to sales through distributors to remain relatively constant in the near term, we are currently evaluating increasing our direct sales capabilities in certain geographies.

Future device and consumable selling prices and gross margins may fluctuate due to a variety of factors, including the introduction by others of competing products and solutions. We aim to mitigate downward pressure on our average selling prices by increasing the value proposition offered by our devices and consumables, primarily by expanding the applications for our devices and increasing the quantity and quality of data that can be obtained using our consumables.

Product adoption

We monitor our customers’ stage of adoption of our products to provide insight into the timing of future potential sales and to help us formulate financial projections. Typical stages of adoption include testing, trials, pilot and deployment as follows:

Testing—a customer is actively engaged with internal or external testing of our products. This may include an onsite or virtual demonstration with a salesperson, a customer submitting samples for testing in one of our facilities or testing by a third party.
Trials—a customer has committed to a trial of one of our products, which may include a defined period to assess functionality of the device in their operational environment (in the field or onsite within the customer’s facility).
Pilot—a customer commits to the purchase of an initial quantity of devices to deploy in their operational environment to assess a broader opportunity that may grow to tens or hundreds of devices.
Deployment—a customer has completed testing, a trial, and/or a pilot and intends to roll out the technology across their enterprise (either at a site or throughout the entire organization).

Key Business Metrics

We regularly review the number of product placements and cumulative product placements as key metrics to evaluate our business, measure our performance, identify trends affecting our business, formulate financial projections, and make strategic decisions. We believe that these metrics are representative of our current business; however, we anticipate these will change or may be substituted for additional or different metrics as our business grows.

During the three and six months ended June 30, 2022 and 2021, our product placements (units recognized as revenue) by device type were as follows:

Three Months Ended June 30, 

Six Months Ended June 30, 

    

2022

    

2021

    

2022

    

2021

Product Placements:

  

  

MX908

 

102

 

84

 

165

 

137

 

Rebel

 

14

 

12

 

29

 

21

 

ZipChip Interface

 

8

 

7

 

13

 

11

 

Total Product Placements

 

124

 

103

 

207

 

169

 

The number of product placements vary considerably from period-to-period due to the type and size of our customers and concentrations among larger government customers as described above. We expect continued fluctuations in our period-to-period number of product placements.

23

Our cumulative product placements consist of the following number of devices:

June 30, 

    

2022

    

2021

Cumulative Product Placements:

  

MX908

 

1,815

 

1,295

 

Rebel

 

129

 

67

 

ZipChip Interface

 

198

 

168

 

Cumulative Product Placements

 

2,142

 

1,530

 

Components of Our Results of Operations

Revenue

Product and Service Revenue

We generate product and service revenue from the sale of our devices and recurring revenue from the sale of consumables and services. Device sales accounted for 71% and 76% of our product and service revenue for the six months ended June 30, 2022 and 2021, respectively. Consumables and service revenue accounted for 29% and 24% of our product and service revenue for the six months ended June 30, 2022 and 2021, respectively.

Our current device offerings include:

Handheld devices—MX908; and
Desktop devices—Rebel and ZipChip Interface.

We sell our devices directly to customers and through distributors. Each of our device sales drives various streams of recurring revenue comprised of consumable product sales and service revenue.

Our consumables consist of:

MX908—accessories and swabs;
Rebel—consumables kit with a microfluidic chip and standards; and
ZipChip Interface—microfluidic chip, reagent and assay kits.

Rebel and ZipChip Interface consumables can only be used with our devices and there are no alternative after-market options that can be used as a substitute. Each chip is used for a defined number of samples (or runs). We recognize revenue from the sale of consumables as the consumable products are shipped.

We also offer our customers extended warranty and service plans. Our extended warranty and service plans are offered for periods beyond the standard one-year warranty that all of our customers receive. These extended warranty and service plans generally have fixed fees and terms ranging from one additional year to four additional years. We recognize revenue from the sale of extended warranty and service plans over the respective coverage period, which approximates the service effort provided by us.

We expect consumables and service revenue to increase in future periods as our installed base grows and we are able to generate recurring sales.

Licenses and contract revenue

License and contract agreements are arrangements whereby we provide engineering services for the development of our technology platform for specific programs or new and expanding applications of our technologies for future commercial endeavors. Our license and contract agreements are with the U.S. government and commercial entities (who may be contracting with the government). Contracts typically include compensation for labor effort and materials incurred related to the deliverables under the contract. Our license and contract revenue was primarily related to two customers during the three and six months ended June 30, 2022 and one customer during the three and six months ended June 30, 2021.

24

During the three and six months ended June 30, 2022 and 2021, our revenue was comprised of revenue from the following sources:

Three Months Ended June 30, 

Six Months Ended June 30, 

    

2022

    

2021

    

2022

    

2021

Product and service revenue:

 

  

 

  

 

  

 

  

Device sales revenue

$

7,755

$

6,181

$

13,287

$

10,092

Consumables and service revenue

 

2,853

 

1,734

 

5,350

 

3,180

Total product and service revenue

 

10,608

 

7,915

 

18,637

 

13,272

License and contract revenue

 

498

 

362

 

775

 

548

Total revenue

$

11,106

$

8,277

$

19,412

$

13,820

Our product and service revenue is comprised of leverage sales of our handheld and desktop devices and related consumables and service contracts to end-users in the government, pharmaceuticals/biotechnology and academia markets as follows:

Three Months Ended June 30, 

Six Months Ended June 30, 

2022

    

2021

    

2022

    

2021

Government

$

7,002

$

5,279

$

11,719

$

8,513

Pharmaceutical/Biotechnology

3,577

 

2,609

6,705

 

4,709

Academia

29

 

27

213

 

50

Total product and service revenue

$

10,608

$

7,915

$

18,637

$

13,272

We sell our products primarily in the United States; however, we continue to expand our global sales efforts as we see traction in our products and assess global market needs. The majority of our international sales are through a distribution channel.

Cost of Revenue, Gross Profit and Gross Margin

Product cost of revenue primarily consists of costs for raw material parts and associated freight, shipping and handling costs, royalties, contract manufacturer costs, salaries and other personnel costs, overhead and other direct costs related to those sales recognized as product revenue in the period.

Cost of revenue for services primarily consists of salaries and other personnel costs, travel related to services provided, facility costs associated with training, warranties and other costs of servicing equipment on a return-to-factory basis and at customer sites. License and contract cost of revenue primarily consists of salaries and other personnel costs, materials, travel and other direct costs related to the revenue recognized in the period. The license and contract cost of revenue will vary based upon the type of contract, including whether it is primarily for development services or for both materials and development services.

We expect that our cost of revenue will increase or decrease to the extent that our revenue increases and decreases and depending on how many contracts we have ongoing at any given point in time and the stage of those contracts.

Gross profit is calculated as revenue less cost of revenue. Gross profit margin is gross profit expressed as a percentage of revenue. Our gross profit in future periods will depend on a variety of factors, including: market conditions that may impact our pricing, sales mix among devices, sales mix changes among consumables, excess and obsolete inventories, our cost structure for manufacturing operations relative to volume, and product warranty obligations. Our gross profit in future periods will vary based upon our channel mix and may decrease based upon our distribution channels and the potential to establish original equipment manufacturing channels for certain components of our technology platform which would have a lower gross margin.

We expect that our gross profit margin for product and service will increase over the long term as our sales and production volumes increase and our cost per unit decreases due to efficiencies of scale. We intend to use our design, engineering and manufacturing capabilities to further advance and improve the efficiency of our manufacturing, which we believe will reduce costs and increase our gross margin. We expect that our gross profit margin for license and contract will remain consistent for our contracts that are cost reimbursement contracts.

25

Operating Expenses

Research and development expenses

Research and development expenses consist primarily of costs incurred for our research activities, product development, hardware and software engineering and consultant services and other costs associated with our technology platform and products, which include:

employee-related expenses, including salaries, related benefits and stock-based compensation expense for employees engaged in research and hardware and software development functions;
the cost of maintaining and improving our product designs, including third party development costs for new products and materials for prototypes;
research materials and supplies; and
facilities, depreciation and other expenses, which include direct and allocated expenses for rent and maintenance of facilities and insurance.

We believe that our continued investment in research and development is essential to our long-term competitive position and expect these expenses to increase in future periods.

Selling, general and administrative expenses

Selling, general and administrative expenses consist primarily of salaries and other personnel costs, and stock-based compensation for our sales and marketing, finance, legal, human resources and general management, as well as professional services, such as legal, audit and accounting services. We expect selling, general and administrative expenses to increase in future periods as the number of sales, sales application specialists and marketing and administrative personnel grows and we continue to introduce new products, invest in demonstration equipment, broaden our customer base and grow our business. We also anticipate that we will incur increased accounting, audit, legal, regulatory, compliance and director and officer insurance costs as well as investor and public relations expenses associated with operating as a public company.

Other Income (Expense)

Interest expense

Interest expense consists of interest expense associated with outstanding borrowings under our loan and security agreements and the amortization of deferred financing costs and debt discounts associated with such arrangements.

Other income (expense), net

Other income (expense), net consists of interest income from the Company’s cash and cash equivalents, miscellaneous other income and expense unrelated to our core operations.

Provision for Income Taxes

We have not recorded any U.S. federal or state income tax benefits for the net operating losses we have incurred in each year or for the research and development tax credits we generated in the United States, as we believe, based upon the weight of available evidence, that it is more likely than not that all of our net operating loss carryforwards and tax credits will not be realized. As of December 31, 2021, we had U.S. federal and state net operating loss carryforwards of $80.4 million and $52.3 million, respectively, which may be available to offset future taxable income and begin to expire in 2032 and 2025, respectively, of which $46.0 million of federal net operating losses do not expire. As of December 31, 2021, we also had U.S. federal and state research and development tax credit carryforwards of $4.8 million and $2.7 million, respectively, which may be available to offset future tax liabilities and begin to expire in 2032 and 2029, respectively. We have recorded a full valuation allowance against our net deferred tax assets at each balance sheet date.

26

Results of Operations

Comparison of the Three Months Ended June 30, 2022 and 2021

The following table summarizes our results of operations for the three months ended June 30, 2022 and 2021:

Three Months Ended June 30, 

    

2022

    

2021

    

Change

(in thousands)

Revenue:

 

  

 

  

 

  

Product and service revenue

$

10,608

$

7,915

$

2,693

License and contract revenue

 

498

 

362

 

136

Total revenue

 

11,106

 

8,277

 

2,829

Cost of revenue:

 

  

 

  

 

  

Product and service cost of revenue

 

4,361

 

3,846

 

515

License and contract cost of revenue

 

111

 

52

 

59

Total cost of revenue

 

4,472

 

3,898

 

574

Gross profit

 

6,634

 

4,379

 

2,255

Operating expenses:

 

  

 

  

 

  

Research and development

 

4,293

 

3,055

 

1,238

Selling, general and administrative

 

10,710

 

8,779

 

1,931

Total operating expenses

 

15,003

 

11,834

 

3,169

Loss from operations

 

(8,369)

 

(7,455)

 

(914)

Other income (expense):

 

  

 

  

 

  

Interest expense

 

(15)

 

(39)

 

24

Other income, net

 

285

 

70

 

215

Total other income, net

 

270

 

31

 

239

Net loss

$

(8,099)

$

(7,424)

$

(675)

Revenue, Cost of Revenue and Gross Profit

Product and service

Our product and service revenue is comprised of revenue from sales of devices and related consumables and service as follows:

Three Months Ended June 30, 

Change

    

2022

    

2021

    

Amount

    

%

(dollars in thousands)

Product and service revenue

$

10,608

$

7,915

$

2,693

 

34

%

Product and service cost of revenue

 

4,361

 

3,846

 

515

 

13

%

Gross profit

$

6,247

$

4,069

$

2,178

 

54

%

Gross profit margin

 

59

%

 

51

%

 

8

%

Three Months Ended June 30, 

Change

    

2022

    

2021

    

Amount

    

%

(dollars in thousands)

Device sales revenue

 

$

7,755

$

6,181

$

1,574

 

25

%

Consumables and service revenue

 

2,853

 

1,734

 

1,119

 

65

%

Total product and service revenue

$

10,608

$

7,915

$

2,693

 

34

%

Product and service revenue increased by $2.7 million, or 34%, for the three months ended June 30, 2022, compared to the three months ended June 30, 2021. Device sales accounted for 73% and 78% of our product and service revenue for the three months

27

ended June 30, 2022 and 2021, respectively. The increase in device sales of $1.6 million was primarily due to an increase of $1.1 million in device sales related to our handheld products primarily driven by an increase in state and local placements in the United States as a result of funding to address detection capabilities with the opioid epidemic. The increase in device sales was also due to an increase of $0.5 million in desktop device sales, primarily related to a two unit increase in Rebel devices and a higher average selling price for desktop devices based upon distributor mix and annual list price increases. Consumables and service revenue increased by $1.1 million primarily due to a $0.8 million increase in service revenue.

Product and service cost of revenue increased by $0.5 million, or 13%, for the three months ended June 30, 2022, compared to the three months ended June 30, 2021. The increase in product and service cost of revenue was primarily related to $0.3 million in costs from higher product volume, a $0.2 million increase in salaries and related costs, and a $0.1 million increase in stock-based compensation offset in part by timing of the capitalization of labor and overhead from the build of devices within the quarter.

Product and service gross profit increased by $2.2 million, or 54%, and gross profit margin increased by eight percentage points for the three months ended June 30, 2022 as compared to the three months ended June 30, 2021, primarily due to $0.8 million in higher service revenue, favorable product mix for our MX908 and higher average selling prices for our Rebel devices, offset in part by the higher personnel and operating costs.

License and contract

Three Months Ended June 30, 

Change

    

2022

    

2021

    

Amount

    

%

(dollars in thousands)

License and contract revenue

$

498

$

362

$

136

 

38

%

License and contract cost of revenue

 

111

 

52

 

59

 

113

%

Gross profit

$

387

$

310

$

77

 

25

%

Gross profit margin

78

%

86

%

(8)

%

License and contract revenue increased by $0.1 million, or 38%, for the three months ended June 30, 2022, compared to the three months ended June 30, 2021. The majority of license and contract revenue in the three months ended June 30, 2022, was related to activities under a prime contract held directly with the U.S. government. During the three months ended June 30, 2021, license and contract revenue was related primarily to our subcontract agreement with a commercial entity that holds a U.S. government prime contract.

License and contract cost of revenue increased $0.1 million, or 113% for the three months ended June 30, 2022, compared to the three months ended June 30, 2021 due to the mix of contract deliverables across the Company’s current contracts. The mix of contract deliverables for the three months ended June 30, 2022 had higher material costs compared to the contract deliverables for the three months ended June 30, 2021.

License and contract gross profit increased and gross profit margin decreased by eight percentage points for the three months ended June 30, 2022 as compared to the three months ended June 30, 2021, primarily due to the mix in contract deliverables, including a mix of materials with higher costs during the three months ended June 30, 2022 which resulted in a lower gross profit margin percentage.

Operating Expenses

Research and development

Three Months Ended June 30, 

Change

    

2022

    

2021

    

Amount

    

%

(dollars in thousands)

Research and development expenses

$

4,293

$

3,055

 

$

1,238

 

41

%

Percentage of total revenue

 

39

%

 

37

%

 

Our research and development expenses were $4.3 million for the three months ended June 30, 2022, an increase of $1.2 million from research and development expenses of $3.1 million for the three months ended June 30, 2021. The increase was due primarily to a $0.7 million increase in salaries and related costs from growing headcount, a $0.3 million increase in stock-based

28

compensation and a $0.2 million increase in materials and supplies related to product development efforts.

Selling, general and administrative expenses

Three Months Ended June 30, 

Change

    

2022

    

2021

    

Amount

    

%

(dollars in thousands)

Selling, general and administrative expenses

$

10,710

$

8,779

$

1,931

 

22

%

Percentage of total revenue

 

96

%

 

106

%

Our selling, general and administrative expenses were $10.7 million for the three months ended June 30, 2022, an increase of $1.9 million from selling, general and administrative expenses of $8.8 million for the three months ended June 30, 2021. The increase was due primarily to a $1.8 million increase in salaries and related costs from growing headcount, a $1.0 million increase in stock-based compensation, a $0.4 million increase in travel expenses and a $0.4 million net increase in all other costs. These increases were partially offset by a $1.7 million decrease in allowance for bad debt recorded in the three months ended June 30, 2021.

Other Income (Expense)

Interest expense

Interest expense was relatively unchanged for the three months ended June 30, 2022 compared to the three months ended June 30, 2021.

Other income (expense), net

Other income, net was $0.3 million for the three months ended June 30, 2022, an increase of $0.2 million from other income, net of $0.1 million for the three months ended June 30, 2021. The increase was primarily due to our higher cash and cash equivalent balances from the proceeds from the November 2021 Offering as well as higher interest rates on our interest bearing accounts based upon recent increases in the market.

29

Comparison of the Six Months Ended June 30, 2022 and 2021

The following table summarizes our results of operations for the six months ended June 30, 2022 and 2021:

Six Months Ended June 30, 

    

2022

    

2021

    

Change

(in thousands)

Revenue:

  

  

  

Product and service revenue

$

18,637

$

13,272

$

5,365

License and contract revenue

 

775

 

548

 

227

Total revenue

 

19,412

 

13,820

 

5,592

Cost of revenue:

 

  

 

  

 

  

Product and service cost of revenue

 

8,402

 

6,406

 

1,996

License and contract cost of revenue

 

247

 

127

 

120

Total cost of revenue

 

8,649

 

6,533

 

2,116

Gross profit

 

10,763

 

7,287

 

3,476

Operating expenses:

 

  

 

 

  

Research and development

 

8,198

 

6,020

 

2,178

Selling, general and administrative

 

20,455

 

14,532

 

5,923

Total operating expenses

 

28,653

 

20,552

 

8,101

Loss from operations

 

(17,890)

 

(13,265)

 

(4,625)

Other income (expense):

 

  

 

  

 

  

Interest expense

 

(35)

 

(415)

 

380

Other income, net

411

 

161

 

250

Total other income (expense), net

 

376

 

(254)

 

630

Net loss

$

(17,514)

$

(13,519)

$

(3,995)

Revenue, Cost of Revenue and Gross Profit

Product and service

Our product and service revenue is comprised of revenue from sales of devices and related consumables and service as follows:

Six Months Ended June 30, 

Change

 

    

2022

    

2021

    

Amount

    

%

(dollars in thousands)

 

Product and service revenue

$

18,637

$

13,272

$

5,365

 

40

%

Product and service cost of revenue

 

8,402

 

6,406

 

1,996

 

31

%

Gross profit

$

10,235

$

6,866

$

3,369

 

49

%

Gross profit margin

 

55

%

 

52

%

 

3

%  

  

Six Months Ended June 30, 

Change

 

    

2022

    

2021

    

Amount

    

%

 

(dollars in thousands)

 

Device sales revenue

$

13,287

$

10,092

$

3,195

 

32

%

Consumables and service revenue

5,350

 

3,180

 

2,170

 

68

%

Total product and service revenue

$

18,637

$

13,272

$

5,365

 

40

%

Product and service revenue increased by $5.4 million, or 40%, for the six months ended June 30, 2022, compared to the six months ended June 30, 2021. Device sales accounted for 71% and 76% of our product and service revenue for the six months ended June 30, 2022 and 2021, respectively. Consumables and service revenue accounted for 29% and 24% of our product and service revenue for the six months ended June 30, 2022 and 2021, respectively. The increase in device sales of $3.2 million was primarily due to an increase of $1.7 million in handheld device sales for the three months ended June 30, 2022 compared to the three months ended June 30, 2021, attributable to a 28 unit increase in sales of our handheld products, was driven by an increase in state and local placements in the United States as a result of funding to address detection capabilities with the opioid epidemic. The increase in device sales was also due to an increase of $1.5 million in desktop device sales, representing a ten unit increase, primarily related to Rebel

30

device placements. Consumables and service revenue increased by $2.2 million primarily due to a $1.7 million increase in service revenue and a $0.4 million increase in desktop consumables sales.

Product and service cost of revenue increased by $2.0 million, or 31%, for the six months ended June 30, 2022, compared to the six months ended June 30, 2021. The increase in product and service cost of revenue was primarily related to $0.9 million in costs from higher product volume, a $0.8 million increase in salaries and related costs from growing headcount, and a $0.1 million increase in stock-based compensation.

Product and service gross profit increased by $3.4 million, or 49%, and gross profit margin increased by three percentage points for the six months ended June 30, 2022, as compared to the six months ended June 30, 2021, primarily due to $1.7 million in higher service revenue, as well as higher product revenue volume and favorable product mix and pricing, offset in part by the higher personnel and operating costs to support the higher volume.

License and contract

Six Months Ended June 30, 

Change

 

    

2022

    

2021

    

Amount

    

%

 

(dollars in thousands)

 

License and contract revenue

$

775

$

548

$

227

 

41

%

License and contract cost of revenue

 

247

 

127

 

120

 

94

%

Gross profit

$

528

$

421

$

107

 

25

%

Gross profit margin

 

68

%

77

%

(9)

%  

  

License and contract revenue increased by $0.2 million, or 41%, for the six months ended June 30, 2022, compared to the six months ended June 30, 2021. The majority of license and contract revenue was related to activities under our subcontract agreement with a commercial entity that holds a U.S. government prime contract. The increase in license and contract revenue for the six months ended June 30, 2022 is primarily related to a $0.3 million increase in revenue related work performed under a prime contract held directly with the U.S. government.

License and contract cost of revenue increased $0.1 million, or 94% for the six months ended June 30, 2022, compared to the six months ended June 30, 2021 due to mix of contract deliverables across the current contracts. The mix of contract deliverables for the six months ended June 30, 2022 had higher material costs compared to the mix of contract deliverables for the prime contract held directly with the U.S. government that did not have any cost of revenue during the six months ended June 30, 2021.

License and contract gross profit increased by $0.1 million and gross profit margin decreased by nine percentage points for the six months ended June 30, 2022 as compared to the three months ended June 30, 2021, primarily due to the mix in contract deliverables, including a mix of materials with higher costs during the six months ended June 30, 2022 which resulted in a lower gross profit margin for that period, as compared to the six months ended June 30, 2021.

Operating Expenses

Research and development

Six Months Ended June 30, 

Change

 

    

2022

    

2021

    

Amount

    

%

 

(dollars in thousands)

 

Research and development expenses

$

8,198

$

6,020

$

2,178

 

36

%

Percentage of total revenue

 

42

%  

 

44

%  

 

  

 

  

Our research and development expenses were $8.2 million for the six months ended June 30, 2022, an increase of $2.2 million from research and development expenses of $6.0 million for the six months ended June 30, 2021. The increase was due primarily to a $1.5 million increase in salaries and related costs from growing headcount, a $0.5 million increase in stock-based compensation and a $0.2 million increase in materials and supplies related to product development efforts.

31

Selling, general and administrative expenses

Six Months Ended June 30, 

Change

 

    

2022

    

2021

    

Amount

    

%

 

(dollars in thousands)

 

Selling, general and administrative expenses

$

20,455

$

14,532

$

5,923

 

41

%

Percentage of total revenue

 

105

%

 

105

%

 

  

 

  

Our selling, general and administrative expenses were $20.5 million for the six months ended June 30, 2022, an increase of $5.9 million from selling, general and administrative expenses of $14.5 million for the six months ended June 30, 2021. The increase was due primarily to a $3.7 million increase in salaries and related costs from growing headcount, a $1.7 million increase in stock-based compensation, a $0.6 million increase in travel expenses, a $0.5 million increase in marketing activities and a $1.1 million net increase in all other costs. These increases were partially offset by a $1.7 million decrease in allowance for bad debt recorded in the three months ended June 30, 2021.

Other Income (Expense)

Interest expense

Interest expense decreased by $0.4 million for the six months ended June 30, 2022, from $0.4 million for the three months ended June 30, 2021. The decrease was primarily due to lower average outstanding borrowings during the three months ended June 30, 2022 and a loss on extinguishment of debt of $0.2 million recorded for the comparative prior year period.

Other income (expense), net

Other income (expense), net increased by $0.3 million for the six months ended June 30, 2022, from $0.2 million for the six months ended June 30, 2021. The increase was primarily due to a $0.2 million increase in interest earned from our higher cash and cash equivalent balances from the proceeds from the November 2021 Offering, as well as higher interest rates on our interest bearing accounts.

Liquidity and Capital Resources

Since our inception, we have incurred significant operating losses. To date, we have funded our operations primarily with proceeds from sales of redeemable preferred stock, borrowings under loan agreements and revenue from sales of our products and services and license and contract revenue, proceeds from our IPO in December 2020, and, most recently, with proceeds from the November 2021 Offering. As of June 30, 2022, we had cash and cash equivalents of $213.0 million. We believe that our existing cash and cash equivalents will enable us to fund our operating expenses, capital expenditure requirements and debt service payments for at least the next twelve months.

We have based this estimate on assumptions that may prove to be wrong, and we could utilize our available capital resources sooner than we expect. Our future funding requirements will depend on many factors, including:

market uptake of our products and growth into new and existing markets:
the cost of our research and development efforts to expand the applications of our current devices and to create enhanced products with our platform of technologies;
the cost of expanding our commercial operations, including distribution capabilities, and accelerating planned investments, such as hiring additional support, service, and sales management in Europe, Asia Pacific and Latin America, bolstering our infrastructure in these regions;
the cost of acquiring complementary businesses, products, services or technologies, when and if required;

32

the success of our existing collaborations and our ability to enter additional collaborations in the future;
the effect of competing technological and market developments; and
the level of our selling, general and administrative expenses.

On March 11, 2021, we entered into an Amended and Restated Loan and Security Agreement, or the 2021 Revolver, with Signature Bank, or the Lender, to replace our 2019 Loan and Security Agreement, or the 2019 Loan. The 2021 Revolver created a revolving line of credit totaling $25.0 million and eliminated the existing term loan. Borrowings under the revolving line of credit bear interest at an annual rate equal to the greater of (i) one-half percent (0.5%) above the prime rate or (ii) 4.0% and mature on March 11, 2024. Borrowings are collateralized by substantially all of our property, excluding intellectual property, which is subject to a negative pledge. The 2021 Revolver subjects us to various customary covenants, including requirements as to financial reporting and financial covenants (including an unrestricted minimum cash level of $10.0 million), and restrictions on our ability to dispose of our business or property, to change our line of business, to liquidate or dissolve, to enter into any change in control transaction, to merge or consolidate with any other entity or to acquire all or substantially all the capital stock or property of another entity, to incur additional indebtedness, to incur liens on our property, to pay any dividends or make other distributions on capital stock other than dividends payable solely in capital stock, to redeem capital stock, to enter into in-bound licensing agreements, to engage in transactions with affiliates, and to encumber our intellectual property. Events of default under the 2021 Revolver include failure to make payments when due, insolvency events, failure to comply with covenants or material adverse events with respect to us. Upon the occurrence of an event of default and until such event of default is no longer continuing, the annual interest rate will be 5.0% above the otherwise applicable rate.

The terms of the 2021 Revolver required that the existing term loan outstanding under the 2019 Loan be repaid with an advance under the line of credit. Accordingly, on March 11, 2021, we used $14.5 million of proceeds from the revolving line of credit to repay all amounts then due on the existing term loan. We also borrowed an additional $0.5 million from the 2021 Revolver in March 2021.

We may seek additional funding through private or public equity financings, debt financings, collaborations, strategic alliances and marketing, distribution or licensing arrangements. We cannot assure you that we will be able to obtain additional funds on acceptable terms, or at all. If we raise additional funds by issuing equity or equity-linked securities, our stockholders may experience dilution. Future debt financing, if available, may involve covenants, in addition to our existing covenants, restricting our operations or our ability to incur additional debt or potentially limiting our ability to obtain new debt financing or the refinance of our existing debt. Any debt or equity financing that we raise may contain terms that are not favorable to us or our stockholders. If we raise additional funds through collaboration and licensing arrangements with third parties, it may be necessary to relinquish some rights to our technologies or our products, or grant licenses on terms that are not favorable to us. If we do not have or are not able to obtain sufficient funds, we may have to delay development or commercialization of our products. We also may have to reduce marketing, customer support or other resources devoted to our products or cease operations.

Cash Flows

The following table summarizes our sources and uses of cash for each of the periods presented:

Six Months Ended June 30, 

    

2022

    

2021

(in thousands)

Cash used in operating activities

$

(10,876)

$

(16,938)

Cash used in investing activities

 

(689)

 

(625)

Cash provided by (used in) financing activities

 

597

 

(290)

Net decrease in cash, cash equivalents and restricted cash

$

(10,968)

$

(17,853)

Operating Activities

During the six months ended June 30, 2022, net cash used in operating activities was $10.9 million, primarily resulting from our net loss of $17.5 million, partially offset by net cash provided by changes in our operating assets and liabilities of $2.8 million and noncash charges of $3.8 million. Net cash provided by changes in our operating assets and liabilities for the six months ended June 30,

33

2022 consisted primarily of a $5.3 million increase from changes in accounts receivable and a $1.4 million increase from changes in deferred revenue, partially offset by a $3.9 million decrease from changes in inventory and a $1.0 million decrease from changes in accounts payable and accrued expenses.

During the six months ended June 30, 2021, net cash used in operating activities was $16.9 million, primarily resulting from our net loss of $13.5 million and net cash used by changes in our operating assets and liabilities of $6.6 million, partially offset by noncash charges of $3.1 million. Net cash used by changes in our operating assets and liabilities for the six months ended June 30, 2021 consisted primarily of a $3.9 million increase from changes in inventory, a $3.3 million increase from changes in prepaid expenses and other current and non-current assets, and a $0.2 million increase from changes in accounts receivable, partially offset by a $0.5 million increase from changes in deferred revenue, a $0.5 million increase from changes in accounts payable and a $0.5 million increase from changes in accrued expenses.

Investing Activities

During the six months ended June 30, 2022, net cash used in investing activities was $0.7 million, due to purchases of property and equipment.

During the six months ended June 30, 2021, net cash used in investing activities was $0.6 million, due to purchases of property and equipment.

Financing Activities

Cash provided by financing activities during the six months ended June 30, 2022, was $0.6 million, consisting primarily of proceeds from issuance of common stock upon option exercises. We also paid off and drew down $30.0 million under the 2021 Revolver resulting in no net proceeds by June 30, 2022.

Cash used in financing activities during the six months ended June 30, 2021, was $0.3 million, consisting primarily of payments of offering costs related to our IPO, partially offset by proceeds from issuance of common stock upon option exercise. We also received net proceeds from borrowings under the 2021 Revolver of $15.0 million. We used proceeds of $14.5 million from the 2021 Revolver to repay our previously outstanding borrowings under the 2019 Loan. Prior to repayment of our loan and security agreement, we had made principal payments of $0.5 million on the 2019 Loan.

Critical Accounting Policies and Significant Judgments and Estimates

Our condensed consolidated financial statements are prepared in accordance with generally accepted accounting principles in the United States, or GAAP. The preparation of our condensed consolidated financial statements and related disclosures requires us to make estimates and judgments that affect the reported amounts of assets, liabilities, revenue, costs and expenses and the disclosure of contingent assets and liabilities in our condensed consolidated financial statements. We base our estimates on historical experience, known trends and events and various other factors that we believe are reasonable under the circumstances, the results of which form the basis for making judgments about the carrying values of assets and liabilities that are not readily apparent from other sources. We evaluate our estimates and assumptions on an ongoing basis. Our actual results may differ from these estimates under different assumptions or conditions.

There have been no material changes to our critical accounting policies and estimates from those disclosed in Part II, Item 7, Management’s Discussion and Analysis of Financial Condition and Results of Operations, of our 2021 Form 10-K, as well as our consolidated financial statements.

Recently Issued Accounting Pronouncements

A description of recently issued accounting pronouncements that may potentially impact our financial position and results of operations is disclosed in Note 2 to our unaudited condensed consolidated financial statements included in this Quarterly Report on Form 10-Q and is incorporated herein by reference.

34

Item 3. Quantitative and Qualitative Disclosures About Market Risk.

We are a smaller reporting company, as defined in Rule 12b-2 under the Securities Exchange Act of 1934, as amended, for this reporting period and are not required to provide the information required under this item.

Item 4. Controls and Procedures.

Our management, with the participation of our Chief Executive Officer and Chief Financial Officer, has evaluated the effectiveness of our disclosure controls and procedures (as defined in Rules 13a- 15(e) and 15d- 15(e) under the Securities Exchange Act of 1934, as amended, or the Exchange Act), as of the end of the period covered by this Quarterly Report on Form 10-Q. The term “disclosure controls and procedures,” as defined in Rules 13a-15(e) and 15d-15(e) under the Exchange Act, means controls and other procedures of a company that are designed to ensure that information required to be disclosed by a company in the reports that it files or submits under the Exchange Act is recorded, processed, summarized and reported, within the time periods specified in the Securities and Exchange Commission’s rules and forms. Disclosure controls and procedures include, without limitation, controls and procedures designed to ensure that information required to be disclosed by a company in the reports that it files or submits under the Exchange Act is accumulated and communicated to the company’s management, including its principal executive and principal financial officers, or persons performing similar functions, as appropriate to allow timely decisions regarding required disclosure. Our management recognizes that any controls and procedures, no matter how well designed and operated, can provide only reasonable assurance of achieving their objectives and our management necessarily applies its judgment in evaluating the cost-benefit relationship of possible controls and procedures. Based on the evaluation of our disclosure controls and procedures as of the end of the period covered by this Quarterly Report on Form 10-Q, our principal executive officer and principal financial officer have concluded that as of such date, our disclosure controls and procedures were effective at a reasonable assurance level.

Changes in Internal Control over Financial Reporting

There were no changes in our internal control over financial reporting during our most recently completed fiscal quarter that have materially affected, or are reasonably likely to materially affect, our internal control over financial reporting.

35

PART II—OTHER INFORMATION

Item 1. Legal Proceedings.

The Company is not currently party to any material legal proceedings.

Item 1A. Risk Factors.

Our operations and financial results are subject to various risks and uncertainties. A detailed discussion of the risks that affect our business is included in the section titled “Item 1A. Risk Factors” of our Annual Report on Form 10-K for the year ended December 31, 2021, as filed with the SEC on March 11, 2022, or 2021 Annual Report. There are no material changes to our risk factors discussed in our 2021 Annual Report.

Item 2. Unregistered Sales of Equity Securities and Use of Proceeds.

Unregistered Sales of Equity Securities

None.

Use of Proceeds

On December 22, 2020, we completed the IPO of our common stock pursuant to which we issued and sold 7,475,000 shares of our common stock, inclusive of 975,000 shares we sold pursuant to the full exercise of the underwriters’ option to purchase additional shares, at a price to the public of $20.00 per share.

The offer and sale of all of the shares of our common stock in our IPO were registered under the Securities Act pursuant to a registration statement on Form S-1, as amended (File No. 333-250954), which was declared effective by the SEC on December 17, 2020, and a registration statement on Form S-1MEF (File No. 333-251441), which was automatically effective upon filing with the SEC on December 17, 2020. Following the sale of all of the shares offered in connection with the closing of our IPO, the offering terminated. Cowen and Company, LLC and SVB Leerink LLC acted as lead book-running managers, and William Blair & Company, L.L.C. and Stifel, Nicolaus & Company, Incorporated acted as book-running managers for the IPO.

We received aggregate gross proceeds from our IPO of $149.5 million, or aggregate net proceeds of $136.6 million after deducting underwriting discounts and commissions and other offering expenses. None of the underwriting discounts and commissions or offering expenses were incurred or paid, directly or indirectly, to directors or officers of ours or their associates or to persons owning 10% or more of our common stock or to any of our affiliates. Cash used since the IPO is described elsewhere in the “Management’s Discussion and Analysis of Financial Condition and Results of Operations” section of our periodic reports filed with the SEC. There has been no material change in the planned use of IPO proceeds from that described in the final prospectus for the IPO filed with the SEC pursuant to Rule 424(b)(4) under the Securities Act of 1933, as amended, on December 18, 2020.

Issuer Purchases of Equity Securities

None.

Item 3. Defaults Upon Senior Securities.

None.

Item 4. Mine Safety Disclosures.

None.

36

Item 5. Other Information.

None.

37

Item 6. Exhibits.

 

Exhibit

Number

    

Description 

31.1

Certification of Chief Executive Officer of the Registrant Pursuant to Section 302 of the Sarbanes-Oxley Act of 2002

31.2

Certification of Chief Financial Officer of the Registrant Pursuant to Section 302 of the Sarbanes-Oxley Act of 2002

32.1†

Certification of Chief Executive Officer of the Registrant Pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002

32.2†

Certification of Chief Financial Officer of the Registrant Pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002

101.INS

Inline XBRL Instance Document

101.SCH

Inline XBRL Taxonomy Extension Schema Document

101.CAL

Inline XBRL Taxonomy Extension Calculation Linkbase Document

101.LAB

Inline XBRL Taxonomy Extension Labels Linkbase Document

101.PRE

Inline XBRL Taxonomy Extension Presentation Linkbase Document

101.DEF

Inline XBRL Taxonomy Extension Definition Linkbase Document

104

Cover Page Data File (the cover page XBRL tags are embedded within the iXBRL document).

+

Portions of this exhibit (indicated by asterisks) were omitted in accordance with the rules of the Securities and Exchange Commission.

The certifications attached as Exhibits 32.1 and 32.2 that accompany this Quarterly Report on Form 10-Q, are not deemed filed with the Securities and Exchange Commission and are not to be incorporated by reference into any filing of 908 Devices Inc. under the Securities Act of 1933, as amended, or the Securities Exchange Act of 1934, as amended, whether made before or after the date of this Quarterly Report on Form 10-Q, irrespective of any general incorporation language contained in such filing.

38

SIGNATURES

Pursuant to the requirements of the Securities Exchange Act of 1934, the registrant has duly caused this report to be signed on its behalf by the undersigned thereunto duly authorized.

908 DEVICES INC.

Date: August 9, 2022

By:

/s/ Kevin J. Knopp, Ph.D. 

 

Kevin J. Knopp, Ph.D.

Chief Executive Officer

(Principal Executive Officer)

Date: August 9, 2022

By:

/s/ Joseph H. Griffith IV 

 

Joseph H. Griffith IV

Chief Financial Officer

(Principal Financial Officer)

39

EX-31.1 2 mass-20220630xex31d1.htm EX-31.1

Exhibit 31.1

CERTIFICATION OF PRINCIPAL EXECUTIVE OFFICER

PURSUANT TO SECTION 302 OF THE SARBANES-OXLEY ACT OF 2002

I, Kevin J. Knopp, certify that:

1. I have reviewed this Quarterly Report on Form 10-Q of 908 Devices 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(s) 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)) 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(s) 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: August 9, 2022

/s/ Kevin J. Knopp, Ph.D. 

Kevin J. Knopp, Ph.D.

Chief Executive Officer

(Principal Executive Officer)


EX-31.2 3 mass-20220630xex31d2.htm EX-31.2

Exhibit 31.2

CERTIFICATION OF PRINCIPAL FINANCIAL OFFICER

PURSUANT TO SECTION 302 OF THE SARBANES-OXLEY ACT OF 2002

I, Joseph H. Griffith IV, certify that:

1. I have reviewed this Quarterly Report on Form 10-Q of 908 Devices 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(s) 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)) 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(s) 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: August 9, 2022

/s/ Joseph H. Griffith IV 

Joseph H. Griffith IV

Chief Financial Officer

(Principal Financial Officer)


EX-32.1 4 mass-20220630xex32d1.htm EX-32.1

Exhibit 32.1

CERTIFICATION OF CHIEF EXECUTIVE OFFICER

PURSUANT TO 18 U.S.C. SECTION 1350,

AS ADOPTED PURSUANT TO SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002

I, Kevin J. Knopp, certify pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that, to my knowledge, the Quarterly Report on Form 10-Q of 908 Devices Inc. for the fiscal quarter ended June 30, 2022 fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934 and the information contained in such Form 10-Q fairly presents, in all material respects, the financial condition and results of operations of 908 Devices Inc.

/s/ Kevin J. Knopp, Ph.D.

Kevin J. Knopp, Ph.D.

Chief Executive Officer

(Principal Executive Officer)

August 9, 2022


EX-32.2 5 mass-20220630xex32d2.htm EX-32.2

Exhibit 32.2

CERTIFICATION OF 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, Joseph H. Griffith IV, certify pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that, to my knowledge, the Quarterly Report on Form 10-Q of 908 Devices Inc. for the fiscal quarter ended June 30, 2022 fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934 and the information contained in such Form 10-Q fairly presents, in all material respects, the financial condition and results of operations of 908 Devices Inc.

/s/ Joseph H. Griffith IV

Joseph H. Griffith IV

Chief Financial Officer

(Principal Financial Officer)

August 9, 2022


EX-101.SCH 6 mass-20220630.xsd EX-101.SCH 99900 - Disclosure - Standard And Custom Axis Domain Defaults link:presentationLink link:calculationLink link:definitionLink 00100 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS link:presentationLink link:calculationLink link:definitionLink 00200 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE LOSS link:presentationLink link:calculationLink link:definitionLink 00400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS link:presentationLink link:calculationLink link:definitionLink 00405 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 40401 - Disclosure - Inventory (Details) link:presentationLink link:calculationLink link:definitionLink 40501 - Disclosure - Accrued Expenses (Details) link:presentationLink link:calculationLink link:definitionLink 00105 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 00300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY link:presentationLink link:calculationLink link:definitionLink 40101 - Disclosure - Nature of the Business and Basis of Presentation (Details) link:presentationLink link:calculationLink link:definitionLink 40201 - Disclosure - Summary of Significant Accounting Policies - Risk of Concentrations of Credit, Significant Customers and Significant Suppliers (Details) link:presentationLink link:calculationLink link:definitionLink 40202 - Disclosure - Summary of Significant Accounting Policies - Accounts Receivable (Details) link:presentationLink link:calculationLink link:definitionLink 40203 - Disclosure - Summary of Significant Accounting Policies - Deferred Revenue (Details) link:presentationLink link:calculationLink link:definitionLink 40204 - Disclosure - Summary of Significant Accounting Policies - Deferred Revenue Expected To Be Recognized (Details) link:presentationLink link:calculationLink link:definitionLink 40204 - Disclosure - Summary of Significant Accounting Policies - Deferred Revenue Expected To Be Recognized Default (Details) link:presentationLink link:calculationLink link:definitionLink 40205 - Disclosure - Summary of Significant Accounting Policies - License And Contract Revenue (Details) link:presentationLink link:calculationLink link:definitionLink 40206 - Disclosure - Summary of Significant Accounting Policies - Disaggregated Revenue (Details) link:presentationLink link:calculationLink link:definitionLink 40301 - Disclosure - Fair Value Measurements (Details) link:presentationLink link:calculationLink link:definitionLink 40601 - Disclosure - Long-Term Debt (Details) link:presentationLink link:calculationLink link:definitionLink 40701 - Disclosure - Equity and Net Income (Loss) per Share (Details) link:presentationLink link:calculationLink link:definitionLink 40702 - Disclosure - Equity and Net Income (Loss) per Share - Anti-dilutive securities (Details) link:presentationLink link:calculationLink link:definitionLink 40801 - Disclosure - Stock-Based Compensation - Stock-based compensation expense (Details) link:presentationLink link:calculationLink link:definitionLink 40901 - Disclosure - Commitments and Contingencies (Details) link:presentationLink link:calculationLink link:definitionLink 41001 - Disclosure - Subsequent events (Details) link:presentationLink link:calculationLink link:definitionLink 00090 - Document - Document and Entity Information link:presentationLink link:calculationLink link:definitionLink 10101 - Disclosure - Nature of the Business and Basis of Presentation link:presentationLink link:calculationLink link:definitionLink 10201 - Disclosure - Summary of Significant Accounting Policies link:presentationLink link:calculationLink link:definitionLink 10301 - Disclosure - Fair Value Measurements link:presentationLink link:calculationLink link:definitionLink 10401 - Disclosure - Inventory link:presentationLink link:calculationLink link:definitionLink 10501 - Disclosure - Accrued Expenses link:presentationLink link:calculationLink link:definitionLink 10601 - Disclosure - Long-Term Debt link:presentationLink link:calculationLink link:definitionLink 10701 - Disclosure - Equity and Net Income (Loss) per Share link:presentationLink link:calculationLink link:definitionLink 10801 - Disclosure - Stock-Based Compensation link:presentationLink link:calculationLink link:definitionLink 10901 - Disclosure - Commitments and Contingencies link:presentationLink link:calculationLink link:definitionLink 11001 - Disclosure - Subsequent events link:presentationLink link:calculationLink link:definitionLink 20202 - Disclosure - Summary of Significant Accounting Policies (Policies) link:presentationLink link:calculationLink link:definitionLink 30203 - Disclosure - Summary of Significant Accounting Policies (Tables) link:presentationLink link:calculationLink link:definitionLink 30303 - Disclosure - Fair Value Measurements (Tables) link:presentationLink link:calculationLink link:definitionLink 30403 - Disclosure - Inventory (Tables) link:presentationLink link:calculationLink link:definitionLink 30503 - Disclosure - Accrued Expenses (Tables) link:presentationLink link:calculationLink link:definitionLink 30703 - Disclosure - Equity and Net Income (Loss) per Share (Tables) link:presentationLink link:calculationLink link:definitionLink 30803 - Disclosure - Stock-Based Compensation (Tables) link:presentationLink link:calculationLink link:definitionLink 40502 - Disclosure - Accrued Expenses - Changes in product warranty obligation (Details) link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 7 mass-20220630_cal.xml EX-101.CAL EX-101.DEF 8 mass-20220630_def.xml EX-101.DEF EX-101.LAB 9 mass-20220630_lab.xml EX-101.LAB EX-101.PRE 10 mass-20220630_pre.xml EX-101.PRE XML 11 R1.htm IDEA: XBRL DOCUMENT v3.22.2
Document and Entity Information - shares
6 Months Ended
Jun. 30, 2022
Aug. 04, 2022
Document and Entity Information    
Entity Registrant Name 908 DEVICES INC.  
Document Type 10-Q  
Document Quarterly Report true  
Document Transition Report false  
Document Period End Date Jun. 30, 2022  
Entity File Number 001-39815  
Entity Incorporation, State or Country Code DE  
Entity Tax Identification Number 45-4524096  
Entity Address, Address Line One 645 Summer Street  
Entity Address, City or Town Boston  
Entity Address State Or Province MA  
Entity Address, Postal Zip Code 02210  
City Area Code 857  
Local Phone Number 254-1500  
Title of 12(b) Security Common Stock, par value $0.001 per share  
Trading Symbol MASS  
Security Exchange Name NASDAQ  
Entity Current Reporting Status Yes  
Entity Interactive Data Current Yes  
Entity Filer Category Non-accelerated Filer  
Entity Small Business true  
Entity Emerging Growth Company true  
Entity Ex Transition Period false  
Entity Shell Company false  
Entity Common Stock, Shares Outstanding   31,590,177
Entity Central Index Key 0001555279  
Current Fiscal Year End Date --12-31  
Document Fiscal Year Focus 2022  
Document Fiscal Period Focus Q2  
Amendment Flag false  
XML 12 R2.htm IDEA: XBRL DOCUMENT v3.22.2
CONDENSED CONSOLIDATED BALANCE SHEETS - USD ($)
$ in Thousands
Jun. 30, 2022
Dec. 31, 2021
Current assets:    
Cash and cash equivalents $ 212,994 $ 224,073
Accounts receivable, net of allowance for doubtful accounts of $1,750 11,098 16,375
Inventory 11,178 7,918
Prepaid expenses and other current assets 3,408 4,527
Total current assets 238,678 252,893
Operating lease, right-of-use assets 4,583 5,182
Property and equipment, net 2,419 1,603
Other long-term assets 1,315 1,228
Total assets 246,995 260,906
Current liabilities:    
Accounts payable 1,234 1,371
Accrued expenses 5,957 6,961
Deferred revenue 6,841 5,160
Operating lease liabilities 1,402 1,344
Total current liabilities 15,434 14,836
Long-term debt 15,000 15,000
Operating lease liabilities, net of current portion 3,797 4,508
Deferred revenue, net of current portion 11,649 11,958
Total liabilities 45,880 46,302
Commitments and contingencies (Note 9)
Stockholders' equity:    
Preferred stock, $0.001 par value; 5,000,000 shares authorized, no shares issued or outstanding at June 30, 2022 and December 31, 2021, respectively
Common stock, $0.001 par value; 100,000,000 shares authorized; 31,531,115 shares and 31,077,004 shares issued and outstanding at June 30, 2022 and December 31, 2021, respectively 32 31
Additional paid-in capital 319,234 315,210
Accumulated deficit (118,151) (100,637)
Total stockholders' equity 201,115 214,604
Total liabilities and stockholders' equity $ 246,995 $ 260,906
XML 13 R3.htm IDEA: XBRL DOCUMENT v3.22.2
CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) - USD ($)
$ in Thousands
Jun. 30, 2022
Dec. 31, 2021
CONDENSED CONSOLIDATED BALANCE SHEETS    
Allowance for doubtful accounts $ 1,750 $ 1,750
Preferred stock, par value $ 0.001 $ 0.001
Preferred stock, shares authorized 5,000,000 5,000,000
Preferred stock, shares issued 0 0
Preferred stock, shares outstanding 0 0
Common stock, par value $ 0.001 $ 0.001
Common stock, shares authorized 100,000,000 100,000,000
Common stock, shares issued 31,531,115 31,077,004
Common stock, shares outstanding 31,531,115 31,077,004
XML 14 R4.htm IDEA: XBRL DOCUMENT v3.22.2
CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE LOSS - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2022
Jun. 30, 2021
Jun. 30, 2022
Jun. 30, 2021
Revenue $ 11,106 $ 8,277 $ 19,412 $ 13,820
Cost of revenue 4,472 3,898 8,649 6,533
Gross profit 6,634 4,379 10,763 7,287
Operating expenses:        
Research and development 4,293 3,055 8,198 6,020
Selling, general and administrative 10,710 8,779 20,455 14,532
Total operating expenses 15,003 11,834 28,653 20,552
Loss from operations (8,369) (7,455) (17,890) (13,265)
Other income (expense):        
Interest expense (15) (39) (35) (415)
Other income, net 285 70 411 161
Total other income (expense), net 270 31 376 (254)
Net loss and comprehensive loss $ (8,099) $ (7,424) $ (17,514) $ (13,519)
Net loss per share, basic $ (0.26) $ (0.27) $ (0.56) $ (0.49)
Net loss per share, diluted $ (0.26) $ (0.27) $ (0.56) $ (0.49)
Weighted average common shares outstanding, basic 31,413,431 27,335,637 31,312,559 27,313,125
Weighted average common shares outstanding, diluted 31,413,431 27,335,637 31,312,559 27,313,125
Product and service revenue        
Revenue $ 10,608 $ 7,915 $ 18,637 $ 13,272
Cost of revenue 4,361 3,846 8,402 6,406
License and contract revenue        
Revenue 498 362 775 548
Cost of revenue $ 111 $ 52 $ 247 $ 127
XML 15 R5.htm IDEA: XBRL DOCUMENT v3.22.2
CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY - USD ($)
$ in Thousands
Common Stock
Additional Paid-in Capital
Accumulated Deficit
Total
Beginning balance at Dec. 31, 2020 $ 27 $ 217,482 $ (78,468) $ 139,041
Beginning balance (in shares) at Dec. 31, 2020 27,273,095      
Increase (Decrease) in Stockholders' Equity        
Issuance of common stock upon exercise of stock options   27   27
Issuance of common stock upon exercise of stock options (in shares) 24,776      
Stock-based compensation expense   339   339
Net loss     (6,095) (6,095)
Ending balance at Mar. 31, 2021 $ 27 217,848 (84,563) 133,312
Ending balance (in shares) at Mar. 31, 2021 27,297,871      
Beginning balance at Dec. 31, 2020 $ 27 217,482 (78,468) 139,041
Beginning balance (in shares) at Dec. 31, 2020 27,273,095      
Increase (Decrease) in Stockholders' Equity        
Net loss       (13,519)
Ending balance at Jun. 30, 2021 $ 28 218,626 (91,987) 126,667
Ending balance (in shares) at Jun. 30, 2021 27,548,105      
Beginning balance at Dec. 31, 2020 $ 27 217,482 (78,468) 139,041
Beginning balance (in shares) at Dec. 31, 2020 27,273,095      
Increase (Decrease) in Stockholders' Equity        
Net loss       (22,200)
Ending balance at Dec. 31, 2021 $ 31 315,210 (100,637) 214,604
Ending balance (in shares) at Dec. 31, 2021 31,077,004      
Beginning balance at Mar. 31, 2021 $ 27 217,848 (84,563) 133,312
Beginning balance (in shares) at Mar. 31, 2021 27,297,871      
Increase (Decrease) in Stockholders' Equity        
Issuance of common stock upon exercise of stock options $ 1 297   298
Issuance of common stock upon exercise of stock options (in shares) 250,234      
Stock-based compensation expense   481   481
Net loss     (7,424) (7,424)
Ending balance at Jun. 30, 2021 $ 28 218,626 (91,987) 126,667
Ending balance (in shares) at Jun. 30, 2021 27,548,105      
Beginning balance at Dec. 31, 2021 $ 31 315,210 (100,637) 214,604
Beginning balance (in shares) at Dec. 31, 2021 31,077,004      
Increase (Decrease) in Stockholders' Equity        
Issuance of common stock upon exercise of stock options   324   324
Issuance of common stock upon exercise of stock options (in shares) 243,842      
Stock-based compensation expense   1,289   1,289
Vesting of restricted stock units 12,936      
Net loss     (9,415) (9,415)
Ending balance at Mar. 31, 2022 $ 31 316,823 (110,052) 206,802
Ending balance (in shares) at Mar. 31, 2022 31,333,782      
Beginning balance at Dec. 31, 2021 $ 31 315,210 (100,637) 214,604
Beginning balance (in shares) at Dec. 31, 2021 31,077,004      
Increase (Decrease) in Stockholders' Equity        
Net loss       (17,514)
Ending balance at Jun. 30, 2022 $ 32 319,234 (118,151) 201,115
Ending balance (in shares) at Jun. 30, 2022 31,531,115      
Beginning balance at Mar. 31, 2022 $ 31 316,823 (110,052) 206,802
Beginning balance (in shares) at Mar. 31, 2022 31,333,782      
Increase (Decrease) in Stockholders' Equity        
Issuance of common stock upon exercise of stock options $ 1 275   276
Issuance of common stock upon exercise of stock options (in shares) 164,638      
Stock-based compensation expense   1,894   1,894
Issuance of common stock upon ESPP purchase of stock options   242   242
Issuance of common stock upon ESPP purchase of stock options (in shares) 16,052      
Vesting of restricted stock units 16,643      
Net loss     (8,099) (8,099)
Ending balance at Jun. 30, 2022 $ 32 $ 319,234 $ (118,151) $ 201,115
Ending balance (in shares) at Jun. 30, 2022 31,531,115      
XML 16 R6.htm IDEA: XBRL DOCUMENT v3.22.2
CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS - USD ($)
$ in Thousands
6 Months Ended
Jun. 30, 2022
Jun. 30, 2021
Cash flows from operating activities:    
Net loss $ (17,514) $ (13,519)
Adjustments to reconcile net loss to net cash used in operating activities:    
Depreciation and amortization expense 578 375
Stock-based compensation expense 3,183 820
Noncash interest expense and loss on extinguishment of debt 6 171
Provision for inventory obsolescence 39 48
Provision for doubtful accounts   1,725
Changes in operating assets and liabilities:    
Accounts receivable, net 5,277 (224)
Inventory (3,857) (3,943)
Prepaid expenses and other current assets 1,119 (2,188)
Other long-term assets 18 (1,177)
Accounts payable and accrued expenses (1,043) 482
Deferred revenue 1,372 519
Right-of-use operating lease assets 599 551
Operating lease liabilities (653) (578)
Net cash used in operating activities (10,876) (16,938)
Cash flows from investing activities:    
Purchases of property and equipment (689) (625)
Net cash used in investing activities (689) (625)
Cash flows from financing activities:    
Payments for withholding taxes on vested awards (133)  
Proceeds from issuance of common stock upon option exercise 842 325
Payments of public offering costs (112) (576)
Proceeds from borrowings on revolving line of credit 30,000 15,000
Repayment of notes payable (30,000) (15,000)
Payments of debt issuance costs   (39)
Net cash provided by (used in) financing activities 597 (290)
Net decrease in cash, cash equivalents and restricted cash (10,968) (17,853)
Cash, cash equivalents and restricted cash at beginning of period 224,133 159,227
Cash, cash equivalents and restricted cash at end of period 213,165 141,374
Supplemental disclosure of noncash investing and financing information:    
Property and equipment included in Account payable 147  
Transfers of inventory to property and equipment $ 558 $ 510
XML 17 R7.htm IDEA: XBRL DOCUMENT v3.22.2
CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (Parenthetical) - USD ($)
$ in Thousands
Jun. 30, 2022
Jun. 30, 2021
Reconciliation of cash, cash equivalents and restricted cash:    
Cash and cash equivalents $ 212,994 $ 141,314
Restricted cash included in prepaid expenses and other current assets 60 60
Restricted cash included in other long-term assets 111  
Total cash, cash equivalents and restricted cash shown in the statement of cash flows $ 213,165 $ 141,374
XML 18 R8.htm IDEA: XBRL DOCUMENT v3.22.2
Nature of the Business and Basis of Presentation
6 Months Ended
Jun. 30, 2022
Nature of the Business and Basis of Presentation  
Nature of the Business and Basis of Presentation

1. Nature of the Business and Basis of Presentation

908 Devices Inc. (the “Company”) was incorporated in the State of Delaware on February 10, 2012. The Company is a commercial-stage technology company providing a suite of purpose-built handheld and desktop mass spectrometry devices for the point-of-need to interrogate unknown and invisible materials in a broad array of markets including life sciences research, bioprocessing, industrial biotech, forensics and adjacent markets.

The Company is subject to risks and uncertainties common to technology companies in the device industry and of similar size, including, but not limited to, development by competitors of new technological innovations, dependence on key personnel, protection of proprietary technology, compliance with government regulations, uncertainty of market acceptance of products, and the need to obtain additional financing to fund operations. Potential risks and uncertainties also include, without limitation, uncertainties regarding the duration and magnitude of the impact of the COVID-19 pandemic on the Company’s business and the economy generally. Products currently under development will require additional research and development efforts prior to commercialization and will require additional capital and adequate personnel and infrastructure. The Company’s research and development may not be successfully completed, adequate protection for the Company’s technology may not be obtained, the Company may not obtain necessary government regulatory approval, and approved products may not prove commercially viable. The Company operates in an environment of rapid change in technology and competition.

In March 2020, the World Health Organization declared the global novel coronavirus disease 2019 (“COVID-19”) outbreak a pandemic. The impact of this pandemic has been and will likely continue to be extensive in many aspects of society, which has resulted in and will likely continue to result in significant disruptions to the global economy, as well as businesses and capital markets around the world. The Company cannot at this time predict the specific extent, duration, or full impact that the COVID-19 pandemic will have on its future financial condition and operations. The impact of the COVID-19 coronavirus outbreak on the Company’s financial performance will depend on future developments, including the duration and spread of the pandemic and related governmental advisories and restrictions. These developments and the impact of COVID-19 on the financial markets and the overall economy are highly uncertain and cannot be predicted. If the financial markets and/or the overall economy are impacted for an extended period, the Company’s results may be materially adversely affected.

Future impacts to the Company’s business as a result of COVID-19 could include disruptions to the Company’s manufacturing operations and supply chain caused by facility closures, reductions in operating hours, staggered shifts and other social distancing efforts; labor shortages; decreased productivity and unavailability of materials or components; limitations on its employees’ and customers’ ability to travel, and delays in shipments to and from affected countries and within the United States.

While the Company maintains an inventory of finished products and raw materials used in its products, a prolonged pandemic could lead to shortages in the raw materials necessary to manufacture its products. An additional potential impact to the Company’s business is the negative impact to the Company’s customers’ and potential customer’s ability to make investments and timely payments for purchased products as a result of allocating resources to address COVID-19 issues.

On December 22, 2020, the Company completed its initial public offering (“IPO”), pursuant to which it issued and sold 7,475,000 shares of common stock, inclusive of 975,000 shares pursuant to the full exercise of the underwriters’ option to purchase additional shares. The Company received net proceeds of $136.6 million after deducting underwriting discounts and commissions and other offering costs. Upon the closing of the IPO, all of the shares of the Company’s outstanding redeemable convertible preferred stock then outstanding automatically converted into 14,691,929 shares of common stock.

On November 15, 2021, the Company completed an underwritten public offering, pursuant to which it issued and sold 3,150,000 shares of common stock at a public offering price of $32.00 per share, or the November 2021 Offering. The Company received net proceeds of $94.4 million after deducting underwriting discounts and commissions and other offering costs.

Basis of Presentation

The Company’s condensed consolidated financial statements have been prepared in conformity with accounting principles generally accepted in the United States of America (“GAAP”). Any reference in these notes to applicable guidance is meant to refer to the authoritative GAAP as found in the Accounting Standards Codification (“ASC”) and Accounting Standards Update (“ASU”) of the Financial Accounting Standards Board (“FASB”).

The condensed consolidated financial statements include the accounts of the Company and its wholly owned subsidiary, 908 Devices Securities Corporation. All intercompany balances and transactions have been eliminated.

The accompanying condensed consolidated financial statements have been prepared based on continuity of operations, realization of assets and the satisfaction of liabilities and commitments in the ordinary course of business. The Company has incurred recurring losses since inception, including net losses of $17.5 million for the six months ended June 30, 2022 and $22.2 million for the year ended December 31, 2021. As of June 30, 2022, the Company had an accumulated deficit of $118.2 million. The Company expects to continue to generate operating losses in the foreseeable future. The Company expects that its cash and cash equivalents and revenue from product and service will be sufficient to fund its operating expenses and capital expenditure requirements for at least 12 months from the issuance date of the condensed consolidated financial statements. The Company may seek additional funding through private or public equity financings, debt financings, collaborations, strategic alliances and marketing, distribution or licensing arrangements. The Company may not be able to obtain financing on acceptable terms, or at all, and the Company may not be able to enter into collaborations or other arrangements. The terms of any financing may adversely affect the holdings or the rights of the Company’s stockholders. If the Company is unable to obtain funding, the Company could be forced to delay, reduce or eliminate some or all of its research and development programs, product expansion or commercialization efforts, or the Company may be unable to continue operations.

XML 19 R9.htm IDEA: XBRL DOCUMENT v3.22.2
Summary of Significant Accounting Policies
6 Months Ended
Jun. 30, 2022
Summary of Significant Accounting Policies  
Summary of Significant Accounting Policies

2. Summary of Significant Accounting Policies

Unaudited Condensed Interim Financial Information

The condensed consolidated balance sheet at December 31, 2021 was derived from audited consolidated financial statements but does not include all disclosures required by GAAP. The accompanying unaudited condensed consolidated financial statements as of June 30, 2022 and for the three and six months ended June 30, 2022 and 2021 have been prepared by the Company pursuant to the rules and regulations of the Securities and Exchange Commission (“SEC”) for interim financial statements. Certain information and footnote disclosures normally included in the consolidated financial statements prepared in accordance with GAAP have been condensed or omitted pursuant to such rules and regulations. Therefore, these condensed consolidated financial statements should be read in conjunction with the Company’s audited consolidated financial statements and the notes thereto for the year ended December 31, 2021 included in the Company’s Annual Report on Form 10-K for the year ended December 31, 2021 on file with the SEC. In the opinion of management, all adjustments, consisting only of normal recurring adjustments necessary for a fair statement of the Company’s financial position as of June 30, 2022 and results of operations for the three and six months ended June 30, 2022 and 2021 and cash flows for the six months ended June 30, 2022 and 2021 have been made. The Company’s results of operations for the three and six months ended June 30, 2022 are not necessarily indicative of the results of operations that may be expected for the year ending December 31, 2022 or any other period.

Use of Estimates

The preparation of financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities, the disclosure of contingent assets and liabilities at the date of the financial statements, and the reported amounts of revenue and expenses during the reporting periods. Significant estimates and assumptions reflected in these condensed consolidated financial statements include, but are not limited to, revenue recognition and accounts receivable, the valuation of inventory and the valuation of stock-based awards. The Company bases its estimates on historical experience, known trends and other market-specific or other relevant factors that it believes to be reasonable under the circumstances. Due to the COVID-19 pandemic, there has been uncertainty and disruption in the global economy and financial markets. The Company is not aware of any specific event or circumstance that would require further updates to its estimates or judgments or a revision of the carrying value of its assets or liabilities as of the date of issuance of these condensed consolidated financial statements. These estimates may change, as new events occur and additional information is obtained. On an ongoing basis, management evaluates its estimates as there are changes in circumstances, facts and experience. Changes in estimates are recorded in the period in which they become known. Actual results may differ from those estimates or assumptions.

Concentrations of Credit Risk and of Significant Customers

Financial instruments that potentially expose the Company to concentrations of credit risk consist primarily of cash and cash equivalents and accounts receivable. The Company maintains its cash and cash equivalents with two financial institutions that management believes to be of high credit quality. The Company has not experienced any other-than-temporary losses with respect to its cash and cash equivalents and does not believe that it is subject to unusual credit risk beyond the normal credit risk associated with commercial banking relationships.

Significant customers are those that accounted for 10% or more of the Company’s total revenue or accounts receivable. For the three months ended June 30, 2022 and 2021, one customer represented 17% and 14% of total revenue, respectively. For the six months ended June 30, 2022 and 2021, one customer represented 19% and 16% of total revenue, respectively. As of June 30, 2022, one customer accounted for 13% of gross accounts receivable. As of December 31, 2021, two customers accounted for 63% and 11%, respectively, of gross accounts receivable.

The credit and economic conditions within countries in Europe, Middle East and Africa that the Company does business with have been weak in recent years. These conditions have continued to deteriorate as a result of COVID-19 and may continue to increase the average length of time that it takes to collect on the accounts receivables outstanding in these countries. As of June 30, 2022, the gross accounts receivable balance from these countries amounted to $3.2 million, of which $1.7 million is more than 90 days past due and for which the Company has provided for an allowance for doubtful accounts of $1.7 million.

Certain of the components included in the Company’s products are obtained from a sole source, a single source or a limited group of suppliers. Although the Company seeks to reduce dependence on those limited sources of suppliers and manufacturers, the partial or complete loss of certain of these sources, or the requirement to establish a new supplier for the components, could have a material adverse effect on the Company’s operating results, financial condition and cash flows and damage its customer relationships.

Accounts Receivable

The Company provides credit to customers in the ordinary course of business and believes its credit policies are prudent and reflect industry practices and business risk. Management reviews accounts receivable on a periodic basis and reserves for receivables in the Company’s allowance for doubtful accounts on a specific identification basis when they are determined to be uncollectible. After the Company has exhausted all collection efforts, the outstanding receivable is written off against the allowance. In June 2021, the Company deemed certain receivables from a customer in the Middle East uncollectible due to credit and economic conditions, including the impact of COVID-19, and recorded a provision for bad debts of $1.7 million.

Fair Value Measurements

Certain assets and liabilities are carried at fair value under GAAP. Fair value is defined 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. Valuation techniques used to measure fair value must maximize the use of observable inputs and minimize the use of unobservable inputs. Financial assets and liabilities carried at fair

value are to be classified and disclosed in one of the following three levels of the fair value hierarchy, of which the first two are considered observable and the last is considered unobservable:

Level 1 — Quoted prices in active markets for identical assets or liabilities.
Level 2 — Observable inputs (other than Level 1 quoted prices), such as quoted prices in active markets for similar assets or liabilities, quoted prices in markets that are not active for identical or similar assets or liabilities, or other inputs that are observable or can be corroborated by observable market data.
Level 3 — Unobservable inputs that are supported by little or no market activity and that are significant to determining the fair value of the assets or liabilities, including pricing models, discounted cash flow methodologies and similar techniques.

The Company’s cash equivalents are carried at fair value, determined according to the fair value hierarchy described above (see Note 3). The carrying values of the Company’s accounts receivable, unbilled receivables, accounts payable and accrued expenses approximate their fair values due to the short-term nature of these assets and liabilities. The carrying value of the Company’s long-term debt approximates its fair value (a level 2 measurement) at each balance sheet date due to its variable interest rate, which approximates a market interest rate.

Revenue Recognition

The Company recognizes revenue from sales to customers under ASC 606, Revenue from Contracts with Customers (“ASC 606”), by applying the following five steps: (1) identification of the contract, or contracts, with a customer, (2) identification of the performance obligations in the contract, (3) determination of the transaction price, (4) allocation of the transaction price to the performance obligations in the contract and (5) recognition of revenue when, or as, performance obligations are satisfied.

For a contract with multiple performance obligations, the Company allocates the contract’s transaction price to each performance obligation on a relative standalone selling price basis using the Company’s best estimate of the standalone selling price of each distinct product or service in the contract. The primary method used to estimate standalone selling price is the price observed in standalone sales to customers; however, when prices in standalone sales are not available the Company may use third party pricing for similar products or services or estimate the standalone selling price, which is set by management. Allocation of the transaction price is determined at the contract’s inception and is not updated to reflect changes between contract inception and when the performance obligations are satisfied.

Product and Service Revenue

The Company derives product and service revenue primarily from the sale of handheld and desktop products and related consumables and services. Revenue is recognized when control of the promised products, consumables or services is transferred to the Company’s customers, in an amount that reflects the consideration the Company expects to be entitled to in exchange for those products, consumables or services (the transaction price). A performance obligation is a promise in a contract to transfer a distinct product or service to a customer and is the unit of accounting under ASC 606. For devices and consumables sold by the Company, control transfers to the customer at a point in time. To indicate the transfer of control, the Company must have a present right to payment, legal title must have passed to the customer, the customer must have the significant risks and rewards of ownership, and where acceptance is other than perfunctory, the customer must have accepted the product or service. The Company’s principal terms of sale are freight on board (“FOB”) shipping point, or equivalent, and, as such, the Company primarily transfers control and records revenue for product sales upon shipment. Sales arrangements with delivery terms that are not FOB shipping point are not recognized upon shipment and the transfer of control for revenue recognition is evaluated based on the associated shipping terms and customer obligations. If a performance obligation to the customer with respect to a sales transaction remains to be fulfilled following shipment (typically installation or acceptance by the customer), revenue recognition for that performance obligation is deferred until such commitments have been fulfilled. For extended warranty and support, control transfers to the customer over the term of the arrangement. Revenue for extended warranty and support is recognized based upon the period of time elapsed under the arrangement as this period represents the transfer of benefits or services under the agreement.

The Company recognizes a receivable at the point in time at which it has an unconditional right to payment. Such receivables are not contract assets. Payment terms for customer orders, including for each of the Company’s primary performance obligations, are typically 30 to 90 days after the shipment or delivery of the product, and such payments typically do not include payments that are variable, dependent on specified factors or events. In limited circumstances, there exists a right of return for a product if agreed to by the Company. Revenue is only recognized for those goods that are not expected to be returned such that it is probable that there will

not be a significant reversal of cumulative revenue. Service arrangements commonly call for payments in advance of performing the work (e.g., extended warranty/service contracts), upon completion of the service or a mix of both. The Company does not enter into significant financing agreements or other forms of variable consideration.

Contract assets arise from unbilled amounts in customer arrangements when revenue recognized exceeds the amount billed to the customer and the Company’s right to payment is not only subject to the passage of time. The Company had no contract assets related to product or service revenue as of June 30, 2022 or December 31, 2021.

Contract liabilities represent the Company’s obligation to transfer goods or services to a customer for which it has received consideration (or the amount is due) from the customer. The Company has determined that its only contract liability related to product and service revenue is deferred revenue, which consists of amounts that have been invoiced but that have not been recognized as revenue. Amounts expected to be recognized as revenue within 12 months of the balance sheet date are classified as current deferred revenue and amounts expected to be recognized as revenue beyond 12 months of the balance sheet date are classified as noncurrent deferred revenue.

The following is a summary of the activity of the Company’s deferred revenue related to product and service revenue (in thousands):

Six Months Ended June 30, 

    

2022

    

2021

Balances at beginning of period

$

14,521

$

8,938

Recognition of revenue included in balance at beginning of the period

 

(2,494)

 

(1,211)

Revenue deferred during the period, net of revenue recognized

 

3,863

 

1,984

Balances at end of period

$

15,890

$

9,711

The amount of deferred revenue equals the transaction price allocated to unfulfilled performance obligations for the period presented. Such deferred revenue amounts related to product and service revenue are expected to be recognized in the future as follows (in thousands):

June 30, 

    

2022

    

2021

Deferred revenue expected to be recognized in:

 

  

 

  

One year or less

$

6,753

$

3,965

One to two years

 

4,204

 

2,001

Three years and beyond

 

4,933

 

3,745

$

15,890

$

9,711

As of June 30, 2022, the Company’s wholly- or partially-unsatisfied performance obligations totaled $3.9 million related to product and service agreements entered prior to period end, which the Company expects to recognize through 2024.

License and Contract Revenue

The Company generates revenue from short and long-term contracts associated with the design and development and delivery of detection devices or related design and support services. To date, these contracts are primarily with the U.S. government or commercial entities contracting with the U.S. government, but the Company has also had such contracts with commercial partners. The Company’s contracts with the U.S. government typically are subject to the Federal Acquisition Regulation (“FAR”) and are priced based on estimated or actual costs of producing goods or providing services. The FAR provides guidance on the types of costs that are allowable in establishing prices for goods or services provided under U.S. government contracts. The pricing for non-U.S. government contracts is based on the specific negotiations with each customer.

Under the typical payment terms of U.S. government fixed-price contracts, the customer pays in accordance with the terms of the specific agreement, but generally through progress payments. If these progress payments are made in advance, these payments are recorded as a contract liability, classified as deferred revenue within the accompanying condensed consolidated balance sheet, until the Company provides the underlying services. For U.S. government cost-type contracts, the customer generally pays for actual costs incurred within a short period of time. For contracts with commercial partners, payments are made in accordance with the terms of the

specific agreement. For agreements which call for milestone payments, to the extent the Company does not conclude that it is probable that a significant reversal of cumulative revenue will occur, a contract asset is generated until the Company is permitted to bill for costs incurred, which is classified as prepaid expense and other current assets in the accompanying condensed consolidated balance sheet. In some cases, payments received in advance under license agreements are recorded as deferred revenue and recognized over the respective contract term, absent any other performance obligations.

Generally, revenue for long-term contracts is recognized based upon the cost-to-cost measure of progress, provided that the Company meets the criteria associated with transferring control of the good or service over time such as not creating an asset with an alternative use and having an enforceable right to payment for completed performance. However, the Company evaluates the proper revenue recognition on a contract by contract basis, as each contract generally contains terms specific to the underlying agreement which result in differing performance obligations and payment terms (cost plus, fixed price agreements among others). For revenue recognized under the cost-to-cost measure of progress basis, the Company continually assesses total costs expected to be incurred and if such costs require adjustment to the measure of progress, the Company records such adjustment as a change in estimate on a cumulative catch-up basis in the period of adjustment.

The Company includes the unconstrained amount of consideration in the transaction price. The amount included in the transaction price is constrained to the amount for which it is probable that a significant reversal of cumulative revenue recognized will not occur. At the end of each subsequent reporting period, as required under ASC 606, the Company re-evaluates the estimated consideration included in the transaction price and any related constraint, and if necessary, adjusts its estimate of the overall transaction price. Any such adjustments are recorded on a cumulative catch-up basis in the period of adjustment.

Contract assets arise from unbilled amounts in customer arrangements when revenue recognized exceeds the amount billed to the customer and the Company’s right to payment is not just subject to the passage of time. The Company includes contract assets within prepaid and other current assets in the accompanying condensed consolidated balance sheet. The Company had contract assets related to contract or license revenue totaling $0.3 million and $0.2 million, respectively, as of June 30, 2022 and December 31, 2021.

Contract liabilities represent the Company’s obligation to transfer goods or services to a customer for which it has received consideration (or the amount is due) from the customer. Contract liabilities arising from contract and license agreements typically represent payments received for the license of symbolic intellectual property for a defined term. As of June 30, 2022, the Company had contract liabilities totaling $2.6 million related to contract and license revenue, which the Company expects to recognize in 2022 and 2023. As of December 31, 2021, the Company had contract liabilities totaling $2.6 million related to contract and license revenue, of which the Company recognized $0.1 million during the six months ended June 30, 2022. The Company recognizes deferred revenue by first allocating from the beginning deferred revenue balance to the extent that the beginning deferred revenue balance exceeds the revenue to be recognized. Billings during the period are added to the deferred revenue balance to be recognized in future periods. As of June 30, 2022, the Company’s wholly- or partially-unsatisfied performance obligations totaled $1.0 million related to contract and license agreements entered prior to period end, which the Company expects to recognize during the years ended December 31, 2022 and 2023.

Distribution Channels

A majority of the Company’s revenue is generated by sales in conjunction with its distribution partners, such as its international distributors and, in the United States, for end customers where a government contract is required or a customer has a pre-existing relationship. When the Company transacts with a distribution partner, its contractual arrangement is with the partner and not with the end-use customer. Whether the Company transacts business with and receives the order from a distribution partner or directly from an end-use customer, its revenue recognition policy and resulting pattern of revenue recognition for the order are the same.

Disaggregated Revenue

The Company’s product and service revenue consists of sales of devices and consumables and the sale of service and extended warranty plans. The following table presents the Company’s revenue by revenue stream (in thousands):

Three Months Ended June 30, 

Six Months Ended June 30, 

    

2022

    

2021

    

2022

    

2021

Product and service revenue:

 

  

 

  

 

  

 

  

Device sales revenue

$

7,755

$

6,181

$

13,287

$

10,092

Consumables and service revenue

 

2,853

 

1,734

 

5,350

 

3,180

Total product and service revenue

 

10,608

 

7,915

 

18,637

 

13,272

License and contract revenue

 

498

 

362

 

775

 

548

Total revenue

$

11,106

$

8,277

$

19,412

$

13,820

The following table presents the Company’s product and service revenue by device type (in thousands):

Three Months Ended June 30, 

Six Months Ended June 30, 

    

2022

    

2021

    

2022

    

2021

Handheld

$

6,938

$

5,278

$

11,408

$

8,518

Desktop

3,670

 

2,637

7,229

 

4,754

Total product and service revenue

$

10,608

$

7,915

$

18,637

$

13,272

Revenue based on the end-user entity type for the Company’s product and service revenue are presented below (in thousands):

Three Months Ended June 30, 

Six Months Ended June 30, 

2022

    

2021

    

2022

    

2021

Government

$

7,002

$

5,279

$

11,719

$

8,513

Pharmaceutical/Biotechnology

3,577

 

2,609

6,705

 

4,709

Academia

29

 

27

213

 

50

Total product and service revenue

$

10,608

$

7,915

$

18,637

$

13,272

The following table disaggregates the Company’s revenue from contracts with customers by geography, which are determined based on the customer location (in thousands):

Three Months Ended June 30, 

Six Months Ended June 30, 

2022

    

2021

    

2022

    

2021

Americas

$

9,470

$

5,815

$

15,538

$

10,489

Europe, Middle East and Africa

1,245

 

1,725

2,601

 

2,171

Asia Pacific

391

 

737

1,273

 

1,160

$

11,106

$

8,277

$

19,412

$

13,820

International sales are comprised primarily of product and service revenue, with the majority of license and contract revenue being attributable to North America.

Net Income (Loss) per Share

The Company has one class of shares outstanding and basic net income (loss) per common share is computed by dividing the net income (loss) by the weighted average number of shares of common stock outstanding for the period. Diluted net income (loss) per common share is computed by dividing net income (loss) by the weighted average number of shares of common stock outstanding for the period, including potential dilutive common shares assuming the dilutive effect of any potential dilutive securities outstanding for the fiscal year. Potential dilutive securities include warrants, stock options, restricted stock units, and shares to be purchased under the Company’s employee stock purchase plan. For periods in which the Company reports a net loss, diluted net loss per common share is the same as basic net loss per common share, since dilutive common shares are not assumed to have been issued if their effect is anti-dilutive.

Recently Adopted Accounting Pronouncements

The Company qualifies as an “emerging growth company” as defined in the Jumpstart Our Business Startups Act of 2012 and has elected not to “opt out” of the extended transition related to complying with new or revised accounting standards, which means that when a standard is issued or revised and it has different application dates for public and nonpublic companies, the Company will adopt the new or revised standard at the time nonpublic companies adopt the new or revised standard and will do so until such time that the Company either (i) irrevocably elects to “opt out” of such extended transition period or (ii) no longer qualifies as an emerging growth company.

In December 2019, the FASB issued ASU 2019-12, Income Taxes (ASC 740): Simplifying the Accounting for Income Taxes (“ASU 2019-12”), which is intended to simplify various areas related to accounting for income taxes. ASU 2019-12 removes certain exceptions to the general principles in ASC 740 and also clarifies and amends existing guidance to improve consistent application. For public entities the guidance is effective for annual reporting periods beginning after December 15, 2020 and for interim periods within those fiscal years. For non-public entities, the guidance is effective for annual reporting periods beginning after December 15, 2021 and for interim periods within years beginning after December 15, 2022, with early adoption permitted. The Company adopted this guidance as of January 1, 2022 and the adoption did not have a material impact on its consolidated financial statements.

Recently Issued Accounting Pronouncements

In June 2016, the FASB issued ASU No. 2016-13, Financial Instruments—Credit Losses (Topic 326). The new standard adjusts the accounting for assets held at amortized costs basis, including marketable securities accounted for as available for sale, and trade receivables. The standard eliminates the probable initial recognition threshold and requires an entity to reflect its current estimate of all expected credit losses. The allowance for credit losses is a valuation account that is deducted from the amortized cost basis of the financial assets to present the net amount expected to be collected. For public entities except smaller reporting companies, the guidance is effective for annual reporting periods beginning after December 15, 2019 and for interim periods within those fiscal years. For non-public entities and smaller reporting companies, the guidance was effective for annual reporting periods beginning after December 15, 2021. In November 2019, the FASB issued ASU No. 2019-10, which deferred the effective date for non-public entities to annual reporting periods beginning after December 15, 2022, including interim periods within those fiscal years. Early application is allowed. The Company expects to adopt this standard effective January 1, 2023 and is assessing the impact of the adoption of this guidance on its consolidated financial statements.

XML 20 R10.htm IDEA: XBRL DOCUMENT v3.22.2
Fair Value Measurements
6 Months Ended
Jun. 30, 2022
Fair Value Measurements  
Fair Value Measurements

3. Fair Value Measurements

The following tables present the Company’s fair value hierarchy for its assets and liabilities that are measured at fair value on a recurring basis (in thousands):

Fair Value Measurements at June 30, 2022 Using:

    

Level 1

    

Level 2

    

Level 3

    

Total

Assets:

 

  

 

  

 

  

 

  

Cash equivalents:

 

  

 

  

 

  

 

  

Money market funds

$

347

$

$

$

347

Fair Value Measurements at December 31, 2021 Using:

    

Level 1

    

Level 2

    

Level 3

    

Total

Assets:

 

  

 

  

 

  

 

  

Cash equivalents:

 

  

 

  

 

  

 

  

Money market funds

$

634

$

$

$

634

Money market funds were valued by the Company based on quoted market prices, which represent a Level 1 measurement within the fair value hierarchy. There were no transfers into or out of Level 3 during the six months ended June 30, 2022 or 2021.

XML 21 R11.htm IDEA: XBRL DOCUMENT v3.22.2
Inventory
6 Months Ended
Jun. 30, 2022
Inventory  
Inventory

4. Inventory

Inventory consisted of the following (in thousands):

June 30, 

December 31, 

    

2022

    

2021

Raw materials

$

7,621

$

6,242

Work-in-progress

2,666

 

551

Finished goods

891

 

1,125

$

11,178

$

7,918

XML 22 R12.htm IDEA: XBRL DOCUMENT v3.22.2
Accrued Expenses
6 Months Ended
Jun. 30, 2022
Accrued Expenses  
Accrued Expenses

5. Accrued Expenses

Accrued expenses consisted of the following (in thousands):

June 30, 

December 31, 

    

2022

    

2021

Accrued employee compensation and benefits

$

2,793

$

3,271

Accrued warranty

1,283

 

1,593

Accrued professional fees

905

 

710

Accrued other

976

 

1,387

$

5,957

$

6,961

Changes in the Company’s product warranty obligation were as follows (in thousands):

Six Months Ended June 30, 

    

2022

    

2021

Accrual balance at beginning of period

$

1,593

$

1,265

Provision for new warranties

 

1,166

 

500

Settlements and adjustments made during the period

 

(1,476)

 

(775)

Accrual balance at end of period

$

1,283

$

990

XML 23 R13.htm IDEA: XBRL DOCUMENT v3.22.2
Long-Term Debt
6 Months Ended
Jun. 30, 2022
Long-Term Debt  
Long-Term Debt

6. Long-Term Debt

As of December 31, 2020, the Company had outstanding borrowings under a Loan and Security Agreement, as amended (the “2019 Loan”) with a financial institution (the “Lender”). On March 11, 2021, the Company entered into an Amended and Restated Loan and Security Agreement, (the “2021 Revolver”), with the Lender to replace the 2019 Loan. This agreement created a revolving line of credit totaling $25.0 million and eliminated the existing term loan. Borrowings under the revolving line of credit bear interest at an annual rate equal to the greater of (i) one-half percent (0.5%) above the prime rate or (ii) 4.0% and mature on March 11, 2024. Borrowings are collateralized by substantially all of the Company’s property, excluding intellectual property, which is subject to a negative pledge. The 2021 Revolver subjects the Company to various customary covenants, including requirements as to financial reporting and financial covenants (including an unrestricted minimum cash level of $10.0 million), and restrictions on the Company’s ability to dispose of its business or property, to change its line of business, to liquidate or dissolve, to enter into any change in control transaction, to merge or consolidate with any other entity or to acquire all or substantially all the capital stock or property of another entity, to incur additional indebtedness, to incur liens on the Company’s property, to pay any dividends or make other distributions on capital stock other than dividends payable solely in capital stock, to redeem capital stock, to enter into in-bound licensing agreements, to engage in transactions with affiliates, and to encumber the Company’s intellectual property. Events of default under the 2021 Revolver include failure to make payments when due, insolvency events, failure to comply with covenants or material adverse events with respect to the Company. Upon the occurrence of an event of default and until such event of default is no longer continuing, the annual interest rate will be 5.0% above the otherwise applicable rate. As of June 30, 2022, the Company was in compliance with all financial covenants under the 2021 Revolver.

The terms of the 2021 Revolver required that the existing term loan outstanding under the 2019 Loan be repaid with an advance under the line of credit. Accordingly, on March 11, 2021, the Company used $14.5 million of proceeds from the revolving

line of credit to repay all amounts then due on the existing term loan. The Company accounted for the transaction as a debt extinguishment and recorded a loss on extinguishment of $0.2 million, which was included in interest expense in the condensed consolidated statements of operations and comprehensive loss.

As of June 30, 2022, and December 31, 2021, the Company had $15.0 million outstanding under the 2021 Revolver and it is classified as long-term debt in the condensed consolidated balance sheet.

XML 24 R14.htm IDEA: XBRL DOCUMENT v3.22.2
Equity and Net Income (Loss) per Share
6 Months Ended
Jun. 30, 2022
Equity and Net Income (Loss) per Share  
Equity and Net Income (Loss) per Share

7. Equity and Net Income (Loss) per Share

Equity

As of June 30, 2022, the Company’s certificate of incorporation authorized the Company to issue up to 5,000,000 shares of preferred stock, all of which is undesignated.

Each share of common stock entitles the holder to one vote on all matters submitted to a vote of the Company’s stockholders. Common stockholders are not entitled to receive dividends, unless declared by the board of directors.

As of June 30, 2022, and December 31, 2021, the Company had outstanding warrants for the purchase of 92,703 shares of common stock at an exercise price of $9.17 per share, of which warrants for the purchase of 49,078 shares and 43,625 shares expire in 2027 and 2028, respectively.

Net Income (Loss) per Share

The Company only has one class of shares outstanding and basic net income (loss) per common share is computed by dividing the net income (loss) by the weighted average number of shares of common stock outstanding for the period. Diluted net income (loss) per common share is computed by dividing net income (loss) by the weighted average number of shares of common stock outstanding for the period, including potential dilutive common shares assuming the dilutive effect of outstanding stock awards. For periods in which the Company reports a net loss, diluted net loss per common share is the same as basic net loss per common share, since dilutive common shares are not assumed to have been issued if their effect is anti-dilutive. As the Company has reported a net loss during the three and six months ended June 30, 2022 and 2021, basic net loss per share is the same as diluted net loss per share. The Company excluded the following potential shares of common stock, presented based on amounts outstanding at each period end, from the computation of diluted net income (loss) per share attributable to common stockholders for three and six months ended June 30, 2022 and 2021 as the impact of including such common stock equivalents would have been anti-dilutive:

June 30, 

    

2022

    

2021

Warrants to purchase common stock

92,703

92,703

Options to purchase common stock

 

2,764,916

 

3,233,949

Restricted stock units

254,482

 

3,112,101

 

3,326,652

XML 25 R15.htm IDEA: XBRL DOCUMENT v3.22.2
Stock-Based Compensation
6 Months Ended
Jun. 30, 2022
Stock-Based Compensation  
Stock-Based Compensation

8. Stock-Based Compensation

The Company recorded stock-based compensation expense for all stock awards in the following expense categories of its condensed consolidated statements of operations and comprehensive loss (in thousands):

Three Months Ended June 30, 

Six Months Ended June 30, 

    

2022

    

2021

    

2022

    

2021

Cost of revenue

$

86

$

14

$

149

$

17

Research and development expenses

421

 

85

681

 

145

Selling, general and administrative expenses

1,387

 

382

2,353

 

658

$

1,894

$

481

$

3,183

$

820

As of June 30, 2022, unrecognized compensation expense was $18.5 million, related to unvested restricted stock units and stock options, which is expected to be recognized over a weighted average period of 2.99 years.

XML 26 R16.htm IDEA: XBRL DOCUMENT v3.22.2
Commitments and Contingencies
6 Months Ended
Jun. 30, 2022
Commitments and Contingencies  
Commitments and Contingencies

9. Commitments and Contingencies

Operating Leases

The Company’s primary operating lease obligations consists of various leases for office space in Boston, Massachusetts; North Carolina; and Pennsylvania.

There have been no material changes to the Company’s leases during the six months ended June 30, 2022. For additional information, read Note 11, Leases, to the consolidated financial statements in the Company’s Form 10-K for the year ended December 31, 2021.

On July 17, 2022, the Company entered into a new operating lease agreement in Morrisville, North Carolina (the “New NC Lease”), to expand the Company’s research and development activities focused on its desktop offerings and enable the ability to standup an additional manufacturing site for the Company. The New NC Lease is for approximately 13,300 rentable square feet and occupancy is expected in the first half of 2023. The New NC Lease is for a term of 88 months with total lease costs of approximately $4.0 million.

Royalty Arrangements

The Company has entered into royalty arrangements with two parties whereby the Company owes low- to mid-single digit royalty percentages related to revenue that is derived pursuant to in-licensed technologies. Royalty obligations are expensed when incurred or over the minimum royalty periods and have not been material. Some of the arrangements include minimum royalties over a defined term.

The future minimum royalty payments are $0.1 million per year through the end of the patents’ lives. The Company has the right to terminate the agreements with written notice.

401(k) Savings Plan

The Company has a defined-contribution savings plan under Section 401(k) of the Internal Revenue Code. This plan covers substantially all employees who meet minimum age and service requirements and allows participants to defer a portion of their annual compensation on a pre-tax basis. Company contributions to the plan may be made at the discretion of the board of directors. On October 1, 2021, the Company commenced an employer match program whereby the Company matches 100% of the first 3% that each employee contributes to the plan, capped at a maximum of $3,500 per year per employee. During the six months ended June 30, 2022, the Company made $0.3 million in contributions to the plan.

Indemnification Agreements

In the ordinary course of business, the Company may provide indemnification of varying scope and terms to vendors, lessors, business partners and other parties with respect to certain matters including, but not limited to, losses arising out of breach of such agreements or from intellectual property infringement claims made by third parties. In addition, the Company has entered into indemnification agreements with its executive officers and members of its board of directors that will require the Company, among other things, to indemnify them against certain liabilities that may arise by reason of their status or services as directors or officers. The maximum potential amount of future payments the Company could be required to make under these indemnification agreements is, in many cases, unlimited. To date, the Company has not incurred any material costs as a result of such indemnifications. The Company is not currently aware of any indemnification claims and had not accrued any liabilities related to such obligations in its condensed consolidated financial statements as of June 30, 2022.

Legal Proceedings

The Company is not currently party to any material legal proceedings. At each reporting date, the Company evaluates whether or not a potential loss amount or a potential range of loss is probable and reasonably estimable under the provisions of the

authoritative guidance that addresses accounting for contingencies. The Company expenses as incurred the costs related to such legal proceedings.

XML 27 R17.htm IDEA: XBRL DOCUMENT v3.22.2
Subsequent events
6 Months Ended
Jun. 30, 2022
Subsequent events  
Subsequent events

10. Subsequent events

On August 3, 2022, the Company entered into a share purchase and transfer agreement and completed its acquisition of 100% of the registered share capital of TRACE Analytics GmbH, a German limited liability company located in Braunschweig, Germany (Trace), for total potential purchase price consideration of $17.3 million, comprised of (i) a $15.3 million initial cash payment plus (ii) up to $2.0 million contingent cash consideration upon achievement of certain milestones over a twenty four month period.

Trace is a leading provider of online analysis systems for biotech applications in research, development and production. Trace’s products are used for monitoring and control of complex processes in industrial pharmaceutical productions under continuous measurement conditions. With the acquisition of Trace, the Company has acquired enabling sampling technology that it expects to integrate within future product offerings.

The Company has not determined its initial accounting for the acquisition. As of August 9, 2022, the preliminary purchase price allocation related to the acquisition of Trace is incomplete. The Company has retained an independent valuation firm to assess the fair value of the identified intangible assets and certain tangible assets acquired and liabilities assumed. During the three and six months ended June 30, 2022, the Company incurred approximately $0.2 million in costs associated with the acquisition of Trace, which are recorded as selling, general, and administrative expenses within the consolidated statements of operations.

XML 28 R18.htm IDEA: XBRL DOCUMENT v3.22.2
Summary of Significant Accounting Policies (Policies)
6 Months Ended
Jun. 30, 2022
Summary of Significant Accounting Policies  
Unaudited Condensed Interim Financial Information

Unaudited Condensed Interim Financial Information

The condensed consolidated balance sheet at December 31, 2021 was derived from audited consolidated financial statements but does not include all disclosures required by GAAP. The accompanying unaudited condensed consolidated financial statements as of June 30, 2022 and for the three and six months ended June 30, 2022 and 2021 have been prepared by the Company pursuant to the rules and regulations of the Securities and Exchange Commission (“SEC”) for interim financial statements. Certain information and footnote disclosures normally included in the consolidated financial statements prepared in accordance with GAAP have been condensed or omitted pursuant to such rules and regulations. Therefore, these condensed consolidated financial statements should be read in conjunction with the Company’s audited consolidated financial statements and the notes thereto for the year ended December 31, 2021 included in the Company’s Annual Report on Form 10-K for the year ended December 31, 2021 on file with the SEC. In the opinion of management, all adjustments, consisting only of normal recurring adjustments necessary for a fair statement of the Company’s financial position as of June 30, 2022 and results of operations for the three and six months ended June 30, 2022 and 2021 and cash flows for the six months ended June 30, 2022 and 2021 have been made. The Company’s results of operations for the three and six months ended June 30, 2022 are not necessarily indicative of the results of operations that may be expected for the year ending December 31, 2022 or any other period.

Use of Estimates

Use of Estimates

The preparation of financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities, the disclosure of contingent assets and liabilities at the date of the financial statements, and the reported amounts of revenue and expenses during the reporting periods. Significant estimates and assumptions reflected in these condensed consolidated financial statements include, but are not limited to, revenue recognition and accounts receivable, the valuation of inventory and the valuation of stock-based awards. The Company bases its estimates on historical experience, known trends and other market-specific or other relevant factors that it believes to be reasonable under the circumstances. Due to the COVID-19 pandemic, there has been uncertainty and disruption in the global economy and financial markets. The Company is not aware of any specific event or circumstance that would require further updates to its estimates or judgments or a revision of the carrying value of its assets or liabilities as of the date of issuance of these condensed consolidated financial statements. These estimates may change, as new events occur and additional information is obtained. On an ongoing basis, management evaluates its estimates as there are changes in circumstances, facts and experience. Changes in estimates are recorded in the period in which they become known. Actual results may differ from those estimates or assumptions.

Concentrations of Credit Risk and of Significant Customers

Concentrations of Credit Risk and of Significant Customers

Financial instruments that potentially expose the Company to concentrations of credit risk consist primarily of cash and cash equivalents and accounts receivable. The Company maintains its cash and cash equivalents with two financial institutions that management believes to be of high credit quality. The Company has not experienced any other-than-temporary losses with respect to its cash and cash equivalents and does not believe that it is subject to unusual credit risk beyond the normal credit risk associated with commercial banking relationships.

Significant customers are those that accounted for 10% or more of the Company’s total revenue or accounts receivable. For the three months ended June 30, 2022 and 2021, one customer represented 17% and 14% of total revenue, respectively. For the six months ended June 30, 2022 and 2021, one customer represented 19% and 16% of total revenue, respectively. As of June 30, 2022, one customer accounted for 13% of gross accounts receivable. As of December 31, 2021, two customers accounted for 63% and 11%, respectively, of gross accounts receivable.

The credit and economic conditions within countries in Europe, Middle East and Africa that the Company does business with have been weak in recent years. These conditions have continued to deteriorate as a result of COVID-19 and may continue to increase the average length of time that it takes to collect on the accounts receivables outstanding in these countries. As of June 30, 2022, the gross accounts receivable balance from these countries amounted to $3.2 million, of which $1.7 million is more than 90 days past due and for which the Company has provided for an allowance for doubtful accounts of $1.7 million.

Certain of the components included in the Company’s products are obtained from a sole source, a single source or a limited group of suppliers. Although the Company seeks to reduce dependence on those limited sources of suppliers and manufacturers, the partial or complete loss of certain of these sources, or the requirement to establish a new supplier for the components, could have a material adverse effect on the Company’s operating results, financial condition and cash flows and damage its customer relationships.

Accounts Receivable

Accounts Receivable

The Company provides credit to customers in the ordinary course of business and believes its credit policies are prudent and reflect industry practices and business risk. Management reviews accounts receivable on a periodic basis and reserves for receivables in the Company’s allowance for doubtful accounts on a specific identification basis when they are determined to be uncollectible. After the Company has exhausted all collection efforts, the outstanding receivable is written off against the allowance. In June 2021, the Company deemed certain receivables from a customer in the Middle East uncollectible due to credit and economic conditions, including the impact of COVID-19, and recorded a provision for bad debts of $1.7 million.

Fair Value Measurements

Fair Value Measurements

Certain assets and liabilities are carried at fair value under GAAP. Fair value is defined 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. Valuation techniques used to measure fair value must maximize the use of observable inputs and minimize the use of unobservable inputs. Financial assets and liabilities carried at fair

value are to be classified and disclosed in one of the following three levels of the fair value hierarchy, of which the first two are considered observable and the last is considered unobservable:

Level 1 — Quoted prices in active markets for identical assets or liabilities.
Level 2 — Observable inputs (other than Level 1 quoted prices), such as quoted prices in active markets for similar assets or liabilities, quoted prices in markets that are not active for identical or similar assets or liabilities, or other inputs that are observable or can be corroborated by observable market data.
Level 3 — Unobservable inputs that are supported by little or no market activity and that are significant to determining the fair value of the assets or liabilities, including pricing models, discounted cash flow methodologies and similar techniques.

The Company’s cash equivalents are carried at fair value, determined according to the fair value hierarchy described above (see Note 3). The carrying values of the Company’s accounts receivable, unbilled receivables, accounts payable and accrued expenses approximate their fair values due to the short-term nature of these assets and liabilities. The carrying value of the Company’s long-term debt approximates its fair value (a level 2 measurement) at each balance sheet date due to its variable interest rate, which approximates a market interest rate.

Revenue Recognition

Revenue Recognition

The Company recognizes revenue from sales to customers under ASC 606, Revenue from Contracts with Customers (“ASC 606”), by applying the following five steps: (1) identification of the contract, or contracts, with a customer, (2) identification of the performance obligations in the contract, (3) determination of the transaction price, (4) allocation of the transaction price to the performance obligations in the contract and (5) recognition of revenue when, or as, performance obligations are satisfied.

For a contract with multiple performance obligations, the Company allocates the contract’s transaction price to each performance obligation on a relative standalone selling price basis using the Company’s best estimate of the standalone selling price of each distinct product or service in the contract. The primary method used to estimate standalone selling price is the price observed in standalone sales to customers; however, when prices in standalone sales are not available the Company may use third party pricing for similar products or services or estimate the standalone selling price, which is set by management. Allocation of the transaction price is determined at the contract’s inception and is not updated to reflect changes between contract inception and when the performance obligations are satisfied.

Product and Service Revenue

The Company derives product and service revenue primarily from the sale of handheld and desktop products and related consumables and services. Revenue is recognized when control of the promised products, consumables or services is transferred to the Company’s customers, in an amount that reflects the consideration the Company expects to be entitled to in exchange for those products, consumables or services (the transaction price). A performance obligation is a promise in a contract to transfer a distinct product or service to a customer and is the unit of accounting under ASC 606. For devices and consumables sold by the Company, control transfers to the customer at a point in time. To indicate the transfer of control, the Company must have a present right to payment, legal title must have passed to the customer, the customer must have the significant risks and rewards of ownership, and where acceptance is other than perfunctory, the customer must have accepted the product or service. The Company’s principal terms of sale are freight on board (“FOB”) shipping point, or equivalent, and, as such, the Company primarily transfers control and records revenue for product sales upon shipment. Sales arrangements with delivery terms that are not FOB shipping point are not recognized upon shipment and the transfer of control for revenue recognition is evaluated based on the associated shipping terms and customer obligations. If a performance obligation to the customer with respect to a sales transaction remains to be fulfilled following shipment (typically installation or acceptance by the customer), revenue recognition for that performance obligation is deferred until such commitments have been fulfilled. For extended warranty and support, control transfers to the customer over the term of the arrangement. Revenue for extended warranty and support is recognized based upon the period of time elapsed under the arrangement as this period represents the transfer of benefits or services under the agreement.

The Company recognizes a receivable at the point in time at which it has an unconditional right to payment. Such receivables are not contract assets. Payment terms for customer orders, including for each of the Company’s primary performance obligations, are typically 30 to 90 days after the shipment or delivery of the product, and such payments typically do not include payments that are variable, dependent on specified factors or events. In limited circumstances, there exists a right of return for a product if agreed to by the Company. Revenue is only recognized for those goods that are not expected to be returned such that it is probable that there will

not be a significant reversal of cumulative revenue. Service arrangements commonly call for payments in advance of performing the work (e.g., extended warranty/service contracts), upon completion of the service or a mix of both. The Company does not enter into significant financing agreements or other forms of variable consideration.

Contract assets arise from unbilled amounts in customer arrangements when revenue recognized exceeds the amount billed to the customer and the Company’s right to payment is not only subject to the passage of time. The Company had no contract assets related to product or service revenue as of June 30, 2022 or December 31, 2021.

Contract liabilities represent the Company’s obligation to transfer goods or services to a customer for which it has received consideration (or the amount is due) from the customer. The Company has determined that its only contract liability related to product and service revenue is deferred revenue, which consists of amounts that have been invoiced but that have not been recognized as revenue. Amounts expected to be recognized as revenue within 12 months of the balance sheet date are classified as current deferred revenue and amounts expected to be recognized as revenue beyond 12 months of the balance sheet date are classified as noncurrent deferred revenue.

The following is a summary of the activity of the Company’s deferred revenue related to product and service revenue (in thousands):

Six Months Ended June 30, 

    

2022

    

2021

Balances at beginning of period

$

14,521

$

8,938

Recognition of revenue included in balance at beginning of the period

 

(2,494)

 

(1,211)

Revenue deferred during the period, net of revenue recognized

 

3,863

 

1,984

Balances at end of period

$

15,890

$

9,711

The amount of deferred revenue equals the transaction price allocated to unfulfilled performance obligations for the period presented. Such deferred revenue amounts related to product and service revenue are expected to be recognized in the future as follows (in thousands):

June 30, 

    

2022

    

2021

Deferred revenue expected to be recognized in:

 

  

 

  

One year or less

$

6,753

$

3,965

One to two years

 

4,204

 

2,001

Three years and beyond

 

4,933

 

3,745

$

15,890

$

9,711

As of June 30, 2022, the Company’s wholly- or partially-unsatisfied performance obligations totaled $3.9 million related to product and service agreements entered prior to period end, which the Company expects to recognize through 2024.

License and Contract Revenue

The Company generates revenue from short and long-term contracts associated with the design and development and delivery of detection devices or related design and support services. To date, these contracts are primarily with the U.S. government or commercial entities contracting with the U.S. government, but the Company has also had such contracts with commercial partners. The Company’s contracts with the U.S. government typically are subject to the Federal Acquisition Regulation (“FAR”) and are priced based on estimated or actual costs of producing goods or providing services. The FAR provides guidance on the types of costs that are allowable in establishing prices for goods or services provided under U.S. government contracts. The pricing for non-U.S. government contracts is based on the specific negotiations with each customer.

Under the typical payment terms of U.S. government fixed-price contracts, the customer pays in accordance with the terms of the specific agreement, but generally through progress payments. If these progress payments are made in advance, these payments are recorded as a contract liability, classified as deferred revenue within the accompanying condensed consolidated balance sheet, until the Company provides the underlying services. For U.S. government cost-type contracts, the customer generally pays for actual costs incurred within a short period of time. For contracts with commercial partners, payments are made in accordance with the terms of the

specific agreement. For agreements which call for milestone payments, to the extent the Company does not conclude that it is probable that a significant reversal of cumulative revenue will occur, a contract asset is generated until the Company is permitted to bill for costs incurred, which is classified as prepaid expense and other current assets in the accompanying condensed consolidated balance sheet. In some cases, payments received in advance under license agreements are recorded as deferred revenue and recognized over the respective contract term, absent any other performance obligations.

Generally, revenue for long-term contracts is recognized based upon the cost-to-cost measure of progress, provided that the Company meets the criteria associated with transferring control of the good or service over time such as not creating an asset with an alternative use and having an enforceable right to payment for completed performance. However, the Company evaluates the proper revenue recognition on a contract by contract basis, as each contract generally contains terms specific to the underlying agreement which result in differing performance obligations and payment terms (cost plus, fixed price agreements among others). For revenue recognized under the cost-to-cost measure of progress basis, the Company continually assesses total costs expected to be incurred and if such costs require adjustment to the measure of progress, the Company records such adjustment as a change in estimate on a cumulative catch-up basis in the period of adjustment.

The Company includes the unconstrained amount of consideration in the transaction price. The amount included in the transaction price is constrained to the amount for which it is probable that a significant reversal of cumulative revenue recognized will not occur. At the end of each subsequent reporting period, as required under ASC 606, the Company re-evaluates the estimated consideration included in the transaction price and any related constraint, and if necessary, adjusts its estimate of the overall transaction price. Any such adjustments are recorded on a cumulative catch-up basis in the period of adjustment.

Contract assets arise from unbilled amounts in customer arrangements when revenue recognized exceeds the amount billed to the customer and the Company’s right to payment is not just subject to the passage of time. The Company includes contract assets within prepaid and other current assets in the accompanying condensed consolidated balance sheet. The Company had contract assets related to contract or license revenue totaling $0.3 million and $0.2 million, respectively, as of June 30, 2022 and December 31, 2021.

Contract liabilities represent the Company’s obligation to transfer goods or services to a customer for which it has received consideration (or the amount is due) from the customer. Contract liabilities arising from contract and license agreements typically represent payments received for the license of symbolic intellectual property for a defined term. As of June 30, 2022, the Company had contract liabilities totaling $2.6 million related to contract and license revenue, which the Company expects to recognize in 2022 and 2023. As of December 31, 2021, the Company had contract liabilities totaling $2.6 million related to contract and license revenue, of which the Company recognized $0.1 million during the six months ended June 30, 2022. The Company recognizes deferred revenue by first allocating from the beginning deferred revenue balance to the extent that the beginning deferred revenue balance exceeds the revenue to be recognized. Billings during the period are added to the deferred revenue balance to be recognized in future periods. As of June 30, 2022, the Company’s wholly- or partially-unsatisfied performance obligations totaled $1.0 million related to contract and license agreements entered prior to period end, which the Company expects to recognize during the years ended December 31, 2022 and 2023.

Distribution Channels

A majority of the Company’s revenue is generated by sales in conjunction with its distribution partners, such as its international distributors and, in the United States, for end customers where a government contract is required or a customer has a pre-existing relationship. When the Company transacts with a distribution partner, its contractual arrangement is with the partner and not with the end-use customer. Whether the Company transacts business with and receives the order from a distribution partner or directly from an end-use customer, its revenue recognition policy and resulting pattern of revenue recognition for the order are the same.

Disaggregated Revenue

The Company’s product and service revenue consists of sales of devices and consumables and the sale of service and extended warranty plans. The following table presents the Company’s revenue by revenue stream (in thousands):

Three Months Ended June 30, 

Six Months Ended June 30, 

    

2022

    

2021

    

2022

    

2021

Product and service revenue:

 

  

 

  

 

  

 

  

Device sales revenue

$

7,755

$

6,181

$

13,287

$

10,092

Consumables and service revenue

 

2,853

 

1,734

 

5,350

 

3,180

Total product and service revenue

 

10,608

 

7,915

 

18,637

 

13,272

License and contract revenue

 

498

 

362

 

775

 

548

Total revenue

$

11,106

$

8,277

$

19,412

$

13,820

The following table presents the Company’s product and service revenue by device type (in thousands):

Three Months Ended June 30, 

Six Months Ended June 30, 

    

2022

    

2021

    

2022

    

2021

Handheld

$

6,938

$

5,278

$

11,408

$

8,518

Desktop

3,670

 

2,637

7,229

 

4,754

Total product and service revenue

$

10,608

$

7,915

$

18,637

$

13,272

Revenue based on the end-user entity type for the Company’s product and service revenue are presented below (in thousands):

Three Months Ended June 30, 

Six Months Ended June 30, 

2022

    

2021

    

2022

    

2021

Government

$

7,002

$

5,279

$

11,719

$

8,513

Pharmaceutical/Biotechnology

3,577

 

2,609

6,705

 

4,709

Academia

29

 

27

213

 

50

Total product and service revenue

$

10,608

$

7,915

$

18,637

$

13,272

The following table disaggregates the Company’s revenue from contracts with customers by geography, which are determined based on the customer location (in thousands):

Three Months Ended June 30, 

Six Months Ended June 30, 

2022

    

2021

    

2022

    

2021

Americas

$

9,470

$

5,815

$

15,538

$

10,489

Europe, Middle East and Africa

1,245

 

1,725

2,601

 

2,171

Asia Pacific

391

 

737

1,273

 

1,160

$

11,106

$

8,277

$

19,412

$

13,820

International sales are comprised primarily of product and service revenue, with the majority of license and contract revenue being attributable to North America.

Net Income (Loss) per Share

Net Income (Loss) per Share

The Company has one class of shares outstanding and basic net income (loss) per common share is computed by dividing the net income (loss) by the weighted average number of shares of common stock outstanding for the period. Diluted net income (loss) per common share is computed by dividing net income (loss) by the weighted average number of shares of common stock outstanding for the period, including potential dilutive common shares assuming the dilutive effect of any potential dilutive securities outstanding for the fiscal year. Potential dilutive securities include warrants, stock options, restricted stock units, and shares to be purchased under the Company’s employee stock purchase plan. For periods in which the Company reports a net loss, diluted net loss per common share is the same as basic net loss per common share, since dilutive common shares are not assumed to have been issued if their effect is anti-dilutive.

Recently Adopted Accounting Pronouncements

Recently Adopted Accounting Pronouncements

The Company qualifies as an “emerging growth company” as defined in the Jumpstart Our Business Startups Act of 2012 and has elected not to “opt out” of the extended transition related to complying with new or revised accounting standards, which means that when a standard is issued or revised and it has different application dates for public and nonpublic companies, the Company will adopt the new or revised standard at the time nonpublic companies adopt the new or revised standard and will do so until such time that the Company either (i) irrevocably elects to “opt out” of such extended transition period or (ii) no longer qualifies as an emerging growth company.

In December 2019, the FASB issued ASU 2019-12, Income Taxes (ASC 740): Simplifying the Accounting for Income Taxes (“ASU 2019-12”), which is intended to simplify various areas related to accounting for income taxes. ASU 2019-12 removes certain exceptions to the general principles in ASC 740 and also clarifies and amends existing guidance to improve consistent application. For public entities the guidance is effective for annual reporting periods beginning after December 15, 2020 and for interim periods within those fiscal years. For non-public entities, the guidance is effective for annual reporting periods beginning after December 15, 2021 and for interim periods within years beginning after December 15, 2022, with early adoption permitted. The Company adopted this guidance as of January 1, 2022 and the adoption did not have a material impact on its consolidated financial statements.

Recently Issued Accounting Pronouncements

Recently Issued Accounting Pronouncements

In June 2016, the FASB issued ASU No. 2016-13, Financial Instruments—Credit Losses (Topic 326). The new standard adjusts the accounting for assets held at amortized costs basis, including marketable securities accounted for as available for sale, and trade receivables. The standard eliminates the probable initial recognition threshold and requires an entity to reflect its current estimate of all expected credit losses. The allowance for credit losses is a valuation account that is deducted from the amortized cost basis of the financial assets to present the net amount expected to be collected. For public entities except smaller reporting companies, the guidance is effective for annual reporting periods beginning after December 15, 2019 and for interim periods within those fiscal years. For non-public entities and smaller reporting companies, the guidance was effective for annual reporting periods beginning after December 15, 2021. In November 2019, the FASB issued ASU No. 2019-10, which deferred the effective date for non-public entities to annual reporting periods beginning after December 15, 2022, including interim periods within those fiscal years. Early application is allowed. The Company expects to adopt this standard effective January 1, 2023 and is assessing the impact of the adoption of this guidance on its consolidated financial statements.

XML 29 R19.htm IDEA: XBRL DOCUMENT v3.22.2
Summary of Significant Accounting Policies (Tables)
6 Months Ended
Jun. 30, 2022
Summary of Significant Accounting Policies  
Summary of the activity of the Company's deferred revenue

The following is a summary of the activity of the Company’s deferred revenue related to product and service revenue (in thousands):

Six Months Ended June 30, 

    

2022

    

2021

Balances at beginning of period

$

14,521

$

8,938

Recognition of revenue included in balance at beginning of the period

 

(2,494)

 

(1,211)

Revenue deferred during the period, net of revenue recognized

 

3,863

 

1,984

Balances at end of period

$

15,890

$

9,711

Schedule of deferred revenue amounts expected to be recognized in the future

The amount of deferred revenue equals the transaction price allocated to unfulfilled performance obligations for the period presented. Such deferred revenue amounts related to product and service revenue are expected to be recognized in the future as follows (in thousands):

June 30, 

    

2022

    

2021

Deferred revenue expected to be recognized in:

 

  

 

  

One year or less

$

6,753

$

3,965

One to two years

 

4,204

 

2,001

Three years and beyond

 

4,933

 

3,745

$

15,890

$

9,711

Schedule of disaggregation of revenue

The Company’s product and service revenue consists of sales of devices and consumables and the sale of service and extended warranty plans. The following table presents the Company’s revenue by revenue stream (in thousands):

Three Months Ended June 30, 

Six Months Ended June 30, 

    

2022

    

2021

    

2022

    

2021

Product and service revenue:

 

  

 

  

 

  

 

  

Device sales revenue

$

7,755

$

6,181

$

13,287

$

10,092

Consumables and service revenue

 

2,853

 

1,734

 

5,350

 

3,180

Total product and service revenue

 

10,608

 

7,915

 

18,637

 

13,272

License and contract revenue

 

498

 

362

 

775

 

548

Total revenue

$

11,106

$

8,277

$

19,412

$

13,820

The following table presents the Company’s product and service revenue by device type (in thousands):

Three Months Ended June 30, 

Six Months Ended June 30, 

    

2022

    

2021

    

2022

    

2021

Handheld

$

6,938

$

5,278

$

11,408

$

8,518

Desktop

3,670

 

2,637

7,229

 

4,754

Total product and service revenue

$

10,608

$

7,915

$

18,637

$

13,272

Revenue based on the end-user entity type for the Company’s product and service revenue are presented below (in thousands):

Three Months Ended June 30, 

Six Months Ended June 30, 

2022

    

2021

    

2022

    

2021

Government

$

7,002

$

5,279

$

11,719

$

8,513

Pharmaceutical/Biotechnology

3,577

 

2,609

6,705

 

4,709

Academia

29

 

27

213

 

50

Total product and service revenue

$

10,608

$

7,915

$

18,637

$

13,272

The following table disaggregates the Company’s revenue from contracts with customers by geography, which are determined based on the customer location (in thousands):

Three Months Ended June 30, 

Six Months Ended June 30, 

2022

    

2021

    

2022

    

2021

Americas

$

9,470

$

5,815

$

15,538

$

10,489

Europe, Middle East and Africa

1,245

 

1,725

2,601

 

2,171

Asia Pacific

391

 

737

1,273

 

1,160

$

11,106

$

8,277

$

19,412

$

13,820

XML 30 R20.htm IDEA: XBRL DOCUMENT v3.22.2
Fair Value Measurements (Tables)
6 Months Ended
Jun. 30, 2022
Fair Value Measurements  
Schedule of assets and liabilities that are measured at fair value on a recurring basis

The following tables present the Company’s fair value hierarchy for its assets and liabilities that are measured at fair value on a recurring basis (in thousands):

Fair Value Measurements at June 30, 2022 Using:

    

Level 1

    

Level 2

    

Level 3

    

Total

Assets:

 

  

 

  

 

  

 

  

Cash equivalents:

 

  

 

  

 

  

 

  

Money market funds

$

347

$

$

$

347

Fair Value Measurements at December 31, 2021 Using:

    

Level 1

    

Level 2

    

Level 3

    

Total

Assets:

 

  

 

  

 

  

 

  

Cash equivalents:

 

  

 

  

 

  

 

  

Money market funds

$

634

$

$

$

634

XML 31 R21.htm IDEA: XBRL DOCUMENT v3.22.2
Inventory (Tables)
6 Months Ended
Jun. 30, 2022
Inventory  
Schedule of inventory

Inventory consisted of the following (in thousands):

June 30, 

December 31, 

    

2022

    

2021

Raw materials

$

7,621

$

6,242

Work-in-progress

2,666

 

551

Finished goods

891

 

1,125

$

11,178

$

7,918

XML 32 R22.htm IDEA: XBRL DOCUMENT v3.22.2
Accrued Expenses (Tables)
6 Months Ended
Jun. 30, 2022
Accrued Expenses  
Schedule of accrued expenses

Accrued expenses consisted of the following (in thousands):

June 30, 

December 31, 

    

2022

    

2021

Accrued employee compensation and benefits

$

2,793

$

3,271

Accrued warranty

1,283

 

1,593

Accrued professional fees

905

 

710

Accrued other

976

 

1,387

$

5,957

$

6,961

Schedule of changes in product warranty obligation

Changes in the Company’s product warranty obligation were as follows (in thousands):

Six Months Ended June 30, 

    

2022

    

2021

Accrual balance at beginning of period

$

1,593

$

1,265

Provision for new warranties

 

1,166

 

500

Settlements and adjustments made during the period

 

(1,476)

 

(775)

Accrual balance at end of period

$

1,283

$

990

XML 33 R23.htm IDEA: XBRL DOCUMENT v3.22.2
Equity and Net Income (Loss) per Share (Tables)
6 Months Ended
Jun. 30, 2022
Equity and Net Income (Loss) per Share  
Schedule of anti-dilutive securities excluded from the computation of diluted net loss per share attributable to common stockholders

June 30, 

    

2022

    

2021

Warrants to purchase common stock

92,703

92,703

Options to purchase common stock

 

2,764,916

 

3,233,949

Restricted stock units

254,482

 

3,112,101

 

3,326,652

XML 34 R24.htm IDEA: XBRL DOCUMENT v3.22.2
Stock-Based Compensation (Tables)
6 Months Ended
Jun. 30, 2022
Stock-Based Compensation  
Schedule of stock-based compensation expense

The Company recorded stock-based compensation expense for all stock awards in the following expense categories of its condensed consolidated statements of operations and comprehensive loss (in thousands):

Three Months Ended June 30, 

Six Months Ended June 30, 

    

2022

    

2021

    

2022

    

2021

Cost of revenue

$

86

$

14

$

149

$

17

Research and development expenses

421

 

85

681

 

145

Selling, general and administrative expenses

1,387

 

382

2,353

 

658

$

1,894

$

481

$

3,183

$

820

XML 35 R25.htm IDEA: XBRL DOCUMENT v3.22.2
Nature of the Business and Basis of Presentation (Details) - USD ($)
$ / shares in Units, $ in Thousands
3 Months Ended 6 Months Ended 12 Months Ended
Nov. 15, 2021
Dec. 22, 2020
Jun. 30, 2022
Mar. 31, 2022
Jun. 30, 2021
Mar. 31, 2021
Jun. 30, 2022
Jun. 30, 2021
Dec. 31, 2021
Nature of the Business and Basis of Presentation                  
Entity Incorporation, Date of Incorporation             Feb. 10, 2012    
Proceeds from public offering, net of underwriting discounts and commissions $ 94,400                
Net loss     $ (8,099) $ (9,415) $ (7,424) $ (6,095) $ (17,514) $ (13,519) $ (22,200)
Accumulated deficit     $ (118,151)       $ (118,151)   $ (100,637)
IPO | Common Stock                  
Nature of the Business and Basis of Presentation                  
Shares issued   7,475,000              
Proceeds from public offerings, net of underwriting discounts and commissions   $ 136,600              
Conversion of preferred stock to common stock upon initial public offering (in shares)   14,691,929              
Public Offering | Common Stock                  
Nature of the Business and Basis of Presentation                  
Shares issued 3,150,000                
Price per share $ 32.00                
Underwriters' option | Common Stock                  
Nature of the Business and Basis of Presentation                  
Shares issued   975,000              
XML 36 R26.htm IDEA: XBRL DOCUMENT v3.22.2
Summary of Significant Accounting Policies - Risk of Concentrations of Credit, Significant Customers and Significant Suppliers (Details)
$ in Thousands
3 Months Ended 6 Months Ended 12 Months Ended
Jun. 30, 2022
USD ($)
customer
Jun. 30, 2021
customer
Jun. 30, 2022
USD ($)
customer
Jun. 30, 2021
customer
Dec. 31, 2021
USD ($)
customer
Concentrations of Credit Risk and of Significant Customers          
Allowance for doubtful accounts $ 1,750   $ 1,750   $ 1,750
Revenue | Customers          
Concentrations of Credit Risk and of Significant Customers          
Threshold percentage used to determine significant risk     10.00%   10.00%
Number of customers with concentration risk | customer 1 1 1 1  
Revenue | Customers | Customer One          
Concentrations of Credit Risk and of Significant Customers          
Concentration risk percentage 17.00% 14.00% 19.00% 16.00%  
Accounts Receivable | Customers          
Concentrations of Credit Risk and of Significant Customers          
Threshold percentage used to determine significant risk     10.00%   10.00%
Number of customers with concentration risk | customer     1   2
Accounts Receivable | Customers | Equal to or greater than 90 days past due          
Concentrations of Credit Risk and of Significant Customers          
Gross accounts receivable balance $ 1,700   $ 1,700    
Allowance for doubtful accounts 1,700   1,700    
Accounts Receivable | Customers | Europe, Middle East and Africa          
Concentrations of Credit Risk and of Significant Customers          
Gross accounts receivable balance $ 3,200   $ 3,200    
Accounts Receivable | Customers | Customer One          
Concentrations of Credit Risk and of Significant Customers          
Concentration risk percentage     13.00%   63.00%
Accounts Receivable | Customers | Customer Two          
Concentrations of Credit Risk and of Significant Customers          
Concentration risk percentage         11.00%
XML 37 R27.htm IDEA: XBRL DOCUMENT v3.22.2
Summary of Significant Accounting Policies - Accounts Receivable (Details) - USD ($)
$ in Thousands
1 Months Ended 6 Months Ended
Jun. 30, 2021
Jun. 30, 2021
Jun. 30, 2022
Dec. 31, 2021
Summary of Significant Accounting Policies        
Provision for doubtful accounts $ 1,700 $ 1,725    
Allowance for doubtful accounts     $ 1,750 $ 1,750
XML 38 R28.htm IDEA: XBRL DOCUMENT v3.22.2
Summary of Significant Accounting Policies - Deferred Revenue (Details) - Product and service revenue - USD ($)
$ in Thousands
6 Months Ended
Jun. 30, 2022
Jun. 30, 2021
Dec. 31, 2021
Revenue Recognition      
Contract assets $ 0   $ 0
Summary of the activity of the Company's deferred revenue related to product and service revenue      
Balances at beginning of period 14,521 $ 8,938  
Recognition of revenue included in balance at beginning of the period (2,494) (1,211)  
Revenue deferred during the period, net of revenue recognized 3,863 1,984  
Balances at end of period $ 15,890 $ 9,711  
Minimum      
Revenue Recognition      
Payment terms for customer receivables 30 days    
Maximum      
Revenue Recognition      
Payment terms for customer receivables 90 days    
XML 39 R29.htm IDEA: XBRL DOCUMENT v3.22.2
Summary of Significant Accounting Policies - Deferred Revenue Expected To Be Recognized (Details) - USD ($)
$ in Thousands
6 Months Ended
Jun. 30, 2022
Jun. 30, 2021
Revenue Recognition    
Remaining performance obligation amount $ 15,890 $ 9,711
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2021-07-01    
Revenue Recognition    
Period in which remaining performance obligation is expected to be recognized as revenue   1 year
Remaining performance obligation amount   $ 3,965
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2022-07-01    
Revenue Recognition    
Period in which remaining performance obligation is expected to be recognized as revenue 1 year 1 year
Remaining performance obligation amount $ 6,753 $ 2,001
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2023-07-01    
Revenue Recognition    
Period in which remaining performance obligation is expected to be recognized as revenue 1 year
Remaining performance obligation amount $ 4,204 $ 3,745
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2024-07-01    
Revenue Recognition    
Period in which remaining performance obligation is expected to be recognized as revenue  
Remaining performance obligation amount $ 4,933  
Product and service revenue    
Revenue Recognition    
Wholly- or partially-unsatisfied performance obligations $ 3,900  
XML 40 R30.htm IDEA: XBRL DOCUMENT v3.22.2
Summary of Significant Accounting Policies - License And Contract Revenue (Details) - License and contract revenue - USD ($)
$ in Millions
6 Months Ended
Jun. 30, 2022
Dec. 31, 2021
Revenue Recognition    
Contract assets $ 0.3 $ 0.2
Contract liabilities 2.6 $ 2.6
Revenue recognized 0.1  
Wholly- or partially-unsatisfied performance obligations $ 1.0  
XML 41 R31.htm IDEA: XBRL DOCUMENT v3.22.2
Summary of Significant Accounting Policies - Disaggregated Revenue (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2022
Jun. 30, 2021
Jun. 30, 2022
Jun. 30, 2021
Revenue Recognition        
Revenue $ 11,106 $ 8,277 $ 19,412 $ 13,820
Americas        
Revenue Recognition        
Revenue 9,470 5,815 15,538 10,489
Europe, Middle East and Africa        
Revenue Recognition        
Revenue 1,245 1,725 2,601 2,171
Asia Pacific        
Revenue Recognition        
Revenue 391 737 1,273 1,160
Product and service revenue        
Revenue Recognition        
Revenue 10,608 7,915 18,637 13,272
Product and service revenue | Government        
Revenue Recognition        
Revenue 7,002 5,279 11,719 8,513
Product and service revenue | Pharmaceutical/Biotechnology        
Revenue Recognition        
Revenue 3,577 2,609 6,705 4,709
Product and service revenue | Academia        
Revenue Recognition        
Revenue 29 27 213 50
Product and service revenue | Handheld        
Revenue Recognition        
Revenue 6,938 5,278 11,408 8,518
Product and service revenue | Desktop        
Revenue Recognition        
Revenue 3,670 2,637 7,229 4,754
Device sales        
Revenue Recognition        
Revenue 7,755 6,181 13,287 10,092
Consumables and service        
Revenue Recognition        
Revenue 2,853 1,734 5,350 3,180
License and contract revenue        
Revenue Recognition        
Revenue $ 498 $ 362 $ 775 $ 548
XML 42 R32.htm IDEA: XBRL DOCUMENT v3.22.2
Fair Value Measurements (Details) - USD ($)
$ in Thousands
6 Months Ended
Jun. 30, 2022
Jun. 30, 2021
Dec. 31, 2021
Fair Value Measurements      
Amount of asset transferred into level 3 $ 0 $ 0  
Amount of asset transferred out of level 3 0 0  
Amount of liability transferred into level 3 0 0  
Amount of liability transferred out of level 3 0 $ 0  
Recurring | Money market funds      
Fair Value Measurements      
Cash and cash equivalents 347   $ 634
Recurring | Level 1 | Money market funds      
Fair Value Measurements      
Cash and cash equivalents $ 347   $ 634
XML 43 R33.htm IDEA: XBRL DOCUMENT v3.22.2
Inventory (Details) - USD ($)
$ in Thousands
Jun. 30, 2022
Dec. 31, 2021
Inventory    
Raw materials $ 7,621 $ 6,242
Work-in-progress 2,666 551
Finished goods 891 1,125
Total $ 11,178 $ 7,918
XML 44 R34.htm IDEA: XBRL DOCUMENT v3.22.2
Accrued Expenses (Details) - USD ($)
$ in Thousands
Jun. 30, 2022
Dec. 31, 2021
Accrued Expenses    
Accrued employee compensation and benefits $ 2,793 $ 3,271
Accrued warranty 1,283 1,593
Accrued professional fees 905 710
Accrued other 976 1,387
Total accrued expenses $ 5,957 $ 6,961
XML 45 R35.htm IDEA: XBRL DOCUMENT v3.22.2
Accrued Expenses - Changes in product warranty obligation (Details) - USD ($)
$ in Thousands
6 Months Ended
Jun. 30, 2022
Jun. 30, 2021
Changes in product warranty obligation    
Accrual balance at beginning of period $ 1,593 $ 1,265
Provision for new warranties 1,166 500
Settlements and adjustments made during the period (1,476) (775)
Accrual balance at end of period $ 1,283 $ 990
XML 46 R36.htm IDEA: XBRL DOCUMENT v3.22.2
Long-Term Debt (Details) - USD ($)
$ in Thousands
6 Months Ended
Mar. 11, 2021
Jun. 30, 2022
Jun. 30, 2021
Dec. 31, 2021
Long-Term Debt        
Proceeds from borrowings on revolving line of credit   $ 30,000 $ 15,000  
Loss on extinguishment   (6) $ (171)  
2021 Revolver        
Long-Term Debt        
Loan capacity $ 25,000      
Maturity date Mar. 11, 2024      
Unrestricted minimum cash required pursuant to financial covenants of the loan $ 10,000      
Annual interest rate above the otherwise applicable rate upon the occurrence of an event of default 5.00%      
Line of credit outstanding   $ 15,000   $ 15,000
2021 Revolver | Minimum        
Long-Term Debt        
Fixed annual interest rate 4.00%      
2019 Loan        
Long-Term Debt        
Repayment of loan $ 14,500      
Loss on extinguishment $ (200)      
Prime rate | 2021 Revolver | Minimum        
Long-Term Debt        
Spread on basis rate (percentage) 0.50%      
XML 47 R37.htm IDEA: XBRL DOCUMENT v3.22.2
Equity and Net Income (Loss) per Share (Details)
6 Months Ended 12 Months Ended
Jun. 30, 2022
Vote
$ / shares
shares
Dec. 31, 2021
$ / shares
shares
Equity and Net Income (Loss) per Share    
Preferred stock, shares authorized 5,000,000 5,000,000
Number of votes for each share of common stock | Vote 1  
Warrants to purchase common stock    
Equity and Net Income (Loss) per Share    
Number of shares purchased from outstanding warrants 92,703 92,703
Purchase price, per share | $ / shares $ 9.17 $ 9.17
Warrants to purchase common stock | Warrants Expiring in 2027    
Equity and Net Income (Loss) per Share    
Number of warrants that will expire 49,078 49,078
Warrants to purchase common stock | Warrants Expiring in 2028    
Equity and Net Income (Loss) per Share    
Number of warrants that will expire 43,625 43,625
XML 48 R38.htm IDEA: XBRL DOCUMENT v3.22.2
Equity and Net Income (Loss) per Share - Anti-dilutive securities (Details) - shares
6 Months Ended
Jun. 30, 2022
Jun. 30, 2021
Equity and Net Income (Loss) per Share    
Anti-dilutive securities 3,112,101 3,326,652
Warrants to purchase common stock    
Equity and Net Income (Loss) per Share    
Anti-dilutive securities 92,703 92,703
Options to purchase common stock    
Equity and Net Income (Loss) per Share    
Anti-dilutive securities 2,764,916 3,233,949
Restricted stock units    
Equity and Net Income (Loss) per Share    
Anti-dilutive securities 254,482  
XML 49 R39.htm IDEA: XBRL DOCUMENT v3.22.2
Stock-Based Compensation - Stock-based compensation expense (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2022
Jun. 30, 2021
Jun. 30, 2022
Jun. 30, 2021
Stock-Based Compensation        
Stock-based compensation expense $ 1,894 $ 481 $ 3,183 $ 820
Restricted stock units and stock options        
Stock-Based Compensation        
Remaining unrecognized stock-based compensation expense 18,500   $ 18,500  
Weighted average period for recognition of stock-based compensation expense     2 years 11 months 26 days  
Cost of revenue        
Stock-Based Compensation        
Stock-based compensation expense 86 14 $ 149 17
Research and development expenses        
Stock-Based Compensation        
Stock-based compensation expense 421 85 681 145
Selling, general and administrative expenses        
Stock-Based Compensation        
Stock-based compensation expense $ 1,387 $ 382 $ 2,353 $ 658
XML 50 R40.htm IDEA: XBRL DOCUMENT v3.22.2
Commitments and Contingencies (Details)
6 Months Ended
Jul. 17, 2022
USD ($)
ft²
Oct. 01, 2021
USD ($)
Jun. 30, 2022
USD ($)
item
Operating Leases      
Area of facility | ft² 13,300    
Lease term 88 months    
Operating lease cost $ 4,000,000.0    
Royalty Arrangements      
Number of parties with royalty arrangements | item     2
Future minimum annual royalty payments     $ 100,000
401(k) Savings Plan      
Employer contributions to defined contribution plan     $ 300,000
Employer matching contribution, percentage of match   100.00%  
Employer matching contribution, percentage of employees' gross pay   3.00%  
Employer matching contribution, maximum amount of annual match per employee   $ 3,500  
XML 51 R41.htm IDEA: XBRL DOCUMENT v3.22.2
Subsequent events (Details) - TRACE Analytics GmbH - USD ($)
$ in Millions
3 Months Ended 6 Months Ended
Aug. 03, 2022
Jun. 30, 2022
Jun. 30, 2022
Subsequent events      
Acquisition related costs   $ 0.2 $ 0.2
Subsequent event      
Subsequent events      
Percentage of share capital acquired 100.00%    
Total potential contractual purchase price $ 17.3    
Initial cash payment plus $ 15.3    
Cash in contingent consideration upon achievement of certain milestones, period 24 months    
Subsequent event | Maximum      
Subsequent events      
Cash in contingent consideration upon achievement of certain milestones $ 2.0    
XML 52 mass-20220630x10q_htm.xml IDEA: XBRL DOCUMENT 0001555279 us-gaap:CommonStockMember 2021-04-01 2021-06-30 0001555279 us-gaap:CommonStockMember 2021-01-01 2021-03-31 0001555279 us-gaap:CommonStockMember 2022-01-01 2022-03-31 0001555279 us-gaap:CommonStockMember mass:SecondaryPublicOfferingMember 2021-11-15 2021-11-15 0001555279 us-gaap:CommonStockMember us-gaap:OverAllotmentOptionMember 2020-12-22 2020-12-22 0001555279 us-gaap:CommonStockMember 2022-04-01 2022-06-30 0001555279 us-gaap:RetainedEarningsMember 2022-06-30 0001555279 us-gaap:AdditionalPaidInCapitalMember 2022-06-30 0001555279 us-gaap:RetainedEarningsMember 2022-03-31 0001555279 us-gaap:AdditionalPaidInCapitalMember 2022-03-31 0001555279 2022-03-31 0001555279 us-gaap:RetainedEarningsMember 2021-12-31 0001555279 us-gaap:AdditionalPaidInCapitalMember 2021-12-31 0001555279 us-gaap:RetainedEarningsMember 2021-06-30 0001555279 us-gaap:AdditionalPaidInCapitalMember 2021-06-30 0001555279 us-gaap:RetainedEarningsMember 2021-03-31 0001555279 us-gaap:AdditionalPaidInCapitalMember 2021-03-31 0001555279 2021-03-31 0001555279 us-gaap:RetainedEarningsMember 2020-12-31 0001555279 us-gaap:AdditionalPaidInCapitalMember 2020-12-31 0001555279 us-gaap:CommonStockMember 2022-06-30 0001555279 us-gaap:CommonStockMember 2022-03-31 0001555279 us-gaap:CommonStockMember 2021-12-31 0001555279 us-gaap:CommonStockMember 2021-06-30 0001555279 us-gaap:CommonStockMember 2021-03-31 0001555279 us-gaap:CommonStockMember 2020-12-31 0001555279 us-gaap:CommonStockMember mass:SecondaryPublicOfferingMember 2021-11-15 0001555279 2024-07-01 2022-06-30 0001555279 2023-07-01 2022-06-30 0001555279 2022-07-01 2022-06-30 0001555279 2023-07-01 2021-06-30 0001555279 2022-07-01 2021-06-30 0001555279 2021-07-01 2021-06-30 0001555279 mass:PharmaceuticalBiotechnologyMember mass:ProductAndServiceMember 2022-04-01 2022-06-30 0001555279 mass:ProductAndServiceMember mass:HandheldMember 2022-04-01 2022-06-30 0001555279 mass:GovernmentAuthorityMember mass:ProductAndServiceMember 2022-04-01 2022-06-30 0001555279 mass:ProductAndServiceMember mass:DesktopMember 2022-04-01 2022-06-30 0001555279 mass:AcademiaMember mass:ProductAndServiceMember 2022-04-01 2022-06-30 0001555279 us-gaap:ServiceMember 2022-04-01 2022-06-30 0001555279 us-gaap:ProductMember 2022-04-01 2022-06-30 0001555279 us-gaap:EMEAMember 2022-04-01 2022-06-30 0001555279 srt:NorthAmericaMember 2022-04-01 2022-06-30 0001555279 srt:AsiaPacificMember 2022-04-01 2022-06-30 0001555279 mass:PharmaceuticalBiotechnologyMember mass:ProductAndServiceMember 2022-01-01 2022-06-30 0001555279 mass:ProductAndServiceMember mass:HandheldMember 2022-01-01 2022-06-30 0001555279 mass:GovernmentAuthorityMember mass:ProductAndServiceMember 2022-01-01 2022-06-30 0001555279 mass:ProductAndServiceMember mass:DesktopMember 2022-01-01 2022-06-30 0001555279 mass:AcademiaMember mass:ProductAndServiceMember 2022-01-01 2022-06-30 0001555279 us-gaap:ServiceMember 2022-01-01 2022-06-30 0001555279 us-gaap:ProductMember 2022-01-01 2022-06-30 0001555279 us-gaap:EMEAMember 2022-01-01 2022-06-30 0001555279 srt:NorthAmericaMember 2022-01-01 2022-06-30 0001555279 srt:AsiaPacificMember 2022-01-01 2022-06-30 0001555279 mass:PharmaceuticalBiotechnologyMember mass:ProductAndServiceMember 2021-04-01 2021-06-30 0001555279 mass:ProductAndServiceMember mass:HandheldMember 2021-04-01 2021-06-30 0001555279 mass:GovernmentAuthorityMember mass:ProductAndServiceMember 2021-04-01 2021-06-30 0001555279 mass:ProductAndServiceMember mass:DesktopMember 2021-04-01 2021-06-30 0001555279 mass:AcademiaMember mass:ProductAndServiceMember 2021-04-01 2021-06-30 0001555279 us-gaap:ServiceMember 2021-04-01 2021-06-30 0001555279 us-gaap:ProductMember 2021-04-01 2021-06-30 0001555279 us-gaap:EMEAMember 2021-04-01 2021-06-30 0001555279 srt:NorthAmericaMember 2021-04-01 2021-06-30 0001555279 srt:AsiaPacificMember 2021-04-01 2021-06-30 0001555279 mass:PharmaceuticalBiotechnologyMember mass:ProductAndServiceMember 2021-01-01 2021-06-30 0001555279 mass:ProductAndServiceMember mass:HandheldMember 2021-01-01 2021-06-30 0001555279 mass:GovernmentAuthorityMember mass:ProductAndServiceMember 2021-01-01 2021-06-30 0001555279 mass:ProductAndServiceMember mass:DesktopMember 2021-01-01 2021-06-30 0001555279 mass:AcademiaMember mass:ProductAndServiceMember 2021-01-01 2021-06-30 0001555279 us-gaap:ServiceMember 2021-01-01 2021-06-30 0001555279 us-gaap:ProductMember 2021-01-01 2021-06-30 0001555279 us-gaap:EMEAMember 2021-01-01 2021-06-30 0001555279 srt:NorthAmericaMember 2021-01-01 2021-06-30 0001555279 srt:AsiaPacificMember 2021-01-01 2021-06-30 0001555279 2021-06-01 2021-06-30 0001555279 us-gaap:CommonStockMember us-gaap:IPOMember 2020-12-22 2020-12-22 0001555279 2022-07-17 2022-07-17 0001555279 us-gaap:RetainedEarningsMember 2022-04-01 2022-06-30 0001555279 us-gaap:RetainedEarningsMember 2022-01-01 2022-03-31 0001555279 us-gaap:RetainedEarningsMember 2021-04-01 2021-06-30 0001555279 2021-01-01 2021-12-31 0001555279 us-gaap:RetainedEarningsMember 2021-01-01 2021-03-31 0001555279 mass:Revolver2021Member 2022-06-30 0001555279 mass:Revolver2021Member 2021-12-31 0001555279 mass:Loan2019Member 2021-03-11 2021-03-11 0001555279 mass:RestrictedStockUnitsAndStockOptionsMember 2022-06-30 0001555279 mass:RestrictedStockUnitsAndStockOptionsMember 2022-01-01 2022-06-30 0001555279 mass:Revolver2021Member 2021-03-11 2021-03-11 0001555279 srt:MinimumMember mass:Revolver2021Member 2021-03-11 0001555279 srt:MinimumMember mass:Revolver2021Member us-gaap:PrimeRateMember 2021-03-11 2021-03-11 0001555279 mass:ProductAndServiceMember 2022-04-01 2022-06-30 0001555279 mass:LicenseAndContractMember 2022-04-01 2022-06-30 0001555279 mass:ProductAndServiceMember 2021-04-01 2021-06-30 0001555279 mass:LicenseAndContractMember 2021-04-01 2021-06-30 0001555279 mass:LicenseAndContractMember 2021-01-01 2021-06-30 0001555279 mass:LicenseAndContractMember 2022-01-01 2022-06-30 0001555279 mass:ProductAndServiceMember 2021-06-30 0001555279 mass:ProductAndServiceMember 2020-12-31 0001555279 mass:ProductAndServiceMember 2022-06-30 0001555279 mass:LicenseAndContractMember 2022-06-30 0001555279 mass:ProductAndServiceMember 2021-12-31 0001555279 mass:LicenseAndContractMember 2021-12-31 0001555279 mass:CustomerOneMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2022-04-01 2022-06-30 0001555279 mass:CustomerOneMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2022-01-01 2022-06-30 0001555279 mass:CustomerOneMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2022-01-01 2022-06-30 0001555279 mass:CustomerOneMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2021-04-01 2021-06-30 0001555279 mass:CustomerTwoMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2021-01-01 2021-12-31 0001555279 mass:CustomerOneMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2021-01-01 2021-12-31 0001555279 mass:CustomerOneMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2021-01-01 2021-06-30 0001555279 mass:WarrantsToPurchaseCommonStockMember 2022-06-30 0001555279 mass:WarrantsToPurchaseCommonStockMember 2021-12-31 0001555279 2020-12-31 0001555279 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2022-06-30 0001555279 us-gaap:MoneyMarketFundsMember us-gaap:FairValueMeasurementsRecurringMember 2022-06-30 0001555279 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2021-12-31 0001555279 us-gaap:MoneyMarketFundsMember us-gaap:FairValueMeasurementsRecurringMember 2021-12-31 0001555279 2021-06-30 0001555279 srt:MaximumMember mass:TraceAnalyticsGmbhMember us-gaap:SubsequentEventMember 2022-08-03 0001555279 mass:TraceAnalyticsGmbhMember 2022-04-01 2022-06-30 0001555279 mass:TraceAnalyticsGmbhMember 2022-01-01 2022-06-30 0001555279 mass:TraceAnalyticsGmbhMember us-gaap:SubsequentEventMember 2022-08-03 0001555279 2022-07-17 0001555279 us-gaap:RestrictedStockUnitsRSUMember 2022-01-01 2022-06-30 0001555279 mass:WarrantsToPurchaseCommonStockMember 2022-01-01 2022-06-30 0001555279 mass:OptionsToPurchaseCommonStockMember 2022-01-01 2022-06-30 0001555279 mass:WarrantsToPurchaseCommonStockMember 2021-01-01 2021-06-30 0001555279 mass:OptionsToPurchaseCommonStockMember 2021-01-01 2021-06-30 0001555279 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2022-04-01 2022-06-30 0001555279 us-gaap:ResearchAndDevelopmentExpenseMember 2022-04-01 2022-06-30 0001555279 us-gaap:CostOfSalesMember 2022-04-01 2022-06-30 0001555279 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2022-01-01 2022-06-30 0001555279 us-gaap:ResearchAndDevelopmentExpenseMember 2022-01-01 2022-06-30 0001555279 us-gaap:CostOfSalesMember 2022-01-01 2022-06-30 0001555279 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2021-04-01 2021-06-30 0001555279 us-gaap:ResearchAndDevelopmentExpenseMember 2021-04-01 2021-06-30 0001555279 us-gaap:CostOfSalesMember 2021-04-01 2021-06-30 0001555279 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2021-01-01 2021-06-30 0001555279 us-gaap:ResearchAndDevelopmentExpenseMember 2021-01-01 2021-06-30 0001555279 us-gaap:CostOfSalesMember 2021-01-01 2021-06-30 0001555279 us-gaap:AdditionalPaidInCapitalMember 2022-04-01 2022-06-30 0001555279 2022-04-01 2022-06-30 0001555279 us-gaap:AdditionalPaidInCapitalMember 2022-01-01 2022-03-31 0001555279 2022-01-01 2022-03-31 0001555279 us-gaap:AdditionalPaidInCapitalMember 2021-04-01 2021-06-30 0001555279 2021-04-01 2021-06-30 0001555279 us-gaap:AdditionalPaidInCapitalMember 2021-01-01 2021-03-31 0001555279 2021-01-01 2021-03-31 0001555279 us-gaap:EMEAMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2022-06-30 0001555279 us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember us-gaap:FinancingReceivablesEqualToGreaterThan90DaysPastDueMember 2022-06-30 0001555279 2021-12-31 0001555279 mass:ProductAndServiceMember 2022-01-01 2022-06-30 0001555279 mass:ProductAndServiceMember 2021-01-01 2021-06-30 0001555279 2021-11-15 2021-11-15 0001555279 mass:ProductAndServiceMember srt:MinimumMember 2022-01-01 2022-06-30 0001555279 mass:ProductAndServiceMember srt:MaximumMember 2022-01-01 2022-06-30 0001555279 mass:WarrantsExpiringIn2028Member mass:WarrantsToPurchaseCommonStockMember 2022-01-01 2022-06-30 0001555279 mass:WarrantsExpiringIn2027Member mass:WarrantsToPurchaseCommonStockMember 2022-01-01 2022-06-30 0001555279 mass:WarrantsExpiringIn2028Member mass:WarrantsToPurchaseCommonStockMember 2021-01-01 2021-12-31 0001555279 mass:WarrantsExpiringIn2027Member mass:WarrantsToPurchaseCommonStockMember 2021-01-01 2021-12-31 0001555279 2022-06-30 0001555279 us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2022-04-01 2022-06-30 0001555279 us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2021-04-01 2021-06-30 0001555279 us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2021-01-01 2021-06-30 0001555279 2021-01-01 2021-06-30 0001555279 2021-10-01 2021-10-01 0001555279 mass:TraceAnalyticsGmbhMember us-gaap:SubsequentEventMember 2022-08-03 2022-08-03 0001555279 us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2022-01-01 2022-06-30 0001555279 us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2022-01-01 2022-06-30 0001555279 us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2021-01-01 2021-12-31 0001555279 us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2021-01-01 2021-12-31 0001555279 mass:Revolver2021Member 2021-03-11 0001555279 2022-08-04 0001555279 2022-01-01 2022-06-30 shares pure iso4217:USD mass:customer mass:item mass:Vote utr:sqft iso4217:USD shares -0.26 -0.27 -0.56 -0.49 31413431 27335637 31312559 27313125 P1Y P1Y P1Y P1Y 31077004 0001555279 --12-31 2022 Q2 false 0 0 0 0 0 0 0.10 0.10 31531115 0 0 10-Q true 2022-06-30 false 001-39815 908 DEVICES INC. DE 45-4524096 645 Summer Street Boston MA 02210 857 254-1500 Common Stock, par value $0.001 per share MASS NASDAQ Yes Yes Non-accelerated Filer true true false false 31590177 212994000 224073000 1750000 1750000 11098000 16375000 11178000 7918000 3408000 4527000 238678000 252893000 4583000 5182000 2419000 1603000 1315000 1228000 246995000 260906000 1234000 1371000 5957000 6961000 6841000 5160000 1402000 1344000 15434000 14836000 15000000 15000000 3797000 4508000 11649000 11958000 45880000 46302000 0.001 0.001 5000000 5000000 0 0 0.001 0.001 100000000 100000000 31531115 31077004 32000 31000 319234000 315210000 -118151000 -100637000 201115000 214604000 246995000 260906000 10608000 7915000 18637000 13272000 498000 362000 775000 548000 11106000 8277000 19412000 13820000 4361000 3846000 8402000 6406000 111000 52000 247000 127000 4472000 3898000 8649000 6533000 6634000 4379000 10763000 7287000 4293000 3055000 8198000 6020000 10710000 8779000 20455000 14532000 15003000 11834000 28653000 20552000 -8369000 -7455000 -17890000 -13265000 15000 39000 35000 415000 285000 70000 411000 161000 270000 31000 376000 -254000 -8099000 -7424000 -17514000 -13519000 -0.26 -0.27 -0.56 -0.49 31413431 27335637 31312559 27313125 31077004 31000 315210000 -100637000 214604000 243842 324000 324000 1289000 1289000 12936 -9415000 -9415000 31333782 31000 316823000 -110052000 206802000 164638 1000 275000 276000 1894000 1894000 16052 242000 242000 16643 -8099000 -8099000 31531115 32000 319234000 -118151000 201115000 27273095 27000 217482000 -78468000 139041000 24776 27000 27000 339000 339000 -6095000 -6095000 27297871 27000 217848000 -84563000 133312000 250234 1000 297000 298000 481000 481000 -7424000 -7424000 27548105 28000 218626000 -91987000 126667000 -17514000 -13519000 578000 375000 3183000 820000 -6000 -171000 39000 48000 1725000 -5277000 224000 3857000 3943000 -1119000 2188000 -18000 1177000 -1043000 482000 1372000 519000 -599000 -551000 -653000 -578000 -10876000 -16938000 689000 625000 -689000 -625000 133000 842000 325000 112000 576000 30000000 15000000 30000000 15000000 39000 597000 -290000 -10968000 -17853000 224133000 159227000 213165000 141374000 147000 558000 510000 212994000 141314000 60000 60000 111000 213165000 141374000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">1. Nature of the Business and Basis of Presentation</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">908 Devices Inc. (the “Company”) was incorporated in the State of Delaware on February 10, 2012. The Company is a commercial-stage technology company providing a suite of purpose-built handheld and desktop mass spectrometry devices for the point-of-need to interrogate unknown and invisible materials in a broad array of markets including life sciences research, bioprocessing, industrial biotech, forensics and adjacent markets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">The Company is subject to risks and uncertainties common to technology companies in the device industry and of similar size, including, but not limited to, development by competitors of new technological innovations, dependence on key personnel, protection of proprietary technology, compliance with government regulations, uncertainty of market acceptance of products, and the need to obtain additional financing to fund operations. Potential risks and uncertainties also include, without limitation, uncertainties regarding the duration and magnitude of the impact of the COVID-19 pandemic on the Company’s business and the economy generally. Products currently under development will require additional research and development efforts prior to commercialization and will require additional capital and adequate personnel and infrastructure. The Company’s research and development may not be successfully completed, adequate protection for the Company’s technology may not be obtained, the Company may not obtain necessary government regulatory approval, and approved products may not prove commercially viable. The Company operates in an environment of rapid change in technology and competition.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">In March 2020, the World Health Organization declared the global novel coronavirus disease 2019 (“COVID-19”) outbreak a pandemic. The impact of this pandemic has been and will likely continue to be extensive in many aspects of society, which has resulted in and will likely continue to result in significant disruptions to the global economy, as well as businesses and capital markets around the world. The Company cannot at this time predict the specific extent, duration, or full impact that the COVID-19 pandemic will have on its future financial condition and operations. The impact of the COVID-19 coronavirus outbreak on the Company’s financial performance will depend on future developments, including the duration and spread of the pandemic and related governmental advisories and restrictions. These developments and the impact of COVID-19 on the financial markets and the overall economy are highly uncertain and cannot be predicted. If the financial markets and/or the overall economy are impacted for an extended period, the Company’s results may be materially adversely affected.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">Future impacts to the Company’s business as a result of COVID-19 could include disruptions to the Company’s manufacturing operations and supply chain caused by facility closures, reductions in operating hours, staggered shifts and other social distancing efforts; labor shortages; decreased productivity and unavailability of materials or components; limitations on its employees’ and customers’ ability to travel, and delays in shipments to and from affected countries and within the United States.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">While the Company maintains an inventory of finished products and raw materials used in its products, a prolonged pandemic could lead to shortages in the raw materials necessary to manufacture its products. An additional potential impact to the Company’s business is the negative impact to the Company’s customers’ and potential customer’s ability to make investments and timely payments for purchased products as a result of allocating resources to address COVID-19 issues.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">On December 22, 2020, the Company completed its initial public offering (“IPO”), pursuant to which it issued and sold 7,475,000 shares of common stock, inclusive of 975,000 shares pursuant to the full exercise of the underwriters’ option to purchase additional shares. The Company received net proceeds of $136.6 million after deducting underwriting discounts and commissions and other offering costs<span style="color:#231f20;">. </span>Upon the closing of the IPO, all of the shares of the Company’s outstanding redeemable convertible preferred stock then outstanding automatically converted into 14,691,929 shares of common stock.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">On November 15, 2021, the Company completed an underwritten public offering, pursuant to which it issued and sold 3,150,000 shares of common stock at a public offering price of $32.00 per share, or the November 2021 Offering. The Company received net proceeds of $94.4 million after deducting underwriting discounts and commissions and other offering costs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Basis of Presentation</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">The Company’s condensed consolidated financial statements have been prepared in conformity with accounting principles generally accepted in the United States of America (“GAAP”). Any reference in these notes to applicable guidance is meant to refer to the authoritative GAAP as found in the Accounting Standards Codification (“ASC”) and Accounting Standards Update (“ASU”) of the Financial Accounting Standards Board (“FASB”).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">The condensed consolidated financial statements include the accounts of the Company and its wholly owned subsidiary, 908 Devices Securities Corporation. All intercompany balances and transactions have been eliminated.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt;">The accompanying condensed consolidated financial statements have been prepared based on continuity of operations, realization of assets and the satisfaction of liabilities and commitments in the ordinary course of business. The Company has incurred recurring losses since inception, including net losses of $17.5 million for the six months ended June 30, 2022 and $22.2 million for the year ended December 31, 2021. As of June 30, 2022, the Company had an accumulated deficit of $118.2 million. The Company expects to continue to generate operating losses in the foreseeable future. The Company expects that its cash and cash equivalents and revenue from product and service will be sufficient to fund its operating expenses and capital expenditure requirements for at least 12 months from the issuance date of the condensed consolidated financial statements. The Company may seek additional funding through private or public equity financings, debt financings, collaborations, strategic alliances and marketing, distribution or licensing arrangements. The Company may not be able to obtain financing on acceptable terms, or at all, and the Company may not be able to enter into collaborations or other arrangements. The terms of any financing may adversely affect the holdings or the rights of the Company’s stockholders. If the Company is unable to obtain funding, the Company could be forced to delay, reduce or eliminate some or all of its research and development programs, product expansion or commercialization efforts, <span style="color:#231f20;">or the Company may be unable to continue operations. </span></p> 2012-02-10 7475000 975000 136600000 14691929 3150000 32.00 94400000 -17500000 -22200000 -118200000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">2. Summary of Significant Accounting Policies</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Unaudited Condensed Interim Financial Information</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">The condensed consolidated balance sheet at December 31, 2021 was derived from audited consolidated financial statements but does not include all disclosures required by GAAP. The accompanying unaudited condensed consolidated financial statements as of June 30, 2022 and for the three and six months ended June 30, 2022 and 2021 have been prepared by the Company pursuant to the rules and regulations of the Securities and Exchange Commission (“SEC”) for interim financial statements. Certain information and footnote disclosures normally included in the consolidated financial statements prepared in accordance with GAAP have been condensed or omitted pursuant to such rules and regulations. Therefore, these condensed consolidated financial statements should be read in conjunction with the Company’s audited consolidated financial statements and the notes thereto for the year ended December 31, 2021 included in the Company’s Annual Report on Form 10-K for the year ended December 31, 2021 on file with the SEC. In the opinion of management, all adjustments, consisting only of normal recurring adjustments necessary for a fair statement of the Company’s financial position as of June 30, 2022 and results of operations for the three and six months ended June 30, 2022 and 2021 and cash flows for the six months ended June 30, 2022 and 2021 have been made. The Company’s results of operations for the three and six months ended June 30, 2022 are not necessarily indicative of the results of operations that may be expected for the year ending December 31, 2022 or any other period.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Use of Estimates</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">The preparation of financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities, the disclosure of contingent assets and liabilities at the date of the financial statements, and the reported amounts of revenue and expenses during the reporting periods. Significant estimates and assumptions reflected in these condensed consolidated financial statements include, but are not limited to, revenue recognition and accounts receivable, the valuation of inventory and the valuation of stock-based awards. The Company bases its estimates on historical experience, known trends and other market-specific or other relevant factors that it believes to be reasonable under the circumstances. Due to the COVID-19 pandemic, there has been uncertainty and disruption in the global economy and financial markets. The Company is not aware of any specific event or circumstance that would require further updates to its estimates or judgments or a revision of the carrying value of its assets or liabilities as of the date of issuance of these condensed consolidated financial statements. These estimates may change, as new events occur and additional information is obtained. On an ongoing basis, management evaluates its estimates as there are changes in circumstances, facts and experience. Changes in estimates are recorded in the period in which they become known. Actual results may differ from those estimates or assumptions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Concentrations of Credit Risk and of Significant Customers</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">Financial instruments that potentially expose the Company to concentrations of credit risk consist primarily of cash and cash equivalents and accounts receivable. The Company maintains its cash and cash equivalents with two financial institutions that management believes to be of high credit quality. The Company has not experienced any other-than-temporary losses with respect to its cash and cash equivalents and does not believe that it is subject to unusual credit risk beyond the normal credit risk associated with commercial banking relationships.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">Significant customers are those that accounted for 10% or more of the Company’s total revenue or accounts receivable. For the three months ended June 30, 2022 and 2021, one customer represented 17% and 14% of total revenue, respectively. For the six months ended June 30, 2022 and 2021, one customer represented 19% and 16% of total revenue, respectively. As of June 30, 2022, one customer accounted for 13% of gross accounts receivable. As of December 31, 2021, two customers accounted for 63% and 11%, respectively, of gross accounts receivable. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">The credit and economic conditions within countries in Europe, Middle East and Africa that the Company does business with have been weak in recent years. These conditions have continued to deteriorate as a result of COVID-19 and may continue to increase the average length of time that it takes to collect on the accounts receivables outstanding in these countries. As of June 30, 2022, the gross accounts receivable balance from these countries amounted to $3.2 million, of which $1.7 million is more than 90 days past due and for which the Company has provided for an allowance for doubtful accounts of $1.7 million.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">Certain of the components included in the Company’s products are obtained from a sole source, a single source or a limited group of suppliers. Although the Company seeks to reduce dependence on those limited sources of suppliers and manufacturers, the partial or complete loss of certain of these sources, or the requirement to establish a new supplier for the components, could have a material adverse effect on the Company’s operating results, financial condition and cash flows and damage its customer relationships.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Accounts</span><b style="font-weight:bold;"> </b><span style="font-style:italic;font-weight:bold;">Receivable</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">The Company provides credit to customers in the ordinary course of business and believes its credit policies are prudent and reflect industry practices and business risk. Management reviews accounts receivable on a periodic basis and reserves for receivables in the Company’s allowance for doubtful accounts on a specific identification basis when they are determined to be uncollectible. After the Company has exhausted all collection efforts, the outstanding receivable is written off against the allowance. In June 2021, the Company deemed certain receivables from a customer in the Middle East uncollectible due to credit and economic conditions, including the impact of COVID-19, and recorded a provision for bad debts of $1.7 million.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Fair Value Measurements</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt;">Certain assets and liabilities are carried at fair value under GAAP. Fair value is defined 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. Valuation techniques used to measure fair value must maximize the use of observable inputs and minimize the use of unobservable inputs. Financial assets and liabilities carried at fair </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;">value are to be classified and disclosed in one of the following three levels of the fair value hierarchy, of which the first two are considered observable and the last is considered unobservable:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:25.2pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Level 1 — Quoted prices in active markets for identical assets or liabilities.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:25.2pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Level 2 — Observable inputs (other than Level 1 quoted prices), such as quoted prices in active markets for similar assets or liabilities, quoted prices in markets that are not active for identical or similar assets or liabilities, or other inputs that are observable or can be corroborated by observable market data.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:25.2pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Level 3 — Unobservable inputs that are supported by little or no market activity and that are significant to determining the fair value of the assets or liabilities, including pricing models, discounted cash flow methodologies and similar techniques.</span></td></tr></table><div style="margin-top:12pt;"/><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">The Company’s cash equivalents are carried at fair value, determined according to the fair value hierarchy described above (see Note 3). The carrying values of the Company’s accounts receivable, unbilled receivables, accounts payable and accrued expenses approximate their fair values due to the short-term nature of these assets and liabilities. The carrying value of the Company’s long-term debt approximates its fair value (a level 2 measurement) at each balance sheet date due to its variable interest rate, which approximates a market interest rate.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Revenue Recognition</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">The Company recognizes revenue from sales to customers under ASC 606, <i style="font-style:italic;">Revenue from Contracts with Customers </i>(“ASC 606”), by applying the following five steps: (1) identification of the contract, or contracts, with a customer, (2) identification of the performance obligations in the contract, (3) determination of the transaction price, (4) allocation of the transaction price to the performance obligations in the contract and (5) recognition of revenue when, or as, performance obligations are satisfied.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">For a contract with multiple performance obligations, the Company allocates the contract’s transaction price to each performance obligation on a relative standalone selling price basis using the Company’s best estimate of the standalone selling price of each distinct product or service in the contract. The primary method used to estimate standalone selling price is the price observed in standalone sales to customers; however, when prices in standalone sales are not available the Company may use third party pricing for similar products or services or estimate the standalone selling price, which is set by management. Allocation of the transaction price is determined at the contract’s inception and is not updated to reflect changes between contract inception and when the performance obligations are satisfied.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;margin:0pt 0pt 12pt 0pt;">Product and Service Revenue</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">The Company derives product and service revenue primarily from the sale of handheld and desktop products and related consumables and services. Revenue is recognized when control of the promised products, consumables or services is transferred to the Company’s customers, in an amount that reflects the consideration the Company expects to be entitled to in exchange for those products, consumables or services (the transaction price). A performance obligation is a promise in a contract to transfer a distinct product or service to a customer and is the unit of accounting under ASC 606. For devices and consumables sold by the Company, control transfers to the customer at a point in time. To indicate the transfer of control, the Company must have a present right to payment, legal title must have passed to the customer, the customer must have the significant risks and rewards of ownership, and where acceptance is other than perfunctory, the customer must have accepted the product or service. The Company’s principal terms of sale are freight on board (“FOB”) shipping point, or equivalent, and, as such, the Company primarily transfers control and records revenue for product sales upon shipment. Sales arrangements with delivery terms that are not FOB shipping point are not recognized upon shipment and the transfer of control for revenue recognition is evaluated based on the associated shipping terms and customer obligations. If a performance obligation to the customer with respect to a sales transaction remains to be fulfilled following shipment (typically installation or acceptance by the customer), revenue recognition for that performance obligation is deferred until such commitments have been fulfilled. For extended warranty and support, control transfers to the customer over the term of the arrangement. Revenue for extended warranty and support is recognized based upon the period of time elapsed under the arrangement as this period represents the transfer of benefits or services under the agreement.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt;">The Company recognizes a receivable at the point in time at which it has an unconditional right to payment. Such receivables are not contract assets. Payment terms for customer orders, including for each of the Company’s primary performance obligations, are typically 30 to 90 days after the shipment or delivery of the product, and such payments typically do not include payments that are variable, dependent on specified factors or events. In limited circumstances, there exists a right of return for a product if agreed to by the Company. Revenue is only recognized for those goods that are not expected to be returned such that it is probable that there will </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;">not be a significant reversal of cumulative revenue. Service arrangements commonly call for payments in advance of performing the work (e.g., extended warranty/service contracts), upon completion of the service or a mix of both. The Company does not enter into significant financing agreements or other forms of variable consideration.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">Contract assets arise from unbilled amounts in customer arrangements when revenue recognized exceeds the amount billed to the customer and the Company’s right to payment is not only subject to the passage of time. The Company had no contract assets related to product or service revenue as of June 30, 2022 or December 31, 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">Contract liabilities represent the Company’s obligation to transfer goods or services to a customer for which it has received consideration (or the amount is due) from the customer. The Company has determined that its only contract liability related to product and service revenue is deferred revenue, which consists of amounts that have been invoiced but that have not been recognized as revenue. Amounts expected to be recognized as revenue within 12 months of the balance sheet date are classified as current deferred revenue and amounts expected to be recognized as revenue beyond 12 months of the balance sheet date are classified as noncurrent deferred revenue.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt;">The following is a summary of the activity of the Company’s deferred revenue related to product and service revenue (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:25.2pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended June 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balances at beginning of period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 14,521</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 8,938</p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Recognition of revenue included in balance at beginning of the period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,494)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,211)</p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenue deferred during the period, net of revenue recognized</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 3,863</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.84%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,984</p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balances at end of period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 15,890</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 9,711</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt;">The amount of deferred revenue equals the transaction price allocated to unfulfilled performance obligations for the period presented. Such deferred revenue amounts related to product and service revenue are expected to be recognized in the future as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:25.2pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Deferred revenue expected to be recognized in:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">One year or less</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_V8Wb3PomTkepMXPMSrWUOg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">$</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 6,753</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_urL1FWWNykimL0SHwjK3gw;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">$</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 3,965</p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">One to two years</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 4,204</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2,001</p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Three years and beyond</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 4,933</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 3,745</p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.84%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 15,890</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.84%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 9,711</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:normal;">As of June 30, 2022, the Company’s wholly- or partially-unsatisfied performance obligations totaled </span><span style="font-style:normal;">$3.9</span><span style="font-style:normal;"> million related to product and service agreements entered prior to period end, which the Company expects to recognize through 2024.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;margin:0pt 0pt 12pt 0pt;">License and Contract Revenue</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">The Company generates revenue from short and long-term contracts associated with the design and development and delivery of detection devices or related design and support services. To date, these contracts are primarily with the U.S. government or commercial entities contracting with the U.S. government, but the Company has also had such contracts with commercial partners. The Company’s contracts with the U.S. government typically are subject to the Federal Acquisition Regulation (“FAR”) and are priced based on estimated or actual costs of producing goods or providing services. The FAR provides guidance on the types of costs that are allowable in establishing prices for goods or services provided under U.S. government contracts. The pricing for non-U.S. government contracts is based on the specific negotiations with each customer.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt;">Under the typical payment terms of U.S. government fixed-price contracts, the customer pays in accordance with the terms of the specific agreement, but generally through progress payments. If these progress payments are made in advance, these payments are recorded as a contract liability, classified as deferred revenue within the accompanying condensed consolidated balance sheet, until the Company provides the underlying services. For U.S. government cost-type contracts, the customer generally pays for actual costs incurred within a short period of time. For contracts with commercial partners, payments are made in accordance with the terms of the </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;">specific agreement. For agreements which call for milestone payments, to the extent the Company does not conclude that it is probable that a significant reversal of cumulative revenue will occur, a contract asset is generated until the Company is permitted to bill for costs incurred, which is classified as prepaid expense and other current assets in the accompanying condensed consolidated balance sheet. In some cases, payments received in advance under license agreements are recorded as deferred revenue and recognized over the respective contract term, absent any other performance obligations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">Generally, revenue for long-term contracts is recognized based upon the cost-to-cost measure of progress, provided that the Company meets the criteria associated with transferring control of the good or service over time such as not creating an asset with an alternative use and having an enforceable right to payment for completed performance. However, the Company evaluates the proper revenue recognition on a contract by contract basis, as each contract generally contains terms specific to the underlying agreement which result in differing performance obligations and payment terms (cost plus, fixed price agreements among others). For revenue recognized under the cost-to-cost measure of progress basis, the Company continually assesses total costs expected to be incurred and if such costs require adjustment to the measure of progress, the Company records such adjustment as a change in estimate on a cumulative catch-up basis in the period of adjustment.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">The Company includes the unconstrained amount of consideration in the transaction price. The amount included in the transaction price is constrained to the amount for which it is probable that a significant reversal of cumulative revenue recognized will not occur. At the end of each subsequent reporting period, as required under ASC 606, the Company re-evaluates the estimated consideration included in the transaction price and any related constraint, and if necessary, adjusts its estimate of the overall transaction price. Any such adjustments are recorded on a cumulative catch-up basis in the period of adjustment.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">Contract assets arise from unbilled amounts in customer arrangements when revenue recognized exceeds the amount billed to the customer and the Company’s right to payment is not just subject to the passage of time. The Company includes contract assets within prepaid and other current assets in the accompanying condensed consolidated balance sheet. The Company had contract assets related to contract or license revenue totaling $0.3 million and $0.2 million, respectively, as of June 30, 2022 and December 31, 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">Contract liabilities represent the Company’s obligation to transfer goods or services to a customer for which it has received consideration (or the amount is due) from the customer. Contract liabilities arising from contract and license agreements typically represent payments received for the license of symbolic intellectual property for a defined term. As of June 30, 2022, the Company had contract liabilities totaling $2.6 million related to contract and license revenue, which the Company expects to recognize in 2022 and 2023. As of December 31, 2021, the Company had contract liabilities totaling $2.6 million related to contract and license revenue, of which the Company recognized $0.1 million during the six months ended June 30, 2022. The Company recognizes deferred revenue by first allocating from the beginning deferred revenue balance to the extent that the beginning deferred revenue balance exceeds the revenue to be recognized. Billings during the period are added to the deferred revenue balance to be recognized in future periods. As of June 30, 2022, the Company’s wholly- or partially-unsatisfied performance obligations totaled $1.0 million related to contract and license agreements entered prior to period end, which the Company expects to recognize during the years ended December 31, 2022 and 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;margin:0pt 0pt 12pt 0pt;">Distribution Channels</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">A majority of the Company’s revenue is generated by sales in conjunction with its distribution partners, such as its international distributors and, in the United States, for end customers where a government contract is required or a customer has a pre-existing relationship. When the Company transacts with a distribution partner, its contractual arrangement is with the partner and not with the end-use customer. Whether the Company transacts business with and receives the order from a distribution partner or directly from an end-use customer, its revenue recognition policy and resulting pattern of revenue recognition for the order are the same.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;margin:0pt 0pt 12pt 0pt;">Disaggregated Revenue</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt;">The Company’s product and service revenue consists of sales of devices and consumables and the sale of service and extended warranty plans. The following table presents the Company’s revenue by revenue stream (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:25.2pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:-0.060188293%;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:56.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:56.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:19.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:19.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:56.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:56.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Product and service revenue:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:56.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Device sales revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 7,755</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 6,181</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 13,287</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 10,092</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:56.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Consumables and service revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2,853</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,734</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 5,350</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 3,180</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:56.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total product and service revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 10,608</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 7,915</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 18,637</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 13,272</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:56.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">License and contract revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 498</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 362</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 775</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 548</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:56.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 11,106</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 8,277</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 19,412</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 13,820</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt;">The following table presents the Company’s product and service revenue by device type (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:25.2pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:-0.060188293%;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:57.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:57.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:19.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:19.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:57.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:57.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Handheld</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 6,938</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 5,278</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 11,408</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 8,518</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:57.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Desktop</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 3,670</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2,637</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 7,229</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 4,754</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:57.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total product and service revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.74%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 10,608</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 7,915</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 18,637</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 13,272</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt;">Revenue based on the end-user entity type for the Company’s product and service revenue are presented below (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:25.2pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:-0.060188293%;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:59.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:19.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:18.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Government</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 7,002</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 5,279</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 11,719</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 8,513</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Pharmaceutical/Biotechnology</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 3,577</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2,609</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 6,705</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 4,709</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Academia</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 29</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 27</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.38%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 213</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.38%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 50</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total product and service revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 10,608</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 7,915</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.38%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 18,637</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.38%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 13,272</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt;">The following table disaggregates the Company’s revenue from contracts with customers by geography, which are determined based on the customer location (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:25.2pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:-0.060188293%;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:58.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:58.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:19.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:19.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Americas</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 9,470</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 5,815</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 15,538</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 10,489</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Europe, Middle East and Africa</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,245</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,725</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2,601</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2,171</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Asia Pacific</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 391</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 737</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,273</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,160</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 11,106</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 8,277</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 19,412</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 13,820</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">International sales are comprised primarily of product and service revenue, with the majority of license and contract revenue being attributable to North America.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Net Income (Loss) per Share</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">The Company has one class of shares outstanding and basic net income (loss) per common share is computed by dividing the net income (loss) by the weighted average number of shares of common stock outstanding for the period. Diluted net income (loss) per common share is computed by dividing net income (loss) by the weighted average number of shares of common stock outstanding for the period, including potential dilutive common shares assuming the dilutive effect of any potential dilutive securities outstanding for the fiscal year. Potential dilutive securities include warrants, stock options, restricted stock units, and shares to be purchased under the Company’s employee stock purchase plan. For periods in which the Company reports a net loss, diluted net loss per common share is the same as basic net loss per common share, since dilutive common shares are not assumed to have been issued if their effect is anti-dilutive.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Recently Adopted Accounting Pronouncements</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">The Company qualifies as an “emerging growth company” as defined in the Jumpstart Our Business Startups Act of 2012 and has elected not to “opt out” of the extended transition related to complying with new or revised accounting standards, which means that when a standard is issued or revised and it has different application dates for public and nonpublic companies, the Company will adopt the new or revised standard at the time nonpublic companies adopt the new or revised standard and will do so until such time that the Company either (i) irrevocably elects to “opt out” of such extended transition period or (ii) no longer qualifies as an emerging growth company.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:normal;font-weight:normal;">In December 2019, the FASB issued ASU 2019-12, Income Taxes (ASC 740): Simplifying the Accounting for Income Taxes (“ASU 2019-12”), which is intended to simplify various areas related to accounting for income taxes. ASU 2019-</span><span style="font-style:normal;font-weight:normal;white-space:pre-wrap;">12 removes certain exceptions to the general principles in ASC 740 and also clarifies and amends existing guidance to improve consistent application. For public entities the guidance is effective for annual reporting periods beginning after December 15, 2020 and for interim periods within those fiscal years. For non-public entities, the guidance is effective for annual reporting periods beginning after December 15, 2021 and for interim periods within years beginning after December 15, 2022, with early adoption permitted. The Company adopted this guidance as of January 1, 2022 and the adoption did not have a material impact on its consolidated financial statements. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Recently Issued Accounting Pronouncements</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">In June 2016, the FASB issued ASU No. 2016-13, <i style="font-style:italic;">Financial Instruments—Credit Losses (Topic 326)</i>. The new standard adjusts the accounting for assets held at amortized costs basis, including marketable securities accounted for as available for sale, and trade receivables. The standard eliminates the probable initial recognition threshold and requires an entity to reflect its current estimate of all expected credit losses. The allowance for credit losses is a valuation account that is deducted from the amortized cost basis of the financial assets to present the net amount expected to be collected. For public entities except smaller reporting companies, the guidance is effective for annual reporting periods beginning after December 15, 2019 and for interim periods within those fiscal years. For non-public entities and smaller reporting companies, the guidance was effective for annual reporting periods beginning after December 15, 2021. In November 2019, the FASB issued ASU No. 2019-10, which deferred the effective date for non-public entities to annual reporting periods beginning after December 15, 2022, including interim periods within those fiscal years. Early application is allowed. The Company expects to adopt this standard effective January 1, 2023 and is assessing the impact of the adoption of this guidance on its consolidated financial statements.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Unaudited Condensed Interim Financial Information</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">The condensed consolidated balance sheet at December 31, 2021 was derived from audited consolidated financial statements but does not include all disclosures required by GAAP. The accompanying unaudited condensed consolidated financial statements as of June 30, 2022 and for the three and six months ended June 30, 2022 and 2021 have been prepared by the Company pursuant to the rules and regulations of the Securities and Exchange Commission (“SEC”) for interim financial statements. Certain information and footnote disclosures normally included in the consolidated financial statements prepared in accordance with GAAP have been condensed or omitted pursuant to such rules and regulations. Therefore, these condensed consolidated financial statements should be read in conjunction with the Company’s audited consolidated financial statements and the notes thereto for the year ended December 31, 2021 included in the Company’s Annual Report on Form 10-K for the year ended December 31, 2021 on file with the SEC. In the opinion of management, all adjustments, consisting only of normal recurring adjustments necessary for a fair statement of the Company’s financial position as of June 30, 2022 and results of operations for the three and six months ended June 30, 2022 and 2021 and cash flows for the six months ended June 30, 2022 and 2021 have been made. The Company’s results of operations for the three and six months ended June 30, 2022 are not necessarily indicative of the results of operations that may be expected for the year ending December 31, 2022 or any other period.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Use of Estimates</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">The preparation of financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities, the disclosure of contingent assets and liabilities at the date of the financial statements, and the reported amounts of revenue and expenses during the reporting periods. Significant estimates and assumptions reflected in these condensed consolidated financial statements include, but are not limited to, revenue recognition and accounts receivable, the valuation of inventory and the valuation of stock-based awards. The Company bases its estimates on historical experience, known trends and other market-specific or other relevant factors that it believes to be reasonable under the circumstances. Due to the COVID-19 pandemic, there has been uncertainty and disruption in the global economy and financial markets. The Company is not aware of any specific event or circumstance that would require further updates to its estimates or judgments or a revision of the carrying value of its assets or liabilities as of the date of issuance of these condensed consolidated financial statements. These estimates may change, as new events occur and additional information is obtained. On an ongoing basis, management evaluates its estimates as there are changes in circumstances, facts and experience. Changes in estimates are recorded in the period in which they become known. Actual results may differ from those estimates or assumptions.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Concentrations of Credit Risk and of Significant Customers</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">Financial instruments that potentially expose the Company to concentrations of credit risk consist primarily of cash and cash equivalents and accounts receivable. The Company maintains its cash and cash equivalents with two financial institutions that management believes to be of high credit quality. The Company has not experienced any other-than-temporary losses with respect to its cash and cash equivalents and does not believe that it is subject to unusual credit risk beyond the normal credit risk associated with commercial banking relationships.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">Significant customers are those that accounted for 10% or more of the Company’s total revenue or accounts receivable. For the three months ended June 30, 2022 and 2021, one customer represented 17% and 14% of total revenue, respectively. For the six months ended June 30, 2022 and 2021, one customer represented 19% and 16% of total revenue, respectively. As of June 30, 2022, one customer accounted for 13% of gross accounts receivable. As of December 31, 2021, two customers accounted for 63% and 11%, respectively, of gross accounts receivable. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">The credit and economic conditions within countries in Europe, Middle East and Africa that the Company does business with have been weak in recent years. These conditions have continued to deteriorate as a result of COVID-19 and may continue to increase the average length of time that it takes to collect on the accounts receivables outstanding in these countries. As of June 30, 2022, the gross accounts receivable balance from these countries amounted to $3.2 million, of which $1.7 million is more than 90 days past due and for which the Company has provided for an allowance for doubtful accounts of $1.7 million.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">Certain of the components included in the Company’s products are obtained from a sole source, a single source or a limited group of suppliers. Although the Company seeks to reduce dependence on those limited sources of suppliers and manufacturers, the partial or complete loss of certain of these sources, or the requirement to establish a new supplier for the components, could have a material adverse effect on the Company’s operating results, financial condition and cash flows and damage its customer relationships.</p> 0.10 0.10 1 1 0.17 0.14 1 1 0.19 0.16 1 0.13 2 0.63 0.11 3200000 1700000 1700000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Accounts</span><b style="font-weight:bold;"> </b><span style="font-style:italic;font-weight:bold;">Receivable</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">The Company provides credit to customers in the ordinary course of business and believes its credit policies are prudent and reflect industry practices and business risk. Management reviews accounts receivable on a periodic basis and reserves for receivables in the Company’s allowance for doubtful accounts on a specific identification basis when they are determined to be uncollectible. After the Company has exhausted all collection efforts, the outstanding receivable is written off against the allowance. In June 2021, the Company deemed certain receivables from a customer in the Middle East uncollectible due to credit and economic conditions, including the impact of COVID-19, and recorded a provision for bad debts of $1.7 million.</p> 1700000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Fair Value Measurements</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt;">Certain assets and liabilities are carried at fair value under GAAP. Fair value is defined 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. Valuation techniques used to measure fair value must maximize the use of observable inputs and minimize the use of unobservable inputs. Financial assets and liabilities carried at fair </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;">value are to be classified and disclosed in one of the following three levels of the fair value hierarchy, of which the first two are considered observable and the last is considered unobservable:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:25.2pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Level 1 — Quoted prices in active markets for identical assets or liabilities.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:25.2pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Level 2 — Observable inputs (other than Level 1 quoted prices), such as quoted prices in active markets for similar assets or liabilities, quoted prices in markets that are not active for identical or similar assets or liabilities, or other inputs that are observable or can be corroborated by observable market data.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:25.2pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Level 3 — Unobservable inputs that are supported by little or no market activity and that are significant to determining the fair value of the assets or liabilities, including pricing models, discounted cash flow methodologies and similar techniques.</span></td></tr></table><div style="margin-top:12pt;"/><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">The Company’s cash equivalents are carried at fair value, determined according to the fair value hierarchy described above (see Note 3). The carrying values of the Company’s accounts receivable, unbilled receivables, accounts payable and accrued expenses approximate their fair values due to the short-term nature of these assets and liabilities. The carrying value of the Company’s long-term debt approximates its fair value (a level 2 measurement) at each balance sheet date due to its variable interest rate, which approximates a market interest rate.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Revenue Recognition</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">The Company recognizes revenue from sales to customers under ASC 606, <i style="font-style:italic;">Revenue from Contracts with Customers </i>(“ASC 606”), by applying the following five steps: (1) identification of the contract, or contracts, with a customer, (2) identification of the performance obligations in the contract, (3) determination of the transaction price, (4) allocation of the transaction price to the performance obligations in the contract and (5) recognition of revenue when, or as, performance obligations are satisfied.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">For a contract with multiple performance obligations, the Company allocates the contract’s transaction price to each performance obligation on a relative standalone selling price basis using the Company’s best estimate of the standalone selling price of each distinct product or service in the contract. The primary method used to estimate standalone selling price is the price observed in standalone sales to customers; however, when prices in standalone sales are not available the Company may use third party pricing for similar products or services or estimate the standalone selling price, which is set by management. Allocation of the transaction price is determined at the contract’s inception and is not updated to reflect changes between contract inception and when the performance obligations are satisfied.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;margin:0pt 0pt 12pt 0pt;">Product and Service Revenue</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">The Company derives product and service revenue primarily from the sale of handheld and desktop products and related consumables and services. Revenue is recognized when control of the promised products, consumables or services is transferred to the Company’s customers, in an amount that reflects the consideration the Company expects to be entitled to in exchange for those products, consumables or services (the transaction price). A performance obligation is a promise in a contract to transfer a distinct product or service to a customer and is the unit of accounting under ASC 606. For devices and consumables sold by the Company, control transfers to the customer at a point in time. To indicate the transfer of control, the Company must have a present right to payment, legal title must have passed to the customer, the customer must have the significant risks and rewards of ownership, and where acceptance is other than perfunctory, the customer must have accepted the product or service. The Company’s principal terms of sale are freight on board (“FOB”) shipping point, or equivalent, and, as such, the Company primarily transfers control and records revenue for product sales upon shipment. Sales arrangements with delivery terms that are not FOB shipping point are not recognized upon shipment and the transfer of control for revenue recognition is evaluated based on the associated shipping terms and customer obligations. If a performance obligation to the customer with respect to a sales transaction remains to be fulfilled following shipment (typically installation or acceptance by the customer), revenue recognition for that performance obligation is deferred until such commitments have been fulfilled. For extended warranty and support, control transfers to the customer over the term of the arrangement. Revenue for extended warranty and support is recognized based upon the period of time elapsed under the arrangement as this period represents the transfer of benefits or services under the agreement.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt;">The Company recognizes a receivable at the point in time at which it has an unconditional right to payment. Such receivables are not contract assets. Payment terms for customer orders, including for each of the Company’s primary performance obligations, are typically 30 to 90 days after the shipment or delivery of the product, and such payments typically do not include payments that are variable, dependent on specified factors or events. In limited circumstances, there exists a right of return for a product if agreed to by the Company. Revenue is only recognized for those goods that are not expected to be returned such that it is probable that there will </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;">not be a significant reversal of cumulative revenue. Service arrangements commonly call for payments in advance of performing the work (e.g., extended warranty/service contracts), upon completion of the service or a mix of both. The Company does not enter into significant financing agreements or other forms of variable consideration.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">Contract assets arise from unbilled amounts in customer arrangements when revenue recognized exceeds the amount billed to the customer and the Company’s right to payment is not only subject to the passage of time. The Company had no contract assets related to product or service revenue as of June 30, 2022 or December 31, 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">Contract liabilities represent the Company’s obligation to transfer goods or services to a customer for which it has received consideration (or the amount is due) from the customer. The Company has determined that its only contract liability related to product and service revenue is deferred revenue, which consists of amounts that have been invoiced but that have not been recognized as revenue. Amounts expected to be recognized as revenue within 12 months of the balance sheet date are classified as current deferred revenue and amounts expected to be recognized as revenue beyond 12 months of the balance sheet date are classified as noncurrent deferred revenue.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt;">The following is a summary of the activity of the Company’s deferred revenue related to product and service revenue (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:25.2pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended June 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balances at beginning of period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 14,521</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 8,938</p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Recognition of revenue included in balance at beginning of the period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,494)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,211)</p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenue deferred during the period, net of revenue recognized</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 3,863</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.84%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,984</p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balances at end of period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 15,890</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 9,711</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt;">The amount of deferred revenue equals the transaction price allocated to unfulfilled performance obligations for the period presented. Such deferred revenue amounts related to product and service revenue are expected to be recognized in the future as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:25.2pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Deferred revenue expected to be recognized in:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">One year or less</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_V8Wb3PomTkepMXPMSrWUOg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">$</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 6,753</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_urL1FWWNykimL0SHwjK3gw;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">$</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 3,965</p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">One to two years</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 4,204</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2,001</p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Three years and beyond</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 4,933</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 3,745</p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.84%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 15,890</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.84%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 9,711</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:normal;">As of June 30, 2022, the Company’s wholly- or partially-unsatisfied performance obligations totaled </span><span style="font-style:normal;">$3.9</span><span style="font-style:normal;"> million related to product and service agreements entered prior to period end, which the Company expects to recognize through 2024.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;margin:0pt 0pt 12pt 0pt;">License and Contract Revenue</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">The Company generates revenue from short and long-term contracts associated with the design and development and delivery of detection devices or related design and support services. To date, these contracts are primarily with the U.S. government or commercial entities contracting with the U.S. government, but the Company has also had such contracts with commercial partners. The Company’s contracts with the U.S. government typically are subject to the Federal Acquisition Regulation (“FAR”) and are priced based on estimated or actual costs of producing goods or providing services. The FAR provides guidance on the types of costs that are allowable in establishing prices for goods or services provided under U.S. government contracts. The pricing for non-U.S. government contracts is based on the specific negotiations with each customer.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt;">Under the typical payment terms of U.S. government fixed-price contracts, the customer pays in accordance with the terms of the specific agreement, but generally through progress payments. If these progress payments are made in advance, these payments are recorded as a contract liability, classified as deferred revenue within the accompanying condensed consolidated balance sheet, until the Company provides the underlying services. For U.S. government cost-type contracts, the customer generally pays for actual costs incurred within a short period of time. For contracts with commercial partners, payments are made in accordance with the terms of the </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;">specific agreement. For agreements which call for milestone payments, to the extent the Company does not conclude that it is probable that a significant reversal of cumulative revenue will occur, a contract asset is generated until the Company is permitted to bill for costs incurred, which is classified as prepaid expense and other current assets in the accompanying condensed consolidated balance sheet. In some cases, payments received in advance under license agreements are recorded as deferred revenue and recognized over the respective contract term, absent any other performance obligations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">Generally, revenue for long-term contracts is recognized based upon the cost-to-cost measure of progress, provided that the Company meets the criteria associated with transferring control of the good or service over time such as not creating an asset with an alternative use and having an enforceable right to payment for completed performance. However, the Company evaluates the proper revenue recognition on a contract by contract basis, as each contract generally contains terms specific to the underlying agreement which result in differing performance obligations and payment terms (cost plus, fixed price agreements among others). For revenue recognized under the cost-to-cost measure of progress basis, the Company continually assesses total costs expected to be incurred and if such costs require adjustment to the measure of progress, the Company records such adjustment as a change in estimate on a cumulative catch-up basis in the period of adjustment.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">The Company includes the unconstrained amount of consideration in the transaction price. The amount included in the transaction price is constrained to the amount for which it is probable that a significant reversal of cumulative revenue recognized will not occur. At the end of each subsequent reporting period, as required under ASC 606, the Company re-evaluates the estimated consideration included in the transaction price and any related constraint, and if necessary, adjusts its estimate of the overall transaction price. Any such adjustments are recorded on a cumulative catch-up basis in the period of adjustment.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">Contract assets arise from unbilled amounts in customer arrangements when revenue recognized exceeds the amount billed to the customer and the Company’s right to payment is not just subject to the passage of time. The Company includes contract assets within prepaid and other current assets in the accompanying condensed consolidated balance sheet. The Company had contract assets related to contract or license revenue totaling $0.3 million and $0.2 million, respectively, as of June 30, 2022 and December 31, 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">Contract liabilities represent the Company’s obligation to transfer goods or services to a customer for which it has received consideration (or the amount is due) from the customer. Contract liabilities arising from contract and license agreements typically represent payments received for the license of symbolic intellectual property for a defined term. As of June 30, 2022, the Company had contract liabilities totaling $2.6 million related to contract and license revenue, which the Company expects to recognize in 2022 and 2023. As of December 31, 2021, the Company had contract liabilities totaling $2.6 million related to contract and license revenue, of which the Company recognized $0.1 million during the six months ended June 30, 2022. The Company recognizes deferred revenue by first allocating from the beginning deferred revenue balance to the extent that the beginning deferred revenue balance exceeds the revenue to be recognized. Billings during the period are added to the deferred revenue balance to be recognized in future periods. As of June 30, 2022, the Company’s wholly- or partially-unsatisfied performance obligations totaled $1.0 million related to contract and license agreements entered prior to period end, which the Company expects to recognize during the years ended December 31, 2022 and 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;margin:0pt 0pt 12pt 0pt;">Distribution Channels</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">A majority of the Company’s revenue is generated by sales in conjunction with its distribution partners, such as its international distributors and, in the United States, for end customers where a government contract is required or a customer has a pre-existing relationship. When the Company transacts with a distribution partner, its contractual arrangement is with the partner and not with the end-use customer. Whether the Company transacts business with and receives the order from a distribution partner or directly from an end-use customer, its revenue recognition policy and resulting pattern of revenue recognition for the order are the same.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;margin:0pt 0pt 12pt 0pt;">Disaggregated Revenue</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt;">The Company’s product and service revenue consists of sales of devices and consumables and the sale of service and extended warranty plans. The following table presents the Company’s revenue by revenue stream (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:25.2pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:-0.060188293%;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:56.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:56.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:19.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:19.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:56.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:56.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Product and service revenue:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:56.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Device sales revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 7,755</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 6,181</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 13,287</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 10,092</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:56.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Consumables and service revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2,853</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,734</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 5,350</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 3,180</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:56.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total product and service revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 10,608</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 7,915</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 18,637</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 13,272</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:56.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">License and contract revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 498</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 362</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 775</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 548</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:56.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 11,106</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 8,277</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 19,412</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 13,820</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt;">The following table presents the Company’s product and service revenue by device type (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:25.2pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:-0.060188293%;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:57.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:57.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:19.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:19.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:57.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:57.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Handheld</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 6,938</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 5,278</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 11,408</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 8,518</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:57.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Desktop</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 3,670</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2,637</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 7,229</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 4,754</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:57.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total product and service revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.74%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 10,608</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 7,915</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 18,637</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 13,272</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt;">Revenue based on the end-user entity type for the Company’s product and service revenue are presented below (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:25.2pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:-0.060188293%;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:59.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:19.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:18.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Government</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 7,002</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 5,279</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 11,719</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 8,513</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Pharmaceutical/Biotechnology</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 3,577</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2,609</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 6,705</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 4,709</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Academia</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 29</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 27</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.38%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 213</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.38%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 50</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total product and service revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 10,608</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 7,915</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.38%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 18,637</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.38%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 13,272</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt;">The following table disaggregates the Company’s revenue from contracts with customers by geography, which are determined based on the customer location (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:25.2pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:-0.060188293%;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:58.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:58.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:19.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:19.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Americas</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 9,470</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 5,815</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 15,538</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 10,489</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Europe, Middle East and Africa</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,245</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,725</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2,601</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2,171</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Asia Pacific</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 391</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 737</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,273</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,160</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 11,106</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 8,277</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 19,412</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 13,820</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">International sales are comprised primarily of product and service revenue, with the majority of license and contract revenue being attributable to North America.</p> P30D P90D 0 0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt;">The following is a summary of the activity of the Company’s deferred revenue related to product and service revenue (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:25.2pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended June 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balances at beginning of period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 14,521</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 8,938</p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Recognition of revenue included in balance at beginning of the period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,494)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,211)</p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenue deferred during the period, net of revenue recognized</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 3,863</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.84%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,984</p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balances at end of period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 15,890</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 9,711</p></td></tr></table> 14521000 8938000 -2494000 -1211000 3863000 1984000 15890000 9711000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt;">The amount of deferred revenue equals the transaction price allocated to unfulfilled performance obligations for the period presented. Such deferred revenue amounts related to product and service revenue are expected to be recognized in the future as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:25.2pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Deferred revenue expected to be recognized in:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">One year or less</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_V8Wb3PomTkepMXPMSrWUOg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">$</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 6,753</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_urL1FWWNykimL0SHwjK3gw;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">$</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 3,965</p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">One to two years</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 4,204</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2,001</p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Three years and beyond</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 4,933</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 3,745</p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.84%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 15,890</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.84%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 9,711</p></td></tr></table> 6753000 3965000 4204000 2001000 4933000 3745000 15890000 9711000 3900000 300000 200000 2600000 2600000 100000 1000000.0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt;">The Company’s product and service revenue consists of sales of devices and consumables and the sale of service and extended warranty plans. The following table presents the Company’s revenue by revenue stream (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:25.2pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:-0.060188293%;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:56.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:56.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:19.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:19.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:56.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:56.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Product and service revenue:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:56.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Device sales revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 7,755</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 6,181</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 13,287</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 10,092</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:56.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Consumables and service revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2,853</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,734</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 5,350</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 3,180</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:56.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total product and service revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 10,608</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 7,915</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 18,637</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 13,272</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:56.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">License and contract revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 498</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 362</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 775</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 548</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:56.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 11,106</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 8,277</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 19,412</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 13,820</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt;">The following table presents the Company’s product and service revenue by device type (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:25.2pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:-0.060188293%;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:57.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:57.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:19.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:19.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:57.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:57.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Handheld</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 6,938</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 5,278</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 11,408</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 8,518</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:57.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Desktop</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 3,670</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2,637</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 7,229</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 4,754</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:57.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total product and service revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.74%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 10,608</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 7,915</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 18,637</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 13,272</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt;">Revenue based on the end-user entity type for the Company’s product and service revenue are presented below (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:25.2pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:-0.060188293%;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:59.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:19.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:18.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Government</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 7,002</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 5,279</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 11,719</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 8,513</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Pharmaceutical/Biotechnology</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 3,577</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2,609</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 6,705</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 4,709</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Academia</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 29</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 27</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.38%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 213</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.38%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 50</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total product and service revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 10,608</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 7,915</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.38%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 18,637</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.38%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 13,272</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt;">The following table disaggregates the Company’s revenue from contracts with customers by geography, which are determined based on the customer location (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:25.2pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:-0.060188293%;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:58.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:58.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:19.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:19.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Americas</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 9,470</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 5,815</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 15,538</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 10,489</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Europe, Middle East and Africa</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,245</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,725</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2,601</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2,171</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Asia Pacific</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 391</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 737</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,273</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,160</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 11,106</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 8,277</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 19,412</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 13,820</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> 7755000 6181000 13287000 10092000 2853000 1734000 5350000 3180000 10608000 7915000 18637000 13272000 498000 362000 775000 548000 11106000 8277000 19412000 13820000 6938000 5278000 11408000 8518000 3670000 2637000 7229000 4754000 10608000 7915000 18637000 13272000 7002000 5279000 11719000 8513000 3577000 2609000 6705000 4709000 29000 27000 213000 50000 10608000 7915000 18637000 13272000 9470000 5815000 15538000 10489000 1245000 1725000 2601000 2171000 391000 737000 1273000 1160000 11106000 8277000 19412000 13820000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Net Income (Loss) per Share</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">The Company has one class of shares outstanding and basic net income (loss) per common share is computed by dividing the net income (loss) by the weighted average number of shares of common stock outstanding for the period. Diluted net income (loss) per common share is computed by dividing net income (loss) by the weighted average number of shares of common stock outstanding for the period, including potential dilutive common shares assuming the dilutive effect of any potential dilutive securities outstanding for the fiscal year. Potential dilutive securities include warrants, stock options, restricted stock units, and shares to be purchased under the Company’s employee stock purchase plan. For periods in which the Company reports a net loss, diluted net loss per common share is the same as basic net loss per common share, since dilutive common shares are not assumed to have been issued if their effect is anti-dilutive.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Recently Adopted Accounting Pronouncements</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">The Company qualifies as an “emerging growth company” as defined in the Jumpstart Our Business Startups Act of 2012 and has elected not to “opt out” of the extended transition related to complying with new or revised accounting standards, which means that when a standard is issued or revised and it has different application dates for public and nonpublic companies, the Company will adopt the new or revised standard at the time nonpublic companies adopt the new or revised standard and will do so until such time that the Company either (i) irrevocably elects to “opt out” of such extended transition period or (ii) no longer qualifies as an emerging growth company.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:normal;font-weight:normal;">In December 2019, the FASB issued ASU 2019-12, Income Taxes (ASC 740): Simplifying the Accounting for Income Taxes (“ASU 2019-12”), which is intended to simplify various areas related to accounting for income taxes. ASU 2019-</span><span style="font-style:normal;font-weight:normal;white-space:pre-wrap;">12 removes certain exceptions to the general principles in ASC 740 and also clarifies and amends existing guidance to improve consistent application. For public entities the guidance is effective for annual reporting periods beginning after December 15, 2020 and for interim periods within those fiscal years. For non-public entities, the guidance is effective for annual reporting periods beginning after December 15, 2021 and for interim periods within years beginning after December 15, 2022, with early adoption permitted. The Company adopted this guidance as of January 1, 2022 and the adoption did not have a material impact on its consolidated financial statements. </span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Recently Issued Accounting Pronouncements</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">In June 2016, the FASB issued ASU No. 2016-13, <i style="font-style:italic;">Financial Instruments—Credit Losses (Topic 326)</i>. The new standard adjusts the accounting for assets held at amortized costs basis, including marketable securities accounted for as available for sale, and trade receivables. The standard eliminates the probable initial recognition threshold and requires an entity to reflect its current estimate of all expected credit losses. The allowance for credit losses is a valuation account that is deducted from the amortized cost basis of the financial assets to present the net amount expected to be collected. For public entities except smaller reporting companies, the guidance is effective for annual reporting periods beginning after December 15, 2019 and for interim periods within those fiscal years. For non-public entities and smaller reporting companies, the guidance was effective for annual reporting periods beginning after December 15, 2021. In November 2019, the FASB issued ASU No. 2019-10, which deferred the effective date for non-public entities to annual reporting periods beginning after December 15, 2022, including interim periods within those fiscal years. Early application is allowed. The Company expects to adopt this standard effective January 1, 2023 and is assessing the impact of the adoption of this guidance on its consolidated financial statements.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 6pt 0pt;">3. Fair Value Measurements</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt;">The following tables present the Company’s fair value hierarchy for its assets and liabilities that are measured at fair value on a recurring basis (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:25.2pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:86.65%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:55.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:55.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:41.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Fair Value Measurements at June 30, 2022 Using:</b></p></td></tr><tr><td style="vertical-align:bottom;width:55.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Level 1</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Level 2</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Level 3</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:55.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">  </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">  </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">  </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">  </b></p></td></tr><tr><td style="vertical-align:bottom;width:55.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Cash equivalents:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">  </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">  </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">  </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">  </b></p></td></tr><tr><td style="vertical-align:bottom;width:55.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Money market funds</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 347</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 347</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:86.65%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:55.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:55.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:41.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair Value Measurements at December 31, 2021 Using:</b></p></td></tr><tr><td style="vertical-align:bottom;width:55.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 1</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 2</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 3</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:55.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:55.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Cash equivalents:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:55.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Money market funds</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 634</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 634</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt;">Money market funds were valued by the Company based on quoted market prices, which represent a Level 1 measurement within the fair value hierarchy. There were no transfers into or out of Level 3 during the six months ended June 30, 2022 or 2021.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt;">The following tables present the Company’s fair value hierarchy for its assets and liabilities that are measured at fair value on a recurring basis (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:25.2pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:86.65%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:55.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:55.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:41.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Fair Value Measurements at June 30, 2022 Using:</b></p></td></tr><tr><td style="vertical-align:bottom;width:55.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Level 1</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Level 2</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Level 3</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:55.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">  </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">  </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">  </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">  </b></p></td></tr><tr><td style="vertical-align:bottom;width:55.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Cash equivalents:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">  </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">  </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">  </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">  </b></p></td></tr><tr><td style="vertical-align:bottom;width:55.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Money market funds</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 347</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 347</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:86.65%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:55.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:55.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:41.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair Value Measurements at December 31, 2021 Using:</b></p></td></tr><tr><td style="vertical-align:bottom;width:55.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 1</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 2</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 3</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:55.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:55.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Cash equivalents:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:55.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Money market funds</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 634</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 634</p></td></tr></table> 347000 347000 634000 634000 0 0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 6pt 0pt;">4. Inventory</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt;">Inventory consisted of the following (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Raw materials</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 7,621</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 6,242</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Work-in-progress</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2,666</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 551</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Finished goods</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 891</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,125</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 11,178</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 7,918</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt;">Inventory consisted of the following (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Raw materials</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 7,621</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 6,242</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Work-in-progress</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2,666</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 551</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Finished goods</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 891</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,125</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 11,178</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 7,918</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table> 7621000 6242000 2666000 551000 891000 1125000 11178000 7918000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">5. Accrued Expenses</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt;">Accrued expenses consisted of the following (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accrued employee compensation and benefits</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 2,793</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 3,271</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accrued warranty</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1,283</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1,593</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accrued professional fees</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 905</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 710</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accrued other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 976</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1,387</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 5,957</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 6,961</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:25.2pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt;">Changes in the Company’s product warranty obligation were as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:25.2pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:74.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:74.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Six Months Ended June 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:74.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accrual balance at beginning of period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1,593</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1,265</p></td></tr><tr><td style="vertical-align:bottom;width:74.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Provision for new warranties</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1,166</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 500</p></td></tr><tr><td style="vertical-align:bottom;width:74.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Settlements and adjustments made during the period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,476)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (775)</p></td></tr><tr><td style="vertical-align:bottom;width:74.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accrual balance at end of period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1,283</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 990</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-size:1pt;margin-bottom:12pt;visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt;">Accrued expenses consisted of the following (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accrued employee compensation and benefits</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 2,793</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 3,271</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accrued warranty</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1,283</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1,593</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accrued professional fees</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 905</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 710</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accrued other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 976</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1,387</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 5,957</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 6,961</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:25.2pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> 2793000 3271000 1283000 1593000 905000 710000 976000 1387000 5957000 6961000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt;">Changes in the Company’s product warranty obligation were as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:25.2pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:74.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:74.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Six Months Ended June 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:74.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accrual balance at beginning of period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1,593</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1,265</p></td></tr><tr><td style="vertical-align:bottom;width:74.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Provision for new warranties</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1,166</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 500</p></td></tr><tr><td style="vertical-align:bottom;width:74.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Settlements and adjustments made during the period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,476)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (775)</p></td></tr><tr><td style="vertical-align:bottom;width:74.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accrual balance at end of period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1,283</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 990</p></td></tr></table> 1593000 1265000 1166000 500000 1476000 775000 1283000 990000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">6. Long-Term Debt</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">As of December 31, 2020, the Company had outstanding borrowings under a Loan and Security Agreement, as amended (the “2019 Loan”) with a financial institution (the “Lender”). On March 11, 2021, the Company entered into an Amended and Restated Loan and Security Agreement, (the “2021 Revolver”), with the Lender to replace the 2019 Loan. This agreement created a revolving line of credit totaling $25.0 million and eliminated the existing term loan. Borrowings under the revolving line of credit bear interest at an annual rate equal to the greater of (i) one-half percent (0.5%) above the prime rate or (ii) 4.0% and mature on March 11, 2024. Borrowings are collateralized by substantially all of the Company’s property, excluding intellectual property, which is subject to a negative pledge. The 2021 Revolver subjects the Company to various customary covenants, including requirements as to financial reporting and financial covenants (including an unrestricted minimum cash level of $10.0 million), and restrictions on the Company’s ability to dispose of its business or property, to change its line of business, to liquidate or dissolve, to enter into any change in control transaction, to merge or consolidate with any other entity or to acquire all or substantially all the capital stock or property of another entity, to incur additional indebtedness, to incur liens on the Company’s property, to pay any dividends or make other distributions on capital stock other than dividends payable solely in capital stock, to redeem capital stock, to enter into in-bound licensing agreements, to engage in transactions with affiliates, and to encumber the Company’s intellectual property. Events of default under the 2021 Revolver include failure to make payments when due, insolvency events, failure to comply with covenants or material adverse events with respect to the Company. Upon the occurrence of an event of default and until such event of default is no longer continuing, the annual interest rate will be 5.0% above the otherwise applicable rate. As of June 30, 2022, the Company was in compliance with all financial covenants under the 2021 Revolver.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt;">The terms of the 2021 Revolver required that the existing term loan outstanding under the 2019 Loan be repaid with an advance under the line of credit. Accordingly, on March 11, 2021, the Company used $14.5 million of proceeds from the revolving </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;">line of credit to repay all amounts then due on the existing term loan. The Company accounted for the transaction as a debt extinguishment and recorded a loss on extinguishment of $0.2 million, which was included in interest expense in the condensed consolidated statements of operations and comprehensive loss.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">As of June 30, 2022, and December 31, 2021, the Company had $15.0 million outstanding under the 2021 Revolver and it is classified as long-term debt in the condensed consolidated balance sheet.</p> 25000000.0 0.005 0.040 2024-03-11 10000000.0 0.050 14500000 -200000 15000000.0 15000000.0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">7. Equity and Net Income (Loss) per Share</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-indent:25.2pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;">Equity</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">As of June 30, 2022, the Company’s certificate of incorporation authorized the Company to issue up to 5,000,000 shares of preferred stock, all of which is undesignated.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">Each share of common stock entitles the holder to one vote on all matters submitted to a vote of the Company’s stockholders. Common stockholders are not entitled to receive dividends, unless declared by the board of directors.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">As of June 30, 2022, and December 31, 2021, the Company had outstanding warrants for the purchase of 92,703 shares of common stock at an exercise price of $9.17 per share, of which warrants for the purchase of 49,078 shares and 43,625 shares expire in 2027 and 2028, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:25.2pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Net Income (Loss) per Share</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt;">The Company only has one class of shares outstanding and basic net income (loss) per common share is computed by dividing the net income (loss) by the weighted average number of shares of common stock outstanding for the period. Diluted net income (loss) per common share is computed by dividing net income (loss) by the weighted average number of shares of common stock outstanding for the period, including potential dilutive common shares assuming the dilutive effect of outstanding stock awards. For periods in which the Company reports a net loss, diluted net loss per common share is the same as basic net loss per common share, since dilutive common shares are not assumed to have been issued if their effect is anti-dilutive. As the Company has reported a net loss during the three and six months ended June 30, 2022 and 2021, basic net loss per share is the same as diluted net loss per share. The Company excluded the following potential shares of common stock, presented based on amounts outstanding at each period end, from the computation of diluted net income (loss) per share attributable to common stockholders for three and six months ended June 30, 2022 and 2021 as the impact of including such common stock equivalents would have been anti-dilutive:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:25.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">June 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:71.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Warrants to purchase common stock</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 92,703</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 92,703</p></td></tr><tr><td style="vertical-align:bottom;width:71.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Options to purchase common stock</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 2,764,916</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 3,233,949</p></td></tr><tr><td style="vertical-align:bottom;width:71.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Restricted stock units</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 254,482</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:71.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 3,112,101</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 3,326,652</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-size:1pt;margin-bottom:12pt;visibility:hidden;">​</span></p> 5000000 1 92703 92703 9.17 9.17 49078 49078 43625 43625 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:25.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">June 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:71.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Warrants to purchase common stock</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 92,703</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 92,703</p></td></tr><tr><td style="vertical-align:bottom;width:71.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Options to purchase common stock</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 2,764,916</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 3,233,949</p></td></tr><tr><td style="vertical-align:bottom;width:71.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Restricted stock units</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 254,482</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:71.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 3,112,101</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 3,326,652</p></td></tr></table> 92703 92703 2764916 3233949 254482 3112101 3326652 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">8. Stock-Based Compensation</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt;">The Company recorded stock-based compensation expense for all stock awards in the following expense categories of its condensed consolidated statements of operations and comprehensive loss (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:25.2pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:59.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:59.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:19.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:17.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:59.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:59.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cost of revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 86</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 14</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 149</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 17</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:59.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Research and development expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 421</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 85</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 681</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 145</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:59.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Selling, general and administrative expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,387</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 382</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2,353</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.75%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 658</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:59.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,894</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 481</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 3,183</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.75%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 820</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt;">As of June 30, 2022, unrecognized compensation expense was $18.5 million, related to unvested restricted stock units and stock options, which is expected to be recognized over a weighted average period of 2.99 years.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt;">The Company recorded stock-based compensation expense for all stock awards in the following expense categories of its condensed consolidated statements of operations and comprehensive loss (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:25.2pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:59.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:59.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:19.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:17.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:59.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:59.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cost of revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 86</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 14</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 149</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 17</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:59.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Research and development expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 421</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 85</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 681</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 145</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:59.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Selling, general and administrative expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,387</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 382</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2,353</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.75%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 658</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:59.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,894</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 481</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 3,183</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.75%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 820</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table> 86000 14000 149000 17000 421000 85000 681000 145000 1387000 382000 2353000 658000 1894000 481000 3183000 820000 18500000 P2Y11M26D <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">9. Commitments and Contingencies</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Operating Leases</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">The Company’s primary operating lease obligations consists of various leases for office space in Boston, Massachusetts; North Carolina; and Pennsylvania. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">There have been no material changes to the Company’s leases during the six months ended June 30, 2022. For additional information, read Note 11, <i style="font-style:italic;">Leases, </i>to the consolidated financial statements in the Company’s Form 10-K for the year ended December 31, 2021. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">On July 17, 2022, the Company entered into a new operating lease agreement in Morrisville, North Carolina (the “New NC Lease”), to expand the Company’s research and development activities focused on its desktop offerings and enable the ability to standup an additional manufacturing site for the Company. The New NC Lease is for approximately 13,300 rentable square feet and occupancy is expected in the first half of 2023. The New NC Lease is for a term of 88 months with total lease costs of approximately $4.0 million.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Royalty Arrangements</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">The Company has entered into royalty arrangements with two parties whereby the Company owes low- to mid-single digit royalty percentages related to revenue that is derived pursuant to in-licensed technologies. Royalty obligations are expensed when incurred or over the minimum royalty periods and have not been material. Some of the arrangements include minimum royalties over a defined term.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">The future minimum royalty payments are $0.1 million per year through the end of the patents’ lives. The Company has the right to terminate the agreements with written notice.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">401(k) Savings Plan</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">The Company has a defined-contribution savings plan under Section 401(k) of the Internal Revenue Code. This plan covers substantially all employees who meet minimum age and service requirements and allows participants to defer a portion of their annual compensation on a pre-tax basis. Company contributions to the plan may be made at the discretion of the board of directors. On October 1, 2021, the Company commenced an employer match program whereby the Company matches 100% of the first 3% that each employee contributes to the plan, capped at a maximum of $3,500 per year per employee. During the six months ended June 30, 2022, the Company made $0.3<span style="white-space:pre-wrap;"> million in contributions to the plan. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Indemnification Agreements</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt 0pt 12pt 0pt;">In the ordinary course of business, the Company may provide indemnification of varying scope and terms to vendors, lessors, business partners and other parties with respect to certain matters including, but not limited to, losses arising out of breach of such agreements or from intellectual property infringement claims made by third parties. In addition, the Company has entered into indemnification agreements with its executive officers and members of its board of directors that will require the Company, among other things, to indemnify them against certain liabilities that may arise by reason of their status or services as directors or officers. The maximum potential amount of future payments the Company could be required to make under these indemnification agreements is, in many cases, unlimited. To date, the Company has not incurred any material costs as a result of such indemnifications. The Company is not currently aware of any indemnification claims and had not accrued any liabilities related to such obligations in its condensed consolidated financial statements as of June 30, 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Legal Proceedings</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:28.8pt;margin:0pt;">The Company is not currently party to any material legal proceedings. At each reporting date, the Company evaluates whether or not a potential loss amount or a potential range of loss is probable and reasonably estimable under the provisions of the </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;">authoritative guidance that addresses accounting for contingencies. The Company expenses as incurred the costs related to such legal proceedings.</p> 13300 P88M 4000000.0 2 100000 1 0.03 3500 300000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">10. Subsequent events</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">On August 3, 2022, the Company entered into a share purchase and transfer agreement and completed its acquisition of 100% of the registered share capital of TRACE Analytics GmbH, a German limited liability company located in Braunschweig, Germany (Trace), for total potential purchase price consideration of $17.3 million, comprised of (i) a $15.3 million initial cash payment plus (ii) up to $2.0 million contingent cash consideration upon achievement of certain milestones over a twenty four month period. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Trace is a leading provider of online analysis systems for biotech applications in research, development and production. Trace’s products are used for monitoring and control of complex processes in industrial pharmaceutical productions under continuous measurement conditions. With the acquisition of Trace, the Company has acquired enabling sampling technology that it expects to integrate within future product offerings.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The Company has not determined its initial accounting for the acquisition. As of August 9, 2022, the preliminary purchase price allocation related to the acquisition of Trace is incomplete. The Company has retained an independent valuation firm to assess the fair value of the identified intangible assets and certain tangible assets acquired and liabilities assumed. During the three and six months ended June 30, 2022, the Company incurred approximately $0.2 million in costs associated with the acquisition of Trace, which are recorded as selling, general, and administrative expenses within the consolidated statements of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p> 1 17300000 15300000 2000000.0 P24M 200000 200000 EXCEL 53 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( $D["54'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 " !).PE57<]/'^\ K @ $0 &1O8U!R;W!S+V-O&ULS9+! M3L,P#(9?!>7>.LW$!%'7"X@32$A, G&+'&^+:-HH,6KW]J1EZX3@ 3C&_O/Y ML^0:@\8^TG/L T5VE*Y&WW9)8]B( W/0 D/Y$TJ'\C'L(!C_, MGD!)N09/;*QA Q.P" M1-+5%C9$,]_&$M[C@PV=L9YA%H)8\=9R@*BL0S30Q M',>VA@M@@C%%G[X+9!?B7/T3.W= G))CL2 MFPXI_TI.\S'01IPGOZ[N[K%/)V6U5:K;6\?I]&UL[5I;<]HX%'[OK]!X9_9M"\8V@;:T$W-I=MNTF83M M3A^%$5B-;'EDD81_OTV23;J;/ 0LZ?O.14?GZ#AY\^XN8NB&B)3R M> +]O6N[!3+ MUES@6QHO(];JM-O=5H1I;*$81V1@?5XL:$#05%%:;U\@M.4?,_@5RU2-9:,! M$U=!)KF(M/+Y;,7\VMX^9<_I.ATR@6XP&U@@?\YOI^1.6HCA5,+$P&IG/U9K MQ]'22(""R7V4!;I)]J/3%0@R#3LZG5C.=GSVQ.V?C,K:=#1M&N#C\7@XMLO2 MBW A(5M>5 TR M6'!VULS2 Y9>*?IUE!K9';O=05SP6.XYB1'^QL4$UFG2&98T1G*=D 4. #?$ MT4Q0?*]!MHK@PI+27)#6SRFU4!H(FLB!]4>"(<7K;YH] M5Z%82=J$^!!&&N*<<^9ST6S[!Z5&T?95O-RCEU@5 9<8WS2J-2S%UGB5P/&M MG#P=$Q+-E L&08:7)"82J3E^34@3_BNEVOZKR2.FJW"$2M"/F(9 M-AIRM1:!MG&IA&!:$L;1>$[2M!'\6:PUDSY@R.S-D77.UI$.$9)>-T(^8LZ+ MD!&_'H8X2IKMHG%8!/V>7L-)P>B"RV;]N'Z&U3-L+([W1]072N0/)J<_Z3(T M!Z.:60F]A%9JGZJ'-#ZH'C(*!?&Y'C[E>G@*-Y;&O%"N@GL!_]':-\*K^(+ M.7\N?<^E[[GT/:'2MSAD6R4)RU3393>* M$IY"&V[I4_5*E=?EK[DHN#Q;Y.FOH70^+,_Y/%_GM,T+,T.WF)&Y M"M-2D&_#^>G%>!KB.=D$N7V85VWGV-'1^^?!4;"C[SR6'<>(\J(A[J&&F,_# M0X=Y>U^89Y7&4#04;6RL)"Q&MV"XU_$L%.!D8"V@!X.O40+R4E5@,5O& RN0 MHGQ,C$7H<.>77%_CT9+CVZ9EM6ZO*7<9;2)2.<)IF!-GJ\K>9;'!51W/55OR ML+YJ/;053L_^6:W(GPP13A8+$DACE!>F2J+S&5.^YRM)Q%4XOT4SMA*7&+SC MYL=Q3E.X$G:V#P(RN;LYJ7IE,6>F\M\M# DL6XA9$N)-7>W5YYNTB42%(JP# 4A M%W+C[^^3:G>,U_HL@6V$5#)DU1?*0XG!/3-R0]A4)?.NVB8+A=OB5,V[&KXF M8$O#>FZ=+2?_VU[4/;07/4;SHYG@'K.' MYA,L0Z1^P7V*BH 1JV*^NJ]/^26<.[1[\8$@F_S6VZ3VW> ,?-2K6J5D*Q$_ M2P=\'Y(&8XQ;]#1?CQ1BK::QK<;:,0QY@%CS#*%F.-^'19H:,]6+K#F-"F]! MU4#E/]O4#6CV#30,9FV-J/D3@H\W/[O#;#"Q([A[8N_ 5!+ P04 M" !).PE5J:\4D&UF ;E"Q,F_ M[Q'8X&S%,676-S9?YT6OCI >29<;J;YD*R$T>4GB-+OJK;1>OQL,LF E$IZ= MRK5(XLX2L5,D2Q/ M$JY>KT4L-U<]VMM=^!0M5]I<&(POUWPIYD+_L9XI.!M4*F&4B#2+9$J46%SU M)O2=[[HFH'CBI/QB3J;A5<\Q)1*Q"+21X/#W+'P1QT8)RO'/ M5K17O=,$[A_OU.\*\V#FB6?"E_&?4:A75[WS'@G%@N>Q_B0WOXJM(<_H!3+. MBE^R*9\=#GLDR#,MDVTPE"")TO*?OVPK8C^ -@2P;0#[*H VO<'=!A0U-RA+ M5MBZX9J/+Y7<$&6>!C5S4-1-$0UNHM2D<:X5W(T@3H]O9)!#5C3A:4AN4QWI M5S)-R^9AJKE/LA57(KL<:'B;B1D$6^7K4IDU*(_(O4SU*@/54(1OXP=0RJJH M;%?4:X8*_I:GI\1U3@AS&+.4Q\?#)_GRE#A#6_B;XKA5S;F%GMNMYFP55@H. M[8+F@WV7K7D@KGKP169"/8O>^(?OZ,CYV>;V&XF]\3ZLO \Q]?'6[B>QC#*M M.%3" T^$S3*N<^&UU2,> M3IW^1YLE-*JCI5%E:=3.TL><*RU4;'*YEDK;[.%26N6V2O'1J([VSBI[9RTS M!FTSBXJ.K-D?KK7@<68UB(9U-'A>&3QO9W F5"1-]Q,2Z/ZMK1-7JCK5QEX5 MC>_H\Z+R>=&FG[F+8D$>\N1)*)M#7,-Q:-^].*>>S1P:VM$<=>JQUVEC;YH& M4D'K+,:-$S+7D$DB%?%EGFKU"O^A-;,'U&]N;8[QH*Z6]W"#MK'\R%_(-(06 M'"VBH"2-YOP>D!QZ_:''AL[%R.H7#>[JE]5^61N_DS $]>QD=T#>PW/D0VK/ M*RXY&GID#M0M%#05!>!GM8UJ=+5=LQ%%\>,_MGUS!DWZ46ZL9'1 [EH""-L" M?3RPJ\^:@V@K$-IEM?QT/R@R4_(Y2@-[>G')^XG5YS$(B-8(1'&(^3J?,T@( MC\G?T;JY=\(58;2ACM7I,<"(UF1$<9XI6NH$9L3-QG"!<^_,:NL80$1K(J(X MQKR7 >1KMI(I-I(>$&'>L$\]QYZV8_ 0K8&(XASS&&E@!+D@E/WX]!.9BR!7 MD$FK25S)ETD"P]%+H4C=/- T(/ MD_G-Q#H;PP.[.JRQB+7"(C]7RF!].5DI4@DC2FY=?3F@^)=US<;'H[KZK'&( MM<*A:0J3SG(%S\Q;^,ZXU2>NV.3S&/S#:OYAK?C'3%R XP$*EE)9.Z,#.@\R M[?,@$" #(F$I:/5[# YB-0>Q5APT3W@U]5>C4(,!YC=6/*&8^;%*C[YD&L M]]10@M7Q-^*7;3V4:EZA9O:3GL@:$_&SS6),.:[4PY,.8H8!KIVDH M7LCOPI[&0^M##O4\CYU=6#T<@WS:_AQ<53YVN-V\;;9 M)2[WT>[Q&.#C[FV*X< R 8-A:3+FUC[F@$!CKXK'_5]C@[TM4S.J%SO)&0G, MDFNY>UI=K7:K)\4>[:!^O-SJON<&"C(2BP6$.J=GT.&IX/-%R76S /DFM M95(&/_P502P,$% @ 23L)5

UYERC'WE6J//16NO-V7BLXC7/F3H5&U[ +RLA3:F&/OCG*7%:#JIGEW+Z424.DL+?BV1*O.GSP);U= M:_-@/)ULV"U?GX%2.;I%5;LV99M.)%/=(&FFP9BZJV%3: MX$U:F&5<: F_IJ"GI[//5_/+J\7E','5XO.G#_.+&[AY=_'IXFIVB1;O+R]O M%N@$?5W,T>]';] 12@MTLQ:E8D6B)F,-&(RE<;Q[W[OM^VC/^SZ6Q2ER\#&B MF%*+^FQ8?5.CE4'X/GM?NT=I]6]IP^]TLI>:$14XIK=6;S9VO M1LP MN^Q,;5C,ST>PC127=WPT_?47XN.W-N]>R=B!KT[MJS-D?3IC:HU@U5!L+OCW M,KUC&3AO7<6M*;\R94K!W902&D7N9'RW[X]%C+HX<&JQ Z1NC=0=1'H1QZ($ M8% G8@XHEQD_1@74-+%"+(/*PXJ8(ZAA*!'E4J_*#,K!3@5$CLAQX&&;5]O7 M>GMP"<%1V'+*(N4[@6?WR:M]\@9]^E#<0:R%?+#A\BRX2-#&U94*(A+:8?DU M+'\0UK7D&Y8FB/\ 8E!<50DB])I+J#[[>\,&V^\ I@ M$/6-T"Q[!L"@\V[JA'XGL!8QCX913Q:'-%/!)2.^"H!AP]D0O0'4C]4.6 J0\;X&M=[3P;SJ@; M-9=$+9Q=(:AF/8$EN"$M/!S:*D$S4=R>:"[S@6#N#!T <(C70FF3HK1G:Y$] M;B7/2-,!<,020C^*.O L152?"UK!TZ MW= @&>;!FETV[,%0B]5AQY(03IO];%).0'I6I6$_\B3]R9(W-=D*L$M27N0% M;8!=*3_R^P V5$:&N6S.5QP2)P%^!E(K[1'LLI4?NJ0-L"OEP4+W &Q(C0RS M6JOT[N>W%6N7HXB+:1NK1B.DF22M7G1I MRPFBSN[J2KD>[F$-VI ;'2:W]NYZ"7!J(3+BNVU6MHI%7A_TAO#HI]IT-MMF-Q:%21A>Q( 7_7XE-$?1 M&ROP_\!;R#H%_KRA0^<;[J/.(.$OM(B_K466<*E^JWH\_6"?>@<=0?P/X3CT]3I0PSP^0I2JTTY(^I-4RCCV7!ZW.-*J_F,+OF2VA3'X\K8 #@ M:L.KA;EH#.MP:F-TEBOXXDVV4[9%^:V+EP8<0K_X5 M0@E/NQVT"F+L.SWG!;3I7.APY[)E)F4I?U; W?:$8D(Z9L6"GJL%2CBTP " M(+?GY=L;+3;5D?-2:"WRZG+-&< V O#[2@#+[F[,*7;]7XOIOU!+ P04 M" !).PE5\PH:VA$# "@"@ & 'AL+W=OU\\YV-B#-67//"!$@)P&),6_1E"3RR8*R M& O994N3IXQ@7XOBR+0@[)HQ#A/#'>A[,^8.:":B,"$S!G@6QYC]NB0170\- M9+S>N ^7@5 W3'>0XB69$_&8SICLF:6+'\8DX2%- ".+H3%"%V.D!3KB>TC6 MO-(&*I4G2I]5Y]H?&E 1D8AX0EE@>5F1,8DBY20Y?A:F1CFF$E;;K^Y?=/(R MF2?,R9A&/T)?!$.C9P"?+' 6B7NZOB)%0K;R\VC$]3]8Y[%.WP!>Q@6-"[$D MB,,DO^*7HA 5 >IL$5B%P#I4T"X$;9UH3J;3FF"!W0&C:\!4M'13#5T;K9;9 MA(EZC7/!Y--0ZH0[OKN=3&_GTPF0K?G=S?5D]" [EZ.;T>UX"N97T^G#')S. M,".)"(@(/1R=@4_@<3X!IR=GX 2$"7@(:,9QXO.!*223T)JK%V2M;.3M:97/*$,>(# MN4Z\YW.08@96.,I($V;NY50(8 M"M,&Y+ZH&:I>@]G&@/) +B@.'U>#[I;0W7=!AYQGS<#=-R";J+LB:I!.">F\"U+N6%S( M3U*8+)M(G;VDNR)JI+V2M+>3=$SC6.Y;A\S4WD$S=5]4C;)?4O:/H#QHFO;? M5 I!V#A1#XFL42/X=QN#QW-OGZF%6Q6EC>PV0LC>8&Z,A(X#86<+4AX$V1C>!FY?B@SF[?,%N&"0<164@I;#G2@^7'H;PC:*I/%$]4R/.) M;@;R"$F8"I#/%Y2*UXXZI)2'4O&PO=V]R:W-H965T&ULK5EM<]HX$/XK&JYST\XT MP9+\1BYA)L'N-3=YFY"VGQT0X*EM<98@O7]_LG%LD-9J>D<^!&R>7>E9K5:/ MI/,77GX7*\8D^I%GA;@8K*12).^9H5ZI<%+_-$JL=R.13KDB7S MVBC/AL1Q_&&>I,5@?%Z_>RC'YWPCL[1@#R42FSQ/RG^N6,9?+@9X\/KB,5VN M9/5B.#Y?)TLV9?++^J%43\/6RSS-62%27J"2+2X&E_@L)EYE4".^INQ%['U' M%95GSK]7#]?SBX%3]8AE;"8K%XGZV+()R[+*D^K'WXW30=MF9;C__=7[IYJ\ M(O.<"#;AV;=T+E<7@W" YFR1;#+YR%\^LX90W<$9ST3]'[TT6&> 9ALA>=X8 MJQ[D:;'[3'XT@=@S4'Y@ ](8$-W [3&@C0%]:PMN8^"^M06O,:BI#W?')_%\5WTSA"ZMOT_N8Z MNGQ2#],G]7$;WSU-T?TG=/\0/UX^72L NKRKD+H?2 CVM^$8DQ5R<#Z7J9-74<-9TZ&K7(=+3(8IN>2%7 L7%G,T! M^\AN[UOLARHX;83(:X2NB-7A7YOB%%'G(R(.(4!_)F\WQQ"=_]=Z_)];/P@& M;=.%UO[<'G^/;,N*#8.&=6?HUX95>=J.,<:.?S[<[@?+1(4D" Y!$>!JY&)R MB(H!% V)TZ(."+HM0==*<,*%1'RA:F OT9T#;Z]=UPVTSDU,$ U'H<;3!(6^ M.])HFB#?HQ1FZ;4L/2O+/TLN!%J7?)%*B*)GMNE35Z-H@EP::+V/3!!V I]J M'$U40,( YNBW'/W:BO9PO%^S,I%IL43LAUI6!1-G$%7?%JAJF3X3ZV3&+@9J M'1:LW++!^/??L._\ 96"8SJ+CNDL/I*S@Y$(VI$(?E(T!$O*V0JI%4$MXENE M3M9*:X"9%YA)149:NDQ,$'4\3\L\$Q1B?0;&)LAW^DI(V-(-K72G2O6HM/N( MEJQ0*9C5M).Y6KQ3(:N4W()E)81F"G8TZB8J#(Q)9X*(X^H!BH$&78\2F/RH M)3^RDG_B4C'FQMR#&(_,#GB.HP\V@,*A7HPB$T5"52QT&LJQ MDKZIJNFBY/DK<5[ RLSVT]Z0C MME=8N6*EDGLSGC/TOAGI#V"5;3P=J

U5MT5&_QL;P=C@GIQH184_&ZD$SY ME:\3#QP, B2$IRIV!0"[NR[Y.B6*[%-W/OH^H8.!RTO@XK L& M51,4.#I3$^-BK#,U0=C'/40[18KMDK0IJ>!DZR=NRD:BDYH ((IUX@ F\'7B M)NB$>&X/\TZE8KM,O6,2955MK59015S-F%5U1K%E]6N0MV?L"DY"9V246 6 MN$1?52 8#CSLZOPA'/7PJ"<"G8;%5F'614"M*TBLDE*E^G,BTAG(?>@4)+9+2"@.\S3;2/"(X*KQ]M-(P# C M$B#L9Y$ C7HCT8E+;%>7W^JC+Z84Y59)C26KYD7.BUU0!.(;*:2:+K4 [<\4 M4_M1[&+JZM-_ B!)0*GG4R-*D$^*B>?I.UK89XWMB4ZG/K%=?OY*=&SY8PK% MOO@ DK(G/I!/.#Z@3TM\2*=4B5VI/I1\OIG)NJ!6XB.=,=M1A]W;K\JVHWJ+ MCNHM/I:WPW'II#2QRD+;N5IC>7#.Y?B.MI.= +!@I*NZ"'(6&KD:0S!*@IZ- M$NG4*;&KTS>'>'5;.RF5]>2C4S-D4IN4R[00*&,+U91S&JC^EKL+QMV#Y.OZ!NV92\GS^NN*)7-65@#U^X)S M^?I0-=!>\X[_!5!+ P04 " !).PE50)3\-)() #N4@ & 'AL+W=O M#1=-LWHQ&]6R1K[+Z=;G)U^(_CV6URAKQMGH:U9LJS^9= MH]5R1'T_&JVR8CVXN>K^=E_=7)7;9EFL\_O*J[>K55;]^2Y?EL_7 S+X]H7G]LWM_'K@MR/*E_FL:24R\>M+/LF7RU9)C../7G2P[[-M M>/CZF_I/W<6+B_F4U?FD7/Z[F#>+ZT$R\.;Y8[9=-A_*YY_S_H+"5F]6+NON MI_?_L:^^(@P:$'6E ^P94:T#C(PU8WX#I#8X- M*>@;!.<.*>P;=)<^VEU[Y[@T:[*;JZI\]JK66JBU+SKO=ZV%OXIU.U&F327^ M6XAVS3?_Y\]VO* M/TS_YO%_?;Q]^(\W]#Y.4^_''UYY/WC%VGM8E-LZ6\_KJU$CQM6JCV;]&-[M MQD"/C:%F)O_78^+]HYERV]^ZR8#\58)MFF:+(EH)6>T)K- MMJOM,FORN9?FC\6L: 1;A=Y*(V^1R(J^]#0?6AHIQ,Y5[6B%'-7GN,_-VC/O4A5^\THTZSS1)?;FA\-?IRZ$_ A,1!0E6SU#0; MQDD0):H9-\T(&_L!V9LI%\_V%\\<+_Y'$=AZD55Y_>HL1^ST0\41-&;^.-3< M81U(FZC?U)MLEE\/1":N\^I+/KCYZU](Y/\#FE^88AQ)3 E L ] T*FS(P&X M7<_$C:<6?A>>[EZ]:C_FW8=T42[G>56+5/#'MFC^A+P?(/IA@BF68HIQ)#$E M0N$^0J'U(W);U]ONDU$^>K-="JW;Z'C;C7B9?\VK65%W_]W]N=RT:1+,S]:. M7*,5 A\\+;5@]L>M_2F>C?:>C2[AV<,4!7DY,@<:Q'&DI2/KT%PG.Z881Q)3 M0A+O0Q);0]+EG6%;$L[;D(@ZN> "&(4E$(ST;FW;#,1DGL9Z-33M"HR@ZPD5$@A&QDY&] M*#CM"P"!XC!(B&^D8E0,0E7C6&IJ#"0)$3L*O; HB,\H"DSF@(L"TPXN"DP[ M:U$@.8;800:A*#!YX5A1@ HSJ&H<2TT-@Z0C,KYH46"%+^?[$:9:BJK&L=34 M?02)0'1QQPL%%E9S1[57#:&2:@,>+' ML7\PLMXEJ("&JL:QU-082$"CKAMFYZS2]*+V[4)@)PU:KP+LP 4KP,ZV8D4E M^U [^YRL"DZ[P^2&(XM6]J$XST14^L%24\,@&8F&EZP**.IF%*I:BJK&L=34 M.$F6HQ?9Y0)C%IF' /0/#(!^8WU?T#YB9_]"729'LHS$+VK'KPMM#E* O4*? M,N,6B+G)E**J<2PU-3*2"JF="E^R1VB7=,XV)E4&"=$G.2H"GNA2=:4D.VK? M^+(2 RJVH:JE%-@TBP,:Z"7(*3/US)($+>:T9W;.DEBO:%T>9,!>&K0\"-B! MRX. G6UYD$D28DXDY+H\R ! @9<'[>-P/K2%J<:QU-082!ACWWEL$':]>8S/ M %(&<1H I( =#*2 H0U(V<'A0<33@[ _3$@YPJ3VH3A/1=P#A)?8C&(2R-A% MSQ RU/TJ5+4458UCJ:EQDL3&_FT].V2G^A2];!D+?9_ M.5'(H".%+ FHGJ-0=]-0U3B6FAH9B7,,_V"A7=)YD@.[9#31SQ:B]LE/]:DZ M4Q(8LQ/8[WG=M'==,8_%()JJF+5/4O0S?5TT<,HP"8;0,=//Q=J[=I[#J!"& MI::Z7=(:>SFMV9LZSU546F, AHT#HA_M/&FF/N @:2UPI;7#!6(*/M9@TII1 M)@W#MM#.@#2K&6*P? M&)C8Q^'\! ",W M.!/7 #L8UP!#&ZX%$M>"2^-:<#:N MV8?B/!51<0U+30W#P1-?%\6U !774-525#6.I:;&2>):8,WM0Y"*B[ M9ZAJ/ #.0I(X),>RD62UP.F,H[9P"=\)S?TO9MP#359C9&QL\*2 G2@+$A(2 M/1T#\.<3I>@[F6AJG$L-34&DJ0"UQ.. M9U5DR1EE@8E;<'D*/%$%EZ? 44I;>2JQ)K!CC=-Y#M@?)CD7#S>**>1D)PKTY_SAN5 MU, N(SC+A!+ 0CN 76AI-C1AB41!Q/2]7?OHG"PC=,XHN-_5<8DCCZ%$ MN]".=B_:GPA-SB)1%##=[:A[;*AJ'$M-=;L$RM .E+8%"WM3YSR"2I0A\)Q; MXH^UK3E^TDQUFV3 T,Z +UB(" $ -/(#!(G 0@1@!R]$ (:VA8A0 F#H]/4; MK@L1(41_X$*$?1S.TP:5_K#4=C$8'7Q58/M-D *A!637WC)_%/+^ZUAXJ]I] MN>+N35-NNF\/_%0V3;GJ7B[R3$!?:R#^_UB6S;&PO=V]R:W-H965T&ULK5G;;MLX$/T5PELL6J"N3=+R)9L8R*UH%VT2U.GVF9;HF%M)=$G*3O;K M=RC9DBU13%*X#XTD#T=G+IPS(YYNI/JIEYP;])C$J3[K+(U9G?1Z.ESRA.D/ MKM@#GW'S?76GX*Y7:HE$PE,M9(H47YQU MSO'))1W9!;G$/X)O]-XULJ;,I?QI;SY'9YV^1<1C'AJK@L&?-;_D<6PU 8Y? M6Z6=\IUVX?[U3OO'W'@P9LXTOY3Q#Q&9Y5EGW$$17[ L-M_DYA/?&A18?:&, M=?X_VA2RHV$'A9DV,MDN!@2)2(N_[''KB+T%H,>]@&P7D/J"0W-U?7-[/H*P=7L M]LOGJ_-[N)G=PY^OUS?W,W3[$5V>SSZACU]N?\Q0%WV?7:&W;]ZA-TBDZ'XI M,\W22)_V#*"Q.GOA]LT7Q9M)RYN'Z*M,S5*CZS3BT>'Z'EA1FD)VIEP0K\*_ ML_0#HOWWB/0)<>"Y?/ER[(%#2\_27!]M\RS32[2 ;:+10LD$P9JS3O3/__ P_Y?+IN/I.S X/2 P.? M]ND-5*%8:F=N%"N'^4I;:M;3+AX%>'#:6^_#=XG1 $]*L0-@00DL\(;F//H7 M=A84(Z.1D5"-0IF&(N8HW2*V3^UU:&.8:1[97']Q (-C!O!(R@[\-"S]-/0& M\(J#TE"PHN"F$6*)5$;\5SS@C\ EFKL\4*@-]L(6C,:UT#9EZ"APQW54XAUY M\;&9<:X@7!8LZ$I@4?8;<.DM&'BM>%.R;7( M"1WZ";!D#2"E>D)RKF7,=:CN, 6E)>KQ'X=C/-$N6/G!=JU%:38)-A=Q M>[W:JC^6D4?2=N@,4CF#>(-\OHVFK>IE*E;"TJ\LN)?=#,L5^?KWB"P[1CV!O0>YFSMJ.FUR)Z8C4\36E6KLZ7%$J]G-J/H1V MY:(++=M>*8PYL[S:G@A-:@PFC7QU" 4M_(DK L5^!KVM@=PKU4ZD35KL#H-& M\!U2^_W7X715T2?QT^?-2QIB%VK2I#W(V?&HWJ$XY883VH:\(DCR#$'61C'; MJ>B7=/+DJ,QX+&V'7JB8D?B9\2Y3X9+9:@Y]Y$K9Z)FGO/#P7YE8V0[3Z0,' M_0W']>WAE&IK;4A%DL1/DHV<]$6:YE'%DG6#8(\_'&QM*""O;,.7^ M@D1<]$OK]_G4H$&0)MG%S0I,E[GW JK\GA [R+<1:[) M[K0/_^I6.(;H8%_LT(RJ#2#^-N ;M-M/NQ$_E8:7C:$3K(/?G6@=V \25=*W9HE?XZN_:CHZ!=K2/M*J3:!> J[(9F4_%$10F>9/Z.V6 M>=XYJ[C35.QH)^N3FT.H2R9MD:DXGOHYWIH0</^9%B?DIQRHW'0,H?2O4_H?OJ_?#%\Q R:\P>1 MIC9 MGY!V9*1TZHFZ<,XWZ05AQP.)H2T#'^T:@^H?[I^G57>YJ3-,$4 M#X.Z/8ZY',P>M7S)H!714__G]%FV6L7<5@06HTCH,)8Z4[RH9;NOG&7;!N94 M.TFDQ4DDD*+[+.2HW]*/I>W03U6C0)]M%!P]-_@@C+.H:&^WWP5\U9\VJ1\/ M&N7%B^1W+:T:">IO).X52S4T#CE#5-^%C7S%W+%]Q?[93Q T*H]#"->K:&_O M>#3AZB$_-=8H]W1QO%@^+4^FS_/SV-KS"WQR69PO5VJ*X^ZO3$'MT3#%+T!E M_\,(PJ.*$^3BQLA5?@@[E\;()+]<V!>4Y_C3_P%02P,$ M% @ 23L)59H 4?;C @ XP< !@ !X;"]W;W)KJ:&5:)WW;5M%":14'8D<,IR9 M"YE2C5VYL%4N@<8E*.6VYSB^G5*66<&@')O*8" *S5D&4TE4D:94_CX#+E9# MR[5>!^[8(M%FP X&.5U "/H^GTKLV4V6F*60*28R(F$^M$[=_L@W\67 +P8K MM=8F1LFC$$^FTFB4-<+W]FOVBU(Y: M'JF"D> /+-;)T/IND1CFM.#Z3JPNH=;3,_DBP57Y):LZUK%(5"@MTAJ,#%*6 M57_Z4ONP!G"[[P"\&N!]%-"I 9U2:,6LE#6FF@8#*59$FFC,9AJE-R4:U;#, M[&*H)M(8XS7&>&6^SCOY[B 26<0XHV6YB3F) MJ$H.RB^!YX(M*4>\/+ M==TM[CMY?+*Z_$:EOU/E3&C*_^&L$96(568\0 N(TE1#:C:O/K!DCN]4JQ%^ M2V5V7+^WY<7;,%.9Q]N5::]=P>;YNZ%RP3)%.,P1Z!P=HZ>R>E*JCA9Y>2L_ M"HUW?-E,\!4&:0)P?BZ$?NV8B[YYUX,_4$L#!!0 ( $D["54+Q@%Z-@P M \@ 8 >&PO=V]R:W-H965T&ULM5IM<]LV$OXK&+73 MZQB]WG#;]KM?>3 MWX(T*:R]IH=WU:O9D@12C2H#49#XLU.O5=,0(8CQ9Z(YRRSIX/3W0/TMZPY= M"NG5:]M\UE6H7\V>S42E-K)OPJ]V_Y-*^CPF>J5M//\K]G'OV?.9*'L?;)L. M0X)6F_A7?DEVF!QXMCQR8)T.K%GNR(BE?".#/'_I[%XXV@UJ](-5Y=,03AMR MRL?@L*IQ+IS_(D/OE+ ;$6HE+GN/=>^%-)6XE%Y[6KERRBL3))GQY4D 5SI[ M4B8.EY'#^@B')^*]-:'VXM^F4M7A^1-(FT5>#R)?KA\D^'-O%N)T.1?KY7K] M +W3;()3IG?Z#YH@N(D-NIV?EWWZR>+%\\(/]9EO_L M(>K_%_D?Y'"__*N%^%K.XOGRF7BC=KI47KPSY4)\3P>_^^;9>KU\\=JVG30W M_+1Z\2^QEUYH4UK762>#JO# ?#Z"&#-]HQJYER2 $6]5X7J@BEAQ8*S6"_$; M]B:: K)(4=JV5:[4LGGD Q!'!%76QC9V>T-KO+%S=JD%0 T6L5V$9- MSR(W>J.$+[4RQ)@,+UU9ST6A+?3".SAH.\>!"L!"A&F%C# G*0EIR^@]6?T! M;YLP\+AC3-\7?T!74L-I?QU/]6#K @I!T&!/UH9CL...F6DY.3-::1#IANE M-Z];W4@4#_V7FH\:0I4^"&,#5&UU8#O.B0:*2]>2P$7DH8(.UG$ &E2&+($N MH;0VQNXX(#T=1GVKR&(41M<*(:"AUIL[4XYP^(XM>V;@=5HGXG_4)=*U04^'7E4?1FPFRQ!%AK"Q19T%*ZI M--&#'AMM<(P=7JM4EV3J,(44Y MOWKZPL.]$PRA#:JTQK8W8JL,5&N:&RB63(3RZ!"TH;F!G)5R!W&PUPT45W_V M&O@PL=F0%"EYQP-J@Q0 47B8$M9.T$+_-2IZC&XI.UBM2=F#=4 M8X@1KLVW1-RRCBI^M M X[_I&2#M/W@MH"FY.M*E< ?%8-PV]@"O@5JP)4H2/ XI.B]J#3-REMR@$ ?"TKS64)IJ(+C2KL9(^1#KNHUU>(Z\W0$V8 M&\JZOF-T850?#9.2%![W8H\&F_X.F:QB+@_Y,10MZ6R?4GQ/3CAT.OA1B,@0 M#1,P!B!>5*6IY& ?:4EB10N$>0:CN4# 4V8,M@VU#$<@B+6OY8Z!7T.F3<_M M3()52FIK8H+'LC0!U]O>F]"?QD?V_!&X&UF!-D]8L8A L%B7Z& 2:X(&?E(2 M[V)QG,X&N;*ZM.30,9'_Q\PER*K0;UBGDZ?@?/0&Y:BH/^2=H7G4/^N>U!S5 MRNY.9X@O4CW#.G5O-08GQO!4:U*\F 1*R>\*(?)NPMT4BI$$$:^*L1>#I# 8@)V21FXV*HKV-CHI74]8G,B"(CL!AF=KEK2(X]+7>)']:R.,89N )B!I2,Y(J MZ0O1R +V]C6>T&WC!4#5$5[F:J!W)$;L3.1.HN4KHF3<'@W-+X@0D%M#X?=B MTJ#X(7,5BJ"]4IQ)5(2EN6&\HEV(<6VAI@V8^ M.YF<8T+.$^J74A/[R7 ORH,)5"JA)6)98WJ? MU$?.0;F?Z,]^TU'327](OQN+PE>-21[CIZ'\APK9]$.W?4AWK.38.P:2.F"T M$!<'36>7V\H!8?]+J!-^$/C'Z8CTAS6\8,P$OD ,U3%!-5Y4BGG*_:^YY<_L%@ M&BU56R CUNOYI,7()6UHU-BZ\#KKT_5%0]TP0HP3>.@AWEU]&-J'.ZK MD" 6@N?/YV?/7T\7RZ7\#HPCUN -(+!9.5U*AG<+6#I^>'F*0N& M6"JAZ@MU9C[W]-QE[QUB?72/97BB8X-5I\$2J1_6=@<[:>H(C>(FL,1\P])^ MNSI]LG@B,/@U7,HV@7MZQ@F8)G.G!\ -9Z,?VKP6]LBX%Y$I&[6T'AO92;^@ M/+"35H_92:MC3D*>9H8(OMN.^IM..9VO'B\?< IU./).$& $BK02J(#^G@W[7S\[/%V3]EYL61FY_[AAUJK]"_,K(:V$M7W)R, MY=T3H,:\Y3Z->V+T QUWYE33K*&NB0" )V_,TB1N,B*(P)M^G!W3K#U>)1T M-\E\ 6Q!MYOS\,>+BZLA$0D)R:Q0EZ\+(@T$/!J5! \HMSA-5S?;'MKP+M1H ME>*$SPXI)GO,VXXK&50C1H1"&VZ+DW@7HSH0T528OH$]MN*.G,TZR'GQ\74> M-\@U]Y[\U)&!)V<^C2-*S/"WV?3W$KBT^)//O[WX>#G:AAS\-0X=>APV19FB M;.BE4PCSU(S7^]J2]^S>4 ?2%UY7&F5K?G"?^%&5/86M(A/%.T,>^RYH&*"K MMN&*#Q.+Y LRK@].&B]3ZS,&F:(FPTAN[7Y+$O+I&.C_4]P67'JL&4:NU.^, MO1NU8^.M Y4CC%&3)MICP6]DOI=J=*R"0V?">1H&,\>NF.YMJ-*7U- QN P% M^A UZGCI2C/U% MM/%C0.R_?^Z-RE?Y+/NWZ_5B?>?@C9(N'9I8'M YAO98,Z'!B MW_9Q JH49^-#4MLG/#+RW="&]%(1 M;_A.D*B/8A)C \%H-'0$\U$/RK="4? MO@X%#HU"DQ:,=GUPQPD5XI3K;+^M"=9WS,L-99/D10;ERU"^TRW"P8L2^$'# MR)!?F'!!9$M3<1-O;GVZQJ1YDNL[#31.%WU,,HWZ\M1VO:OE+)-_X\@[E6L]EG3J!IAFO?1^@J0C-"-/L+<6(3BS*=V5D3@PF M9F(L)G][GF7^@%PRO!]:#D>?-V\C="[EW,W0$1#*<_KD>P'&NUL&B7Z]W7[1 M]%)P^I3QUIN'LS2?LM>NN-PVQN>.:NJ-0$WTR+$ROA^[[JGE8;)1&QQ=+IX^GD7_# _!=OS)M[ !XQ+_K#$3*D<;L+ZQ:%G2 M S'(_P_ ^7\ 4$L#!!0 ( $D["57P"0BJ5R "%O 8 >&PO=V]R M:W-H965T&UL[5U9R=PL MOE8\\]QD@R3B9H,&NB5K?OT]&Y9>*-G9ZFXOMD1V P<'9_G. NBK.V/?NZU2 M3?9Q5]7NZR?;IME_^>R96VW5KG 3LUN"?6MVYY.<, M5[(TYCW^\EWY]9,I$J0JM6IPA +^NU4O557A0$#&!QGS29@27TQ_]J._IK7# M6I:%4R]-]2]=-MNOGUP^R4JU+MJJ>6ON_JYD/6N)P>>&$N+\R);IZ(J'Q5-,4W7UESEUE\&D;#'VBI M]#80IVO'-R,PZN]&;6J_UJJB;['JU,FW=Z'J3O3&57FGE MOGK6P'SXUK.5C/V"QYX?&/L\^\'4S=9EW]:E*KOO/P,Z [%S3^R+^8,#_J.M M)]EBFF?SZ7S^P'B+L/@%C;?X0Q;/8Y^.CXW*]*7;%ROU]1/0%J?LK7KRS5__ M,CN?/G^ \M- ^>E#H_]&RA\>>S[)/GWX[%U=M*5N5)F]-+#-M8.?OJL;9?4N M>ZWKHE[IHH)/V'Z@(OZ\5=DJ/ L_.1BK+'"(95'!"RIC>U0TV2NU4KNELMEB M1KL^R^X*!UIG097+;&W-+O/3=P9:AYE= Q^ %6EKJBU5 M5E155FJWJHQK89_ T'QHM45:[K._75^_F1"]!:Q\MR_J>UQ[6R=SCBUC=':@ M&]@)(JR""&=%#0\;FS4P1;.U2M$G3G_,=JPY"C5GY"5BQ;:X5=E2J3H#"=L7 M0C2.]9*)S?:M=2WN7&/H<]M6L$0X*DH!+QRT\!6 MJ [_:WRDJN[]!I7P Y'W.(<#%W1-&V9+$J8[W6QI*Q.&Q8T#ZLU.-SAHRBW7 MKK;C["*! -=AK,J1,'=0FD>)=%O35K!1L!G@0Y%4>.>7MF8G1;0F.XA+V7WJK B54/=ZK.\3\1U7;O(?GS8^O+'6E8JK!#F:@&V@G\U>U\@"D,9=40,@P.7DI)]%^0MX0EI>3AS0 MCHR0J2NR42PSP% 08(M?)"]D-9#A'%HSI+'(UH6VD5]>^/M+C:S=&Z=99 \H M,$@M0 #Z$K"2%:7Z]6J-/ZP*M\W6@)CB0)]O%79%J=A\]5?W>Y%L2N1Q:.NP-**';I.X@(\KT11*UTL=45&EXQ)8@KQ22 ,!1VG M'G\)?22]!L1X?H^M,@]F88P@JVY5W?*6XUZ *0,GVY(JQ7?P-^8VV, 4%ASF M!IC)BG>6+Z_>GR#DAP'O"ENZCC)1, TPBR1 ?#F%HR3 ML<"9BGAIM0(GE&?O:W,'/+ @U]5<^) 9"=Y([H"PN!RRUR=PV! MB[$B6;H!?:DT+-NA,+(7<:;&%0(N 6#$OE+;5;L#3L+40/4K8)$@@)<__?.[ M5R>SJPR64*J=7N7L(L!L.+8:X(K87S?,%Y!(V])^>K>PJ[;[)>V MW+#PD+$' =%.]I,84UA+& YWFDC1!,U(M^"-CFH%9.2U"U!02\3QYY\GS<01 ME]H.M'Z,L7*==_+P M8 RP[DPBB+@^W;0=YQLDI&=3@-"MWFS]#6TED06[O"?O:!Y9!!D?'ZX)A<$*@@*X=OF+#-36K4,)2OF_ M5/61?T>%0DL,._L5N]['F\5! @EGN63 M/3_OH$"9V?0+%-:=L>H0SFQ,0Y+/?@PE>TP&7G>0V2>@P!S,@0IDH@/'' 01 M-KOX@AZ;G7Y!1*4$Y'YW +Y5]W'>3\2>#\UZ);.>/S[K]1!H]T;NL7E!8VXL M2-DX_WC$04"2DXXDF]D9]GPA),^^Z%*8/S(;)3A8ULAJDI\$1X?.0K,"HLP1 M\(27K68S^FUK 1_GV0^Z+,&;?ULX?O]ZC6B"Y2NU0*0;R]:!$W"B6Q'[WZGB M/0Z*=(' (J .'BBA@UY@E-D2ILI*A:$\J"VX/%#Q0JPR656/'9 J-V'CV@9=$<4" M"8H4QAV0%H(IAW8HI)G$NW0&%%S,S'BZF,RSG:XJ8!;M.KNPI[/)A?\8+1$I M.)J\[&H*8.'> ;J"S2L%4J,P!=_7,:![:VYU*?(&KX.S,7=,&GQ0FG;9K-LJ MK@$H2.>.J14/;V!L4)0$.Q^,Y6'JLB7'CL9)L(1DU#) ,J#TIK6(7.%7X'WX M@(&51^' Y'9/:+G=[\%$HY1=5V 1VTUWN4ZI][3GH!@MC%*J/9H20E.UF% _ M*$_D.L.*T-4MPA$(CZP$3!#?H9,F_ A352"^Y&[(VW:XX_P*X$VQ:X(L?6P' M$ /D0Z-#(C3F)P]Q:>0OYB$0FY("%1D"$XMD%"6(/J(5#@'-./,E#B8G0Y@G M3SQU4,]^)H <8K%#Q2+/&>ULQU%=>VEY&R4^]=PB=,[;J"8U@2(M@." 'HLJ MWEJ.K(.E03("8"!">)R]3PFC1.TM"%_=2(*$HD!,#< \%BG 8LQ* L8P,#KF M2?9#A"6(WM7=N XC>P1;@FDET.NS,9AKYVQ&:D<.Z,&C*H?SA%A%XZ((!= & M\;1W6U4SK,65DP'=D38QFH* BLV<9E^T;B1*2RV!^K@M@#D(HJK*VT6< @0) M8F\1]M06)KQ &BSF,%'4(;K:($1D9Q&61WDVLI+B^5)/HH#?95"7E&MB$(*L M"1=3']59'QD]E*@'_5\NYLDGL>KXF%PV4V*)@J660CG;W_DGAW0_@D%HKR01O*@\E4BQ'AQIG:SA+R$$BA]5<"W@=/]98AUC3/G,@ M!7LH&7. _-T(EN)T9&IBZI$,M$/[0I.D0!Q1.XQYBD#7?78$3ZJ/NN$ACT-, M98%_>L]F;V<0*)28+ #%,:V3&#Q8K3!5'%=SR B\M1"8T-0%R]M2-7>_]O1@PM M&QFS1.UEH:[WK>P3:-/@R;8>/#M)PKD#NSR^PP3B25=7%;P(^DW!3.FS<>Q% M$8'Z%)M!M6+I141>@2VL0KH@&7D+WJ.PJ^U]@AXX1V=100%]DMQAJ A;@>6( MN"B?E*I0R4#:DJ?2Q7^9_?4O5^<75\^S[Y&*;):1;9L_S_ZS-536L&1JM2^! M^Q0-5V[(H*TBQ[I)D$EO\'D8_*?!3AUQXHIPD"?E0TK"<&JA_6H1V)Q M$QD5J3W B6BHD=/X_\Z4(.PY*8= Y0!20-D!RI6F,AM?1_20\];%NCF>6V M!GY5JDP]9QX?W1?W0:'A0XN15DBS%WOP;!\ILX43 NUQ E2PN0-;D#B"8]PB58!V=VOX ME#J55>! MP7 9!9SF X =X9:DXMI[,Q;> 'O/#H!6,O)DK=)TC_%MU(,^#<5 M\_E10C&NJ"3J#&B77?OUSAY'I\9<&4WLKGTU+ M0_"!B)2RM!370"RQ*03PI'@+0=FJD/)L&"GFA!)W+%#",&_'1V>,RE$ R#8A MQ*)"=^44@")1725H%='V9E0(ELACGV;UDG)P-/B>:"JI&+MJ?$1)UA6,&3X3 M2_>TPHD4Y30UE["I"# A3'QP1NT\^%EY0\R>.7UCL,G/LZVY@XVU.0/UZ# & MKP6G<5N R4(I37<-,QXM)3BT+0D8W0>;F/JK$%E'1M#/88$/L=5K N8W0?27 M]TF:%B-K$IRDH#&4%<*ET3PVXS(&.Z;V(R/"XK4OU67N] G9"G8H\KQ7[IA@]_D:#(HRJ\'T5[8YCGF02%\V-=M&RR(*)&:;R>P$#[[0C M3,(SY)UA4W'0+N!]RPP?4\@@P[D =LY-L9.7'0HVA+"A@/"$@UQ;]YE]1$!- MQ3-BY<9'+!PJ8 [F<=J/1N4.W.CU(?N$H;GG#JTDBE$W\'G(EL"321PJ4DL! M ?@ *BK&[K2.7>$L%F$"U6R"U,>&JV=W)! 2L4E\]RE&!R(7J0,B4O=Q6Q2NZ*S6 MCTW7\_2132UVW 1^[I^]!@DDS*V2\83EX*53\WD,BEJM5:]Y!1,NC& M*EG' 3Q?I%E/@38=(XP?"H!J**]:4$.+3SQBS;%G7['9&5L]DYRGU[;@I#B^ M M3"KX@N((_CUF JK1,NTQ8@0#X0E0P@7?] @IJVE1]/;5+UFH>!4>L=)=X 9-8(FXASA MS,:8LF=?0[>A;Z#"B94P*.DO "*6$@2PJ%GL7*TJZ4>@NECB4#'$< 6!05AO M*\&8V)A)0+D=7X!F@VC'K6!OXMF/, ESNAQIB9#XR U/NF1':K*9Y$,U?^81 MDY=?3+R1:DN!+ D?_*/$]9W^2%H*/KZK@:$+ VOYU.UM.FN7VA4VWGH5=C&% MAH23$P^Q?P>M3D*D'?(8%G$B@?F06?'=BE@T#QBLXU81D/Q<#'UX*$!A5>9K/3_&P^2SZXS*\6EYT$:-+%G79^^+WJ3Y& /#_JT3P_O3H] MCK_/\OEL=AS<;&!YTAC.0^19K9J4@D2>_&B+_/)\$7Z;Y5>7IQT&*.[2'"[] M++\$T!,_N,HO9I$5/T>K F\/I$)AZV*"0SN),I^%+;F#,(88AW)8OIXJ1(;F M-H&00XW;^5+!)\EF8=4#BBFIU'5+J?_"B0*Y/URD'Y#@5P-^/T#^D+*?:CGI M@34G; ")NWR>7YPMDM\7^=7Y&;V _NG.<$-;>. TGT]/(X'Y=#H#T<#*+#_' M+2MDSN(K5XM%(IX7IV<# A\5OX.]9WU[=;>%W;H_X7J_Y:[BD[8.&=&#,D>- MDO#]T\7D*K2XV5780IDV).6) O#WF&)F[JY8'6GD^Q[ MF*%V[$X"TAA+W6X@V+-4Y.A68;",Q:6J4',*0'70EHO$E0JQIJ1P;U5E8LHC M#7@0*K!Z^U2?L8%3R1@^ (X9WI\->;'D-)^GQJ;9Y4#0N\G-!+ 13%S[R"MI M'Z84*_4:R#AH+ ^]FPN.Z*(>L%F&T*+D%CJ%J&0J%*5:V4,%U>Y[8Y3'*) K MS1TL^UHA@*NRZ]6'5LL9N+?A'&1,O%V_#8DWPAA62C1)4LF7/DK.R5"W_\H( MTF(11BX%O,DM:I3DB;N$)%V_C>UKFU;S 4])6L!BN&[+(X>8CUN@N.886_Q" MQ87M^A#JAMY,3E#T61>X&XI:H1 $V.?DX.,(=SK)MM!;5JN- 84!@Y,NL330'X!4J#@6'Q94U' M*?*F G@'CS@7PEG*#[)Z#;ZC3<*SBDG,ZW6Q\TSL!G-I"2%$ 'D/@PX 9$_?,??&AK(8(_WM MDH?CW-3!Y,SGI&(XAT,GK/)4C+A+#H;VCJL'9ZM6>#PQV=L0FR>9)39ME7?I<>/ZZC8: M32;P+F2FXSF)I,8'' -6+QV[[>3D[ACDF61_\^(?4_3(XC&\\& 6FQ7-G.#_ MH0N1'0Y9H#S:^,'ABIU2OK1J-?5V#[&)+^#*WJ2E8'0G:1:'^8,):M\!1X)M M%7>!AWY0&I@. L"<-*Y'^0G5HGG? =7#G)_NX;(3J8 M+YP.E)3Q7HW7BTRG<+M,[^O6NJP_^C[!3NBOC,8$Z-(NF.V8"-Q;'*V M]A&I\MQ(>2P'91AIX5$XI_S1+S8+ ,W%4PE,J M?/6213"^S^Z4&P&2XYRRX=& 0K"\VIZT>VDDTOU:41RR=_J7S;=WDVB\0#ZX M/27$[MV,H8P]"-HG:<3?/^(RV@N3SB:,DM<[V>UIW+T^ZBALA=I^3CS&)0'L=\Z>!8U(X M OD+=VCDLLG=H\3>ZJ&50U\_LFW7> 2H*W<]+_-;I.U_: 4!%_!9%82@2?T: M@@!!#R_^ %C1+V0\4,4(7YF(+3Q?R>CAK$^GDT5(:""]\$%RUJY[WO+0U2O_ MRZH?H[2C+%-DB<]'KE.O[P"WQ8 ^+GF( 'TBTP^ #3;WNR6>WZ)F6SK-@^$& MHX'&7YWCS[N@;WW@X.6HF*1+BD(PGYR/9;5&E]DKUCR:MP)93T\G+QXZ!OPG M4-TY_S'H;2#YGX51DQS[PV>O#[9*#! [ #8^=2)Y[R!35-,)Q8'A>V('^H&: M .9/>#,UH-$.=!/$D^R%IC98-ZPO[-W-36:W.!5*XCS#=T= ME;3Y2R/C6#Z.(TC!6]S8[^T[96+1I9Y0MTK_2HA)]B_?]!SN!!'<([F68G2- M.9^9E?G1RJ;-5#K)ULH+M$,(%\(7L+H3C JCYP!2FFWO6&FDIGM)@(3NBAJK M";9A[Y(_Z3E&,O46 8=6C6^RIB"T2P2O:RQPI(/!]\E=:81WBP8W=Z1LF/3A M>=KXE@WLZT9$!'):;$!;-B1H([6'_B'WT7);6NQG2:4BPGB7L$=VOK$\E%KH M5IQ^G]T>C)'KE[D;BBTZO7&'%&EY'WZ$S5#%[@\O\OW:_[G(]G#%^_&:^+"R M&'_RW[TYO)6?SHY7M+VRW9[%L;AWD5^SR[3L/EOD\\N+](-I/KV: MAP]>CA\B&,PTSR_/TF+XQ2(6+\_RQ5DL."Z @OC;SY0Q>$BHPYC3_'QZ&7Z] MR*]F<6&SR_Q\$9>!J[J(BT@+?,%*]L<_O8J#+\[CRQ<7<9JST\L>Y4..SV;Y M;'K>Z6R87W0X?)6?SN;=/8 ?1P3Q,W7M(2XN[\404$WI_Y4O^[L_1Y/J!K:@ MQ-_/8.,NNSM[.KWL[.S9+/[^2@[C]*E8Y.<7<7?G'4&-TCR?7R6%_(NSJ#Z? MKB)/^TKRM*K7V.-')!U5^DM,1[ MU/_;B.2?)X)_B]@--VHZ38T""M]5ND]@4V?I!RA\T>*^V1: VE>JI>/@SUYH M0X>3\=3R?2*)9XDE DF<7@T(/L\OIE%@0!*39ZY7!5ZP6,0AXG?SH5#/$_K. M/L?D_XYR/&9$RP1L/8Q:.@D*7VX,&'R)'2%F8XL]7H8@QWV[UZ5TU"? \'#B M\?^>S%_#^D%"'?4=G5ZD?4AG^65WB\_RLXX]!J$XO8P2]\CE8A&+S),^*-"B M^; K"E5AEOPVNT@;HD#@WQ13*QL?T+T\AF1IC%P]A*"6BJI<#0=97&\PV8_&PD"RWY/L1]4 MF71%YM'WQKECS !D-ULDL]\B31?C89&9XA)\I'MG&O6^%8X:3*AF0J-6850^ M@\!OORXF,.SJ2AREVN?:M;BG%D-"S#M/@I;H=^KI= ME1C=533];Z#V3Z&T[VX/0V";[J;79"Y\%NL&/VKW#>W=1 M^.;3V5PZ#&#KY,)N7#PL6J8&ZE$"_522" R9#THUZ6:0Y@0QN _MCWBC'A?7 MR<@FQ[7Y,@1;.@\,=JKPM]125:X(CR"3A?WI6%BFY"(,=PE0R0LO[Q/LP!=& MTP&K=HEE#LZIU?(;A>PRB-05\_+U]?B(]XI@$7NB],I MP+H;#5*CU_?>6B8J@_O7?4W6F0PL:SU.6K PC5Q+]<#)Z'08#>]**_#6TE1J MB^Y\XD<:G&\25X#'8JS:&VR/QOR/(G+V M&)%<&WELF'GN&W+QNCS29]$9;@7L5N$*,?9T*CHL2FK8!:S$WF=I]86*PW[, M4K/M[5\LZJ](K'WYX+';YH/O^4Z4[Z#KB1=#SL['E?9',Z%O3P!2=_ZJ4[@S MG5S__+E;_ M_MLU_]FS^#C_\;@?"K1)+JO4&EZ=3B[.GG#7A?^E,7OZ(VA+TT!823]N%03H M%A^ [_%O$?E?<(+P5_&^^2]02P,$% @ 23L)52RT$IXK P 7PD !D M !X;"]W;W)K&ULU59K3]LP%/TK5V%"FX2:-"D% MT8=$86B;AH1X[;.;W#06CAULA])_OVLGA&R"(K0/V[[4\>,"R%-+.@L+8Z"D.3%E@R,U 52IK)E2Z9I:Y>A:;2R#(/*D481]$X+!F7 MP7SJQR[T?*IJ*[C$"PVF+DNF-PL4:CT+AL'3P"5?%=8-A/-IQ59XA?:FNM#4 M"SN6C)UZ7V#BV2IU)WK?,UF0>0$H<#4.@9& MS0.>H!".B&3('SVPQ"PX#R#!GM;"7:OT% MVWCV'5^JA/&_L&[6QJ, TMI85;9@4E!RV;3LL96G MS++Y5*LU:+>:V-R'#]6C21R7[E"NK*993C@[/V-O!$ M!4?-=%ILB$$#)S9F#+I&9B X6W+!+2<^6S +3".4S=894+]'Y"Q)MDYKK9T* MLA8W\)%+ JK:$)OY= 1.091,_EK[6@8I%/I_8O?_A!M#03SK_8X/*MG'; M)G"M+!-P[#/V=G0GS!2 ]S6GC+EMWT:0!W%#]X.^H_L\KRF)W=0'2$8'O9X_ MW'BR=:2/^ >/X!13+)>H(1GZ8QC^%\HMF#=<'3@DSXY'W69:Q\3C55)%MX7^*+%\' W2>DP,N0 M"JQFTN2H#7!I%= M08\!4'F7_:SVCG=\AC]"V=0-='7C-U<1UAWKX*5[->P5 MO1+URI=V ZFJI6WJ7S?:O1Z.FZ+YO+QY>IPSO>+2@," YG-%V6T[;H/N337_"5!+ P04 " !).PE5Z+N@ M;GD" E!@ &0 'AL+W=OU'09#X#67<2Q?6=RO3A>ATS3C<2J*ZIJ'R906UZ)=>Z&T==ZRLM''XZ:*E M)=R#_MG>2K1\QY*S!KAB@A,)Q=([#^>KB8FW ;\8]&IG3TPF:R$>C7&=+[W M"((:,FT8*"Y/< %U;8A0QN\-I^>N-,#=_9;]RN:.N:RI@@M1/[!<5TMOYI$< M"MK5^D[TWV&3S]3P9:)6]DOZ(3:,/9)U2HMF T8%#>/#2I\WO\,.8!9\ H@V M@,CJ'BZR*B^IINE"BIY($XUL9F-3M6@4Q[@IRKV6>,H0I]-K_@1<"_FR\#72 M&:>?;:"K 1I] DW(C>"Z4N0;SR%_B_=1AM,2;;6LHKV$/SH^)G$P(E$017OX M8I=;;/GB?\EM@$X^AII6F*N69K#T\*TKD$_@I4<'81*<[1$V<<(F^]CW"]L/ MG8R)0^_L,H%MHC3D1!1$5T *46._,5Z2+XRC1W2*\EQ]G9.C@UD4Q&?_?<7J M@:W>UG$)&31KD"0.1^^B38G-)W2>.]KCP]8@&:V5\QZ2DU&R$W5(DE$TB9S] M@#U_S/AQ*T6)A5+O+QHE2>*LZ?25ZHIQAHV3DU*(_#UP=OH:&H[":/IIYHNMAYW0P\'UK_-7P8H#=4EHPK M4D.!T&!\,O6('(;28&C1VD&P%AK'BMU6.,=!F@ \+X306\-&ULM59_;],\$/XJ5I@0DZ+E5Y.T6UMI&Z 7)*2)"?C;32Z-P;&#[:S; MMW_/3IMF=*V0@'\2W_GNR7,_[,M\(]4/70,8\MAPH1=>;4Q[&02ZJ*&A^D*V M('"GDJJA!D6U#G2K@);.J>%!'(99T% FO.7[4VKHU5!,MY2]=P#^9+>Z=0"@:4DC4@-)."**@6WG5T>3.Q]L[@ M*X.-'JV)C60EY0\K?"@77F@) 8?"6 2*KP>X! MQ8ZQK*B&6\F_L=+4"V_JD1(JVG'S66[^@VT\J<4K)-?N23:];91[I.BTD/=?\BQ?$L-70?6-OR MVT9' M,WM&4G^6YB,Y\V=9=-3^MJ9BC3Q=X8'<8AZI>+*[47ZE;4!E5YA]5N2*LW6? MY@TH(%1OVT?_\^:Y9X_/;IC#+MHWBDLGUF!%.14%TC38$6LFA.UR;/L6%)/E M*$O/ZVGE.$O)G9(/S(T=G'I$V-'2)X*-2AOY4;8O3QJ&!">8X8 3"_O/-B,M MO^,%WLL-+8&4G;)$;,9_8?(F\B=Y=KZ7\SP]?RD<$.610,9M>D9FLZ')7KJB M@M'$:$"MW5RT=T0G3#\\!NTP>J_[B;,W[^?V)ZHPPYIPJ- UO,A3CZA^%O:" MD:V;/RMI<)JY98V_#Z"L >Y74IJ=8#\P_) L_P=02P,$% @ 23L)5?([ MFW&2!@ )1 !D !X;"]W;W)K&ULG5AM<]PV M#OXKG&W:26: "0OMK[\#761$E]:ZR+U[,ZI?;M8A'+FAH=Y[XEAR\;'QJ= M\!JVB]@&TI4H-7:Q7BY?+1IMW.SF2M8^AILKWR5K''T,*G9-H\/]'5F_OYZM M9L/")[.M$R\L;JY:O:7/E'YO/P:\+48KE6G(1>.="K2YGMVNWMY=L+P(_-O0 M/DZ>%2,IO/_*+_^JKF=+=H@LE8DM:/SLZ#U9RX;@QA^]S=FX)2M.GP?K/PMV M8"ETI/?>_L=4J;Z>O9FIBC:ZL^F3W_^3>CR7;*_T-LI?M<^R6%9E%Y-O>F5X MT!B7?_6W/@X3A3?+1Q36O<):_,X;B9<_ZJ1OKH+?J\#2L,8/ E6TX9QQG)3/ M*>"K@5ZZ^=6[['+I;/VGPE\[-U?GR3*V7Z_43]LY'@.=B[_S_!ICU+T[K78S>73QE_7_P[FG]5W-U;$+=1N4W>"RI*2BH M\Y5$$O%,-:GWOFFUNU>UKA0J-";M*N.VJO !CN,IJ@YY#$K#K$;-N$I]IK(+ M)MVKVVT@0CVF,Z6CTGA"QM5SMOO#=V_6Z^6[]7+U#U&4]]6[%R!SJF%L8YQV MI=%6&1>329U4Y%3U5[86!KVY^LVI#SJ4M5IE *MC /"" G8W+GEXJ6Y[;]CA M3P1<"2]/0CCV>[V"VL[;W<&'L^P\BV7G%+8*U%IP059'M'/UI3:(R&!7&$ M0$,";X4_[-&$ IRFU>MW$?MC0H5T?X9(E;83 M/C-8RXV?@1T$]K6!$T@5C/\77QFS5HZVFD>#:BU56^)LDCJBQ" ?CS@(Y9T. MQG>Q;]08:@"R(W ]Q3,X,;@3$&$3A!N1:P>:AXH I7R0!'/$#NNC)<1TM(3, M=8[3&$S)! %13-,UJM2Q5I9V)&%ZMEH>. 4BL^%!"2N1$W(JE+HPELL$_E4F MMCX*BPQ<*+H(3L7(*3[$$W)EK=V61&9@W2 KWZT!]*HG!XQ&#JA\D1(>"OA^ M-.0 W*6 09B"=E&+QZ+04-B*&0C 3+::&PST/0 %-LH O!2K+B7LF3SA!*,X M!J5N#4I1(8'EURD\AJ+=U*QX@5QTZ(\5"@N.24>KT'>I&B%G"6OH\4 ?A;#5 M]X*@,CM3H=-(D!O]E7I,B!HR5W1CZAZX+$()X9M8@$U=6%*($P&L>:!TEGM9 MA7YUXL,D,\:]+#Q:#."4?!)C"@YM+O;"6YWS-LE7[/.RV8!02%/,'!3QLI/! M="HL)\MVKG[:2>$@'_UQ:]+TCNLT%PJIC3:6&P^SA@.)<.3BV]>$,'7$U2E4 M="6&R2ZCF6B5\ QQ$Q2'0I2\(#9O8RY4!,EH1I/3C8U. M]:]'LI4;+4^U./3VXVSV;9/'((;6Z5EX=(R9;M3/9D:.#JM--;0*SISX?) ^ MGI<(0%GZP!8M*O3A\'IP$NDB''RVNIA?CD,D@B%N F^>7HZYU.%SAU) M-ZBV/&>$IT,#.74(^#+Q0L-C*,*5C<^8)M4HQS7%70IVV$IG8BT'E3P8&*R< M5JR/TF >2/%$6<[7 [YACF862,'Q0>Q ._J&*V/,/8$[K$>@'8=ITK@K)8>T M9JALKG6=6P<[Q=0*5'/+ 5_9KT=HR<(/#[NKOQ]VGZVFIZS'.#,E'QLV4F^E MU3&:C>$012F]EY(%">C3& MMA6IR/YN?NB\L)EG,U\BQM7QSOP M;;[Z'<3S!1HLW:*KX1BP@>IR_AI7SI OI?DE^58N@H5/.*W(8XU[/ 46P/>- M]VEXX0W&_PS<_ 502P,$% @ 23L)5:PA$%LG!0 W0T !D !X;"]W M;W)K&ULO5?;;N,V$/T50ELL6D"U=7'L.!<#N>RB M6W3;(&F[S[0TLHA0I):D[*1?WQGJ$GGK&&VWZ$-BB9HY<\YP9BA=[+1YM"6 M8T^55/8R*)VKSZ93FY50<3O1-2A\4FA3<8>W9C.UM0&>>Z=*3I,HFD\K+E2P MNO!K=V9UH1LGA8([PVQ35=P\7X/4N\L@#OJ%>[$I'2U,5Q2'>O=S] MI^>$\#(MK?_/=JUMN@Q8UEBGJ\X9&51"M;_\JL4AZ1P2S[L-Y%G> MG,&G OWL!L,>2F[@8NHP%GE,LP[WNL5-7L&=LX]:N=*R=RJ'?-]_BAP'HDE/ M]#HY"OACHR8LC4*61$ER!"\=A*<>+_W/A;>XL\.XU$1GMN897 ;8)1;,%H+5 MVS?Q/#H_PGHVL)X=0_\*UL=Q%Q/V]Z![LRO+=,%P4V#8E)"Y$MB-KFJNGM^^ M.4WBQ;EE&1@G"I%Q!^0A$-;4VO"V)QM7:B/^@'SLRYQFPMH&6%/3]4D811'] M,4L4?&3,;0'&H".V2/88,BXEK>]*D97HS1JL.RLV"N/F*([CJOW"%NM45L:^^5X;[M8R1&I<=:AK5 ;MN/&<.4LP[GO#>O&9"6. M/X)?)N$B2D>[L9=0[C @@RWVSG,0+7TG>,7S9KJ/!9LLP6ISV MP4C*+ WGR4F_ D\URL?"(E4+;X 7IR$FTM;@A[Y\GARMZ5]'B=!*4C:L+P#, MM_4">ZFC#%$@/ ]$QA1"BPY:#M!]3GP$+$B\KQO7[I[?6P(AL7]U[_9WYX\4 M].!;,'A",M7X'1SQ^2+U8WY#+L$(C2UP*Z0/_Q5L_Q>F(860C7]28W=A:W") M') ]M<68*)8#CHFJ3^1@ T6!&T\QQV&ZZL1BR[%1\$SO EJJG;80QQUA ,<4 MUB3WLDENV$;HF3Z0K#8 O<"N>6-4>Y$ ' M^?YDZ9L-9\D!H0<3].'3I3&A+@,2%K#"Z\O':XF^/*#]>CW5.*Q-/!R/6Z+260/N4 M'9CV;9W_P]12THB3P+RT-?W2'K9!!?N'&9[.6RZ!Y.YT(_-1P>R5Q1FC8RI* MS__U[T"W7_"T/>5/_3S'1 RC?(]G[].=)%_<_E)3ZH^XH]E\%B[C.4O#)$W# MY6S)[L'B%F2N?R7 4U,@A8'=R2R&UL MQ591;]LV$/XK!S4H-D"U9,EVE=0V$&*J%-(N@LG9W$T4FK[!F9J1V*$FS M5;IFED1=1F:GD17>J191$L>SJ&9I1"EZC-%Q)T+A=!+?CF]7$V7N#/SDV M9C '%\E&J4P(H<#<.@1&PP'O4 @'1#3^/F(&_9;.<3COT#_ZV"F6 M#3-XI\1?O+#5(L@"*'#+]L(^J.83'N.9.KQ<">._T+2VR32 ?&^LJH_.Q*#F MLAW9T_$[D6?Y&[-L.=>J >VL"F\AQZ9*RMIJT MG/SL!W66#Q MTC\B5CVUI*.V2BX"?MG+$:1Q"$F<)!?PTC[4U..E_T&H+=+DYTBN4&[,CN6X M"*@2#.H#!LNW;\:S^,,%GI.>Y^02^K_B>1DI&\$Y,/A6H5]@\IF**U>:D@;& M6V^\=3ZTQBT-Z\^L- MO'V3)7'ZX7\?OU4:\44= -UB]+>XLUGSIW^PZ$9W[]UG/)AUNCMEK#LKC0>4 M>^S7KR";#83QY(5P/93>]\(#W6&F\\H?=T&(0NU<-KI$FE?4)@,JV?25>I:= MU./)2;^FUY7U@83I-3R2F MV=E$4?AA=CT\G,F \A6DX3A+AX>:Q*\P;OUE[;/GVJTK2N )R!];*:N=+)(2FXI0Z M;OP.^1%G@S @H@Y(=0N-[U$D,Y*IY0(5&E>%"R,975_#,]T",_K9$Q8-.DR- MNO1]U)7S7MJVV?2K?:N^;3O4R;SM\U^9+CF5ML MN<:C]]09==L[6\&JG>]7 M&V6I^_EI1;\;J)T!Z;=*V4YP&_0_,,L?4$L#!!0 ( $D["55 %:PQ$@@ M %D3 9 >&PO=V]R:W-H965T>&>EBZ_Q#6!-%]5A7-EP.UC$V'\;C4*RIUF'D&K)XLG2^UA$__6H< M&D^ZE$UU-9Y-)N_&M39V<'4A]^[\U85K8V4LW7D5VKK6?G=#E=M>#J:#_8VO M9K6.?&-\=='H%=U3_+.Y\_@U[JR4IB8;C+/*T_)R<#W]<'/*ZV7!7X:VH7>M M.)*%/ MIP;[XM6MJVL3@7(,2MM2W3H;C5V1+0R%BW'$$;QP7&1S-\G<[#OFWJE/,+ . MZG=;4GFX?PS7.O]F>_]N9J\:_%=K1VH^&:K99#9[Q=Z\BW& MO.;?Z@\"TX/Z]YIX2Z/M[JX=(]+DX?$?6AEVUT=;H$?OG2:WUAM2"R"KK4!N1O-&5*M8:@045G8HOA)'= M*5O/(?"*8!Y5G=A+S%X%[E''O9&""BA=EH9#A'UCDR0:]ISU$/Y&4M/I,*,W M5%\L;%0[-7V?; S[GN 0>(ICC(6+6EDHV#&F>N6).%N,TB?GO0D;4U4T/,)& M_GY+T.&@1X;AO E-)B[VA=KP;BD#<2ZD7-%-1&R M9 YZ!'^AI0:I+2D\1-=P,HDQ3(0BJQ<5R1EZ82H3=WQRB'C6-EC11[#6MEWB M@)2"8( >LZ/GGV18]0-2)E%(-XUWCX:SS0#/A_/)!%'8*,>';ZT&,9;#EK:7R((%&U9+HB3_-7CE7(6H-#X9 B/N_0_1WI\*U3 MC?:2I2V7Q&)WP#2WQ0.TWQ/.16W*DP# 5-I5B9V=L&]@@'DHO%4:8:(CP4; M;,LIU9%A*)'M#1XUK0^M!D6PQMB3"A5MF1Z1BK5UE5O!FZ$DR'+X M"S[9HO4<*(O#AA('T.U,W=9]_XPK$\VDY*V+J>SW-3]2]ZXF1E[XU\<))U1M M>6R4 9/S-'=RR&4I^4WY7[9@Y@MNZ%W63SQ\,QE-]SEE!]4.9833O6M7:_&" MF'[)H09N8F,N.E4!QC!ZEG->Z7F6$.6"-ZCOF"MJ+PB/U>%>AWH[-=Y&>0*2C-XM6IJ.0]S2\IX7\>76?!Z=L-0?QD2G) MU?LU\^+6E<11F+RY8$ #IKP%5WU$6L!]_%%4-Y7;D7 4-.3:W&,+SDE:N8%R M9_#TK36>GOH4]KMM2"0O#(*)(NP(19+70 W9U>2CP2UK6^X!"!PTT^FAY96> M3J)^Y$G.A%&'3!^+KF5(.+7>@63X!_*@ /A^:4+AJ7>@6CCM)UR\6LZP B-/)Y,?]^4G" MYC^F(B7TT [MI]#H(+"A*B!/?#HDDB=*203LO9D/WT)+.S+SQ=[82/WVW_;+ MX9'3I13+O"L68[\/^@@L*ZFV!F-"RMWU$_,_)M5VOD1A>,810B1%OVBA:Q3" M\=$[QG-C2IXU#LVF\60G[:= \Q6N<LAR,7^!"&B99I+=\%Q M_DF N3+13[G)L)6"?,3+$>)%VB!6&%(X7VF&*"IM$)GD0DAE M0-KL-D/>]>9# )\UHF,4CV6)IP-ZI*+E%ZX\[&6H:JH7?(U >-7SNDD,WH(D M>Q'H^S)4&HQ;9<01 "1KJ'HN2:FPG@!Q5,0>^\JD883S(P=B-\'Z+-_[ZFD<"SP/GW"SM9*YW$6ZKG$H 6U5LKKD4*7? MUOJ!L@)C;7A.VA[Y(R^.&I=)1L6DC2SX6VZ// /QTZ,(,A%3(R]EIRX*WV9O^MGJ#2+B M1G^.,&D0A8R4:9;@UP[,PZ7L0)/#Q,=!<3[WO42H=S38_T$KK+KSKB JI0N^ M&AI7C$RU!\A58J1Y,C)2UUF*/4E_ F^?IX,VNFIU3(.;L!KL$D!Z;&)-Z"CE M#Q[)B,,QR1KNP=XM9 9F=!.S\1,'A8A!E!]TW$JR& 3+_\R&.> -\QC@]*1#O.[G,07WJ+'O<^ M=]3D5_)1AWD G]*7C^YN]]WH.GTN>5J>/CI]TGX%I<#!2VR=C-Z_':3A:_\# M;SCR\63A8G2U7*[QKD>>%^#YTB$5^0&PO=V]R:W-H965T[E':0V9G-7"3K[WLXNU+D)#8* M]$7:"\ES2!YR9[YU_FNHF2/=-<:&RT$=8_MR/ YES8T*(]>RQ9N5\XV*N/7K M<6@]JRH[-68\+8KS<:.T'2SF^=FM7\Q=BD9;OO444M,HO[MFX[:7@\E@_^"C M7M=1'HP7\U:M^1/'O]M;C[OQ(4JE&[9!.TN>5Y>#J\G+ZU.QSP;_:-Z&HVN2 M3);.?96;/ZK+02&$V' 9)8+"WX9OV!@)!!K?^IB# Z0X'E_OH[_-N2.7I0I\ MX\P77<7Z:OC% MQ:>T#/PML8W$&_R&^3@BK+PF,KKN[[CT'GP&FZ MYW0]?33@G\F.:%8,:5I,IX_$FQURG.5XL_^38Q?B]-AE:5?#F ]@/[ M#0\63Y],SHM7CQ \/1 \?2SZ?R/X>(A),:*?PM!?EJ[2&BJB65?-(<6:Z<8U MK;([@@U[KDC;Z$A1J)5G:I,O:^BF7#BCVIM6=N)+0\+A' USIT(%WT4K4Z*B/O/W^\NGE#5U:97=1EH'?-\OT0 M--XQILV2T8T6!*/54AL==QE5:!M7JHQMZ=JK9+&IMIB^8>^YHV>?/5KU?$A8 M6A2=X+4N@KR6JWU^K= M3,Z^6X"%SG%+%6IJU2X7J34IP!KFJ04#.IF.BH,'(*.V:['+3OV^#?=X> M!('(5A=5D4GK3OQ*SD$ MSL#:5A"QS^V#C!H )&A&;@_ @9*5W+KJ)H<&-*Q"\ET5\;C*$@TC^J)1)Y'G M#\K-S.^/")3268F$V:JE$*& ?BNY8E7W0=<\5KM)6Q MU&.-/%8I)AFQCC0@,5H( TJ??\"T+J+(F!SL_'[,]D)39>E25E"G[_MYC.@J M2"[]W/]^//=873)5%E_?'\= F3Q5W:?6Y/%" @_52&2E[7X+_,S>L\@5,53N M'>,(44D3-LJD#F2E?2,(2EH<,M!*:9\M>+\]M#CIE>Y6E+)KO32<741/HIM^ M+GYZM^^8&.T7B(:6\#XUC.EXG;+X!"766&W9,NB[;H@"">&*\"7BPY?HOC"0 M?O(9HD4[[S0."&QV=%*,ID>K ;(+,<.Z4N>J;A_7WK;6,GA>5F?IO)! /7&* M$;D-"4L#>\(,,UU5H9=8K[(X-IR%9V5@>K$)B*P69W25H4/$7Y,_#+( VG[C M0'TRK<7LEY^R\='9HF&_SB>H0%F"W3'C\/1P2+OJSB;?S;L3W@?EUQIS:G@% MUV)T<38@WYV:NIOHVGQ26;J(TDLD0 .SKX!^N;.V,_56JDZN=\49?7MLW5=;[]^\:): MK-4FJT9FJTIXLC1VD]7PT:Y>5%NKLIP&;8H7T_'X_,4FT^6S5]_0=Q_LJV], M4Q>Z5!]L4C6;369WKU5A[KY]-GGFOOBH5^L:OWCQZIMMME(WJOZT_6#ATPL_ M2ZXWJJRT*1.KEM\^NYY\_7HRQ0'TQC^UNJNBOQ/!, ,<7F?297Q,'QG^[V=_1YF$S\ZQ2;TSQ+YW7ZV^?73Y+ M8\^<&4];I*OBMSE;?'OP"0/=Q3!_?KZ<$)_]&4HV0V3I/I>#H],-_, MXV%&\\U^,QZ&-L]SGP[/C8+U=;7-%NK;9R YE;*WZMFKO_YE0#R4P_Y MZ:'97WTJLR;7MZS,J%S@KXAB48)&%H [_S$LG/ M:Y4L_+OP5P78RS.<8IX5,$ EK'2R.GFK%FHS5S:938B#.@]6:;E3ND=E-&:PYM8W!U@!L8"'A3>=Y,LA)>-C:I M88EZ;96B;RI]GVQ8)!2*Q, @0L4ZNU7)7*DR =;99@(TSO6&@4VVC:T:Y-7: MT/>V*6"+.(%5JZ8@>A!8^/!&+1JK:RUO?'>_6&?EBB;;Z(I4[=%?_W(YG8Y? MWGSWAOZ:O#PF^+40?&CCH^2-LC78 '@K, 'OW-1 "M7"?XFO%,7.$2B'/PB\ MAS'LL:!+(IC-B9GN=+TF4D8("X0#Z,U&USAIC*VJ6:R'T44, >;!6)4B8-5> M;AX$LEJ;I@!" 3' 4"*H,.:7IF1#1+!&%$0L3RY>5D_@<@079T#,5OB75; ? MQV4[E5GAJKYL=5'>!>*Z+!M8[*/:&ELG "X:OV0R/OF/Q\T/(Y:Z4&&7P$K'& M/Q99M4Z6X!:%B9ZN%399KEA]=7?W>X%LBHUJ/=- MMD-)4/=;<,14WN,BI&67C:8HLJC<#/)V C-JDX\.&,LS;RS/#ENRBD#^#G@+ ME-2P,7_:#(1[UDJL]>#AH,RR%D#MJ.M=I+#$&%611*!RVF2? 6E^%:145H'O MO(U0FRV7@%,A ,HKH#?;H,-"E(#WE2B+0F=S79#B)X46J6-\$P!#8<.EAP>A MG:9A (RC^= N4Z^:A@"RZE:5#;,=\@.H4S#T#8ES&(.?F.*@AV-G;#\V0%47 MS%VLU9ZHKT4GIN0].(8O](:T<6U2#SAH'P/P>.N6L7N( "R4OLWF!=N+Y#8K M&L\.NH31M0'MY)#3>@P^_N+S"886,.%=9O.J)= 4= ",L$I (Q<@X(T%C!3 M$"ZM5F (T^1S:>X !Q8DB_'$(@3.[6=5GU0@A(A.,HGTP$* =(O874* 9*QP MEJY!9@L-VZZ0&=F25:;$'8)O!,X9VVMM%\T&, E+ ]1O 47BA;SYZ9_OWYY, MKA+80JXV>I&RF0+55;'F G/(/D/-> &.M W1TYFF56'FN#L@H-GP2X%\O*$. MJC3[?8A%8E/\SF\9:5CCQF.H>;MW9*]%$I-E8PDUS38G9,.6.MBWR2]-OF+F M(8,##*(KH2BN#.P.V MU"#OD=92S-8]9LW$12'18D!8'<;CV:T+(LV"G MN[5>D.^!A@=\>L5",8)HKF[(AV!CA7C)->A0RU%&O38MO"%E@Y(Y9'[.O?DY M/V@\('Q: *9L<,K?@"\+PO915Y]96MOQYQO* "@[:*C^J+6BF$Z756T;9G22 ME"UXG& KR'L',B'"XF $1&716W?!ZUI<5SP[L)B 9'(F\ 7TA+Q+A%((G.0= MW0$EVY9Z3#XACS+?[9^,7=([$XD-[D_73_)@36* \ 3$%*X>^*MA?U.P$%O#DEFRY>6 3I"I=@"L0>IT- MXEHU\U]DHJ9L*N3W&/]SM3,^>""/.GX*[&X +ZA:""H0'F (PM0\*S^CV(.] M8,JN];9CGQ>>@5 ^69K83V$*BO,W&7^%HK4Q5NWSS&M3DYRRU44Y'.*!=RU? M]A%^R:KG M#Z]ZW0]-.C-WT#RC.5<6N&P8?SQC+X1+248B8K:F/9\)R).OVA"F#ZQ&*2'F M-=+Q9-7!+*-ITRR R'/D)L-@JUGI?]=8B"C2Y >=Y^![?)=5//YZB;X/\U>L M@4@VYDT%VK 2V0K1TIW*/N.D"!"8VA+2J\W00*C*U,I!DN5R@X\1*$F:UH%L2$.05@(4$UYL@O#5X_!5KT *] M673R:LE+=; )A&MJ-)P4/44^KR!N#[>04[6/0CXQ)[:P-:%X\8R,Y[/1--GH MH@!D$=79X#Z?C"[ ()X[9",[,?L'3>D!N"RDD\ M'\E!)N!W@=";QJ*?#1\!]_X+=@-=S !(;K;DVS?;+:AHY++K C1BLVIOMU+J M,]$6*H!] MR=R0M6UAIW([@)&BU\0/=I$H.$3 'QH-$OF.;G$?R0?\8N8&/6D2H"Q!-\HB M&%D.K(^^%0>L9ACYDCD@(T,>6AI9:B^>W=P)&<1L@X)%EC/HV=A0'7#>+KSS M=G'0H;IV_/;1R\R05_;D25H.A/!^Y51E'6MB85IP>P$M%C5-8SD=X14>8L/[ M+80/GF?KJCC(V%L+,E#6DMFBT!ES.K".10BP4K:0*-M/C/[!*/DA>$<8\JB[ M856"5!*''#0\10HNC8;5#TY#Q>ILCS@^*/FXC@_P-&Z*G!'B$U[V;JU*C@5P MYZ3'-R34[-1!%,K:5K-)7-82VL8*2=VO,T .^G)%X=0S+@'\;&PM,A>KY @7 M"(/%Y#-*'(2D*_14V6;Y[5&"E)2U&.#8H"G =^ZE-L::Z"7/\H+%V%2V]D>Z M%SGJH!E.14NZK(P&.!8M4Y<*,24 RYAK*?Y%.LTSD$@U']#,!Z3PTDOAY4$! M>H>IW7]25/T#6-:&]=1@?/2K)O+&8U\BS')TKW'C-6>:.LN&8&/0=C_NEPKR:0WX@LX50C9;.F/7G MJK[C!#3-008'EQ*QQ/DV :V4VA@1NEDX:[58E_I+ QAM*I9&>3U&Z08X&ZO= M8 '_S3Y4P_K.S%&1L'R5VT;H!(+=>[,I>^^.H@!W#Y6'*4QA#:F-10$#0=50 M>)>[;"K[%>B3NQ2I00EG0<(8I0"U7/AT3S3S&NQI9A?K7>1/<8[5HJX ?YSX M#H-G( 66M,*F7%*Q0'D';HO>BC?_=?+7OUR=7UR]3+Y'*)))0FIV^C+YS\90 M:N5<*EV+CZ1[IU$3#63F*-.I-/_>0_]2AUQ(E'\@P=*%]B$(Y3+LV! MN'QY!&@5T+S([#!@:7\*-Y9#4\GVRKSMK3X\N4^CRM[\G!%]T ?+2N(:8ZV9 M4Q1!9=SH)1$C$).LB\N9Q^6G/B^'%=$MXXP[S SPU;QT:=SRX6T[;,7NF# =7"ZCF^/S? #T?@H"<_8OUZ=BPA;"NS M6^W+8 Q6!IH2\%6H/#;B:7AUF^V\0,.7%F-/7R;)MF!D[RDSB0L"[&$#E3/L ME)58 Q>9H34HXS5'>B"R! < M(XE4!M+=[@.AU+?L B>ZS2!P8#:'Y2 $25!J4E&-K74SQ^"M5P_Y&E?>U[@Z MZ")\E 34QU#V&?(SGCQ)R^.7FM*_J2^%7R6_KLH*20=X_Y\]C.N;-\GY^#Q- M/L:OOS&84S*7(="&/^>D&HBL-42'ZZ)3LIX 3@KQ5)BY@[(&BF[K( MI-/ SQ22=9%7(!Z-81(/S\Y>.X=G(&+D,V<%6LU*@9LH&D2)_X[QQVJ0%^=( M:I>M=PR[=S9X3C#EU%>PJ%VH3TH>="J^$[I0:(UJZ@QCC>6]%;_PWA5U MY7RPA;,'["#$(WI$?IFLS1T0UJ8P;$W MPBQ.^F)9YJ8UGT9BNR;O.^$.E0^7:"-R4GD!WE^K0GQ*57VNS39*25',562N M1:C92B2BP089#;1%S)!1VQNN 5L0#H B>.6# Y]C#L1X-\ M!];\>I]^PF2%PP[M)+!1._XZI$O@S2@R%ZZEN 1L -6F0VMI2Z]S?2%7MSX' M$^^L,D6W S#UA'6@58Y"8?T:MV3 0I*2TQM,R!O7R*.";.+&I"$$9FS; 8K& M)+4G-8S$8MIDZH+67+0=")I%B\#J$&$AM;\(S=[5V6!ZO'J,,.:0BR M48UQ?A8%&G7(TE);.)J\N0&X?7?ENY]>^^Y*W,*65"H2B(**X-_2WJANCS%1 MFR!!E03*.UX(&9K(KS!>W8L):;8 &:[/"OM&[(I%*=N$HBDX\J#7P CR#EN1 M$^RDLP/_*%) K85\R#K <+>,*Y"$JJ4'A $EZ7%DCO3[ M*'F_Y SED/QWA:=;H,V598KT=JH; J.K+&NJZ5W,E3'/-2L@M1] MS67-.V(("1PES'R,TH$ 2@JT&#"X\#$P5S!6RX>6ZY@S)C_Q5-3ZX0IJ8".W M]-SW*46+$O\VEU+P5DXT2K!(<$55,JA,< @G=011/G MIM7:']YP.LE%CJDOII'ZE2H!BJ0TNN&&;[ECZGWIJVR=IB1N7%+W8.F)GJS- ML9410NM2VHV=3M5+9@HN+K2,=,LQHY[FB)V#.[,R)N_H5]\XZ_KP<&$E"(H: M/P"(N00!S&H6F["+0AI%J& 9&50,,:J,G$'8;R/!F.B8D?=R6[8 U0;!CJ1@ M:^+0CVX2II8YTA(F<9$;'LQ*CM1H-4K[8O[">4R.?S'_1Z(MEPPV6=#!!=/:NQ05L8?:LC'VG[=(I% M/Y&<>9_@<4VOV,W@?;"6646'O*/1_TWYG@7P#^LB<9]ERIY+)S:TU_?=T1@N M6B+"1=U!7":N*BRA<#&VX+XSB'SE[_;_#:C0^&!F$%CW!@DNG3EYS7BDHP!SM=(EU0A8V:,CY48\3R:GZ=ET M$GUQF5[-+EL)T.@P0-R2XVC572)R\MRL1]/T].KT.'R>I-/)Y-B;68_RZ'P! M3Y$FI:IC"")^$L?8"#W_;P?0#\/F0_E7)H"4M?V!(3J'R>7IS-HL^S M].K\C :@?;HSW&GH7SA-I^/3 & Z'D^ -;! S.]Q$P^ILS#D:C:+V//B]*P' MX(/LM[7^3F_8HR1.H MA"!=?PP-?:M&\UEE25K 9KA\S#/[F(^;PKCT&7HO?<6%]7K?U?5-LYR@Z*+. M8]<7M7PA"'R?D[VOH[O32K;Y;KM2K0QHAM"YS>F#X!Q_\ID2H9N/2'R>M+OL M4M^K_(3MG0>ADZW=8D)AX/2W2S1YQ\]#ZA4,LR]+.G*14Q6 .WBEJGPX2_E! M%J_>,R(2'KN-8EXGBZUW0G]<%9<0? 20=GS0GD$6Q[I>=^XF>,S%"JFD^]KI M8F%%+D-03U>;:3'MUV>%JCY!9MU+D8!0HLVR*S2:?>O<;2@3K=I.V_'J#VN/ M= \EGLX.O&)D?B2L&K,1-^O!U,YPY0,4YS2G7'V 3HZ6K;4)$U5QVRQ)YYJU[T*)SI.Z:$F2 M K^632GU5N$1O06>D3QD+]P,(O-@F9.\'_?#,D&AS10&G1\[]3+ M1BE76K6:FN[[OHDKX IMXE(PFI,XB\/XP02U:\0CQK:*V_-]6RI-3"-4ATA_I3L^$(D)R+@B8ED^6RF'VX2:# M,N^8Q".B_;9HZ.C#O6M;;+'ZQF!,C"Q9';,&&XACHR/:#W"5PT:,8SG!Q)X6 MGE&LE#N3QXJC$SAY!4]E[J7S ZO:7[43W=;AD#C(X3$4KGK)+!C&LSGE1H#H M5+ 0/"A0")87ZY-F*XU$NELK"E-V#I&S^G9F$I47\ >WI_C8O9TQE+E[0?LH MCOB[9X\&>V'BU011,KR5O?QM)B5N#'$5 K(PH^2:]8KD-T@^P,^N@(I\YJ-] M04/*"3BY3:G3GM:FY4E;<(.+W<7D0T@BI[T,^5./,2D< ?_YZV!2(7+[1+K3 M>JCET-8/D.T:SV:U^:YC97X+M_T/K2#@!IY40?"2U*TAB"/HW(L_P*WH%C(. M5#'\(Q-\"X=74GJXZO/Q:.83&@@O?!$=@FP?A-UWB]#_LNK'(.S(RQ19XOL! MZ]1RW//;0D ?MMSW %TBTTV #3:[S1Q/M%'/+YUOPG"#O8':W0+ECMV@;3UP M(G:03>(M!2:8CLZ'LEJ#V^P4:Q[,6P&OQ\?&9X?.9_\)4+>.H?1Z&XC_)W[6 M*,=^^%#\WE:)GL<.#AL??I&\M^L+G,7)\Z!Q#P'92YM+RMS?@/0G)FTGH_&C&>5WSMI&6.0<^/#] M87<#L6AN'>17IR=19_/T\EE7':?S-+IY47\Q3@=7TW]%V^&#Q'T5IJFEV=Q M,?QB%HJ79^GL+!0<9P!!^/0S90P.,;6?CR_]QXOT:A(V-KE,SV=A&[BK MB[")N,#GM61W_M.K,/GL/ R^N C+G)U>=B#O8WPR22?C\U9GP_2BA>&K]'0R M;=, _AQ@Q"?*VB$LSG>B"*BF]/_"E_S=G:.)90-;4,+G,R#<99NRI^/+%F7/ M)N'S6SF,TX5BEIY?!.I.6XP:N'DZO8H*^1=G07P>+R+/NT+RO",FS[N"\KPK M*N[_C]X+C>IZ8A\M%X1WS$K.K#V%&[F@ZFZXFN.]__]M6/+/8\&_!=\-"34> MQTH!F>\JIA/HU$G\!3)?T+@?UAEX[0O5T*GT%Z^UH3/2>'AZ%W'B6:2)@!/' M5SV S].+<6 8X,3HG>M%AO=T9F&*\&S:9^II!-_94U3^[\C'0THTCYRMPUY+ M*T'ARHW>!Y]C1XA9V6R+=S+(J>/V!3(M\?%NN#_Q^'^/YZ]A_\"A%?4=G5[$ M?4AGZ66;Q&?I64L? U.<7@:.>^#6M^"+3*,^*)"B:;\K"D5A$GV:7,0-4<#P M'S(N[GA)N@HO7 SHCNS0/R%X: M0K(X1BX.>5!S156NFH,LKC>8Y$=C82*A]Z&3]I-Q^!V2\<%C\C^J&K9*M[4> M?6^JZABS",D-J+[!6[9^_6R]IFVZ0Q'+WA0IX2OMZ_6H&R^KJ.6%JC@T:^%G MY5,1/))+.)MM(SF%7$MC$"*]/US.B-S1(4%,^LL-@65#28\(GJ5?!F^+;L'7 M[O/$>+.@Y7\#M'\*I*T[0]RUL@ #0,_U^ !HQ1?Q.D3Z=]Q]'NP-'$C5CZH?WMY7S3WCS!(@#G4*D)WC05RY$ETUP MNF_;V,4Z:Q]0ZQHIM=D69J>43.6&4*C.15_)#[;N.XX2JUBGJ^C"OIHN_DMY M4\(6=!7@$#>XK 6FM +/#[Z>X@6("[678.YR B0R\1.SSY\&_[ M/'[%EC*B&X676NF)>TH=GWS MB9Z<3*:IL\H_9_=X-P,V"UR\7QKLO-MCZY9/ '387 M@\#\Y_NY"1 W!QZ>)QWK+CG+^&=^>K^X$17(^-"NIRVX[.CNC_WEO>X'H=Q( MWZZ*!UDCRRI]I=AFW($Q_:. G#P$)->8'IIFFKK&9KS]D.199(9;*MO5S$R4 M/9TN]YN27H ,=F)W25S%HB*[FS/7K'N[-^>ZRS=+5X9YZ,9 MS/F#[_G&_:.? MS1;8<#8]/QY"UXOHYQ11Z]&/1E9\&3;_LJ+_-G$_3'G-/\<87N=?M?PA0Z59 M)85:PM#QZ.+L&;?7N ^UV=*/,\Y-79L-_;E6&;B%^ (\Q]]/%P &0 'AL+W=OZ8EVB(J MB2I)Q?%^_0XI2Z0O4=.N'0KLQ1)EGBN_[_"09RO&/XB"$(D>J[(6YY-"RN9T M.A5902HL3EA#:OAGP7B%)0SY32^_T*E;S]80_*5D)ZQVI2.:,?5"#7_+SB:L<(B7)I-* X?% KDE9 M*D7@QL>-SLE@4@G:[[WVGW3L$,L<"W+-RK]H+HOS23I!.5G@MI3OV>HMV<03 M*7T9*X7^1:MN;I),4-8*R:J-,'A0T;I[XL=-'BR!U'U"P-\(^-KOSI#V\@9+ M?''&V0IQ-1NTJ1<=JI8&YVBM%N5./#:[[V^\D<5_MK6)RAP'>2[OC^B+QBR$&A]P;_.PJ'@.]WA8=V*5:>B MP1DYGP!M!.$/9'+Q\H47NZ]'/ \'S\,Q[;;GLB =R*DL:G"]_D$HI!+. M20Y,>B!U2PX%,F[J'O0M6 DT5@FA N&>RI^P_O)%ZGO)ZWT?X%EB"6/)4,-9 MWF82X3I'*DDT(\.T5[0&?:P5\*9D2>M:90,";@BG+!\DCI 7.A$(F ^I,PM2])YD#""F:Q*( M]3'2.BM;91MBG7>4[X2P\-F//\3WO&*QT:H>4YRU76HP*!]50 M\RT/>.?8W\1H#YPT#H:1Y\S2<"L!!!;K8.B1D\Y5M2935/33A2K%5(/+80,WO8#7?BDOC"%#TB564@*HQNT%U[6C M!OD3=-=FQ=/1/Y-3F)/G)@IAL2&^^.94'&'>S5Z^1]S?]^QW4+PFF"/(*VQC MPD)G["118(T#9Q9'6@ TRQ73:!,_GS94X.62DPYG5@$XQ(=QM?<':OP8YC+ -16 43 J M,"Q"1R,UI\N:FM!6NLW08X5!-5$+;)2I[^11$EVH5Y@#TV#':: HB1.TO4=) MI:EGCCBX)?6NS=?#JY#0W5;?'.E?^NR0-KY=?7I#VZ>7>>O_NWUZ*9^?CAN] MO)OE[E-L$)X ]2)K'#M>:N^97N#X:6)_R)# , MCIP@,JP+P ,SNF<2EZ.@'G2Z3NRFPS!Q9IX)S$N=.#!AJ*@2$\1OH*\6I*< M;!Y@:U=_.#/*@]@()XDQ$X7ICN?[&?<\QW/CK;;$3[8R/'-"S]]> W@] ,3/ MY-I8%H%_72% !$Z%AAZW(RT$H[6Y?2*,DFRHF8E6ZXM M)$96)0(DNK,]AZ%7'BJC5 MH9'QKF7!637L& *MJ"PVET8$^E"HJ4O"EAPWQ=I!JX+"L4$A.R>2\ IZN7R; M/KTDTB<5U1S^_S!_"?$#0H5NOL/$;L:A.=]>XLB)MNHQ@"),#>+>M)PUQ$'O M:)[#JK[!HD/3Y4)9L'H1WSH, (O\_:.!HH)GC;S$\E@ X&]QIBZM#)-F9D)R MH)Z#T<1NA[QX?W__>JW"H1/,U+JSA)PO]2LL%M$" "/" &0 'AL+W=O70Z7X8KI1]-@6CAN132C(+" MVD4_#$U:8,G,L5J@I)U,R& _]VK4>#U5E M!9=XK<%49H)"K49!)]@LW/!Y8=U".!XNV!QOT=XOKC5988N2\1*EX4J" MQGP4G'?ZDZ[S]PX/'%=F:PY.R4RI1V=\S49!Y BAP-0Z!$;#$JZ0*WYQOT2Z^=M,R8P:D2/WAFBU%P%D"&.:N$O5&K+]CH.7%XJ1+&_\*J M\8T"2"MC5=D$$X.2RWIDS\T]_$Y W 3$GG=]D&=YP2P;#[5:@7;>A.8F7JJ/ M)G)/55.6FG-Y=R]7KY3 MYGXB=P5"K@25KP.Q_EV %RPM44"8JG+!Y/KPX"SNG [,-H."HV8Z+=:$H($[ M#7]."AQQ28&J,H1F/O;!,8B2P5\;7RLFDD*/&-M'#/>&1+SP_8Y+%-!IQK@9 M$[A3E@DX]S?VMKHI,P7@4\7IQMRQ;T=0H>*:OB;ZD;[^>467V&Y]@*1[NF7Y MY,:#O2O;$?]@"BXPQ7*&&I*.3T/GOTA#+^F^,PT4L>OS$VXUB1+UW+=" ZFJ MI*W[1;O:=MOSNLF\N->M^HKI.9<&!.84&AV?G@2@Z_97&U8M?,N9*4L-S$\+ M^L> VCG0?JZ4W1CN@/8_R/@G4$L#!!0 ( $D["55G),6=A@( "4& 9 M >&PO=V]R:W-H965TZ;2@-+6U I?!H$D5\R+KUX MUOH>=#Q3M156&=PX]G%ROZD&CY?RC:K[#.I^Q MXTN4,.V7-%TLI1Y):F-5N0:C@I++;F6OZ]]A!S )O@#0-8"VNKN+6I4WS+)X MIE5#M(M&-K=I4VW1*(Y+5Y0GJ_&4(\[&=W(%TBK]1HY_LJ4 E%T(VI!]Q+^J.49&08#0@-*]_ -^R2' M+=_P7TE^EEL''7T.=3TQ-15+8.[AHS>@5^#%1P=A%%SN$3;JA8WVL<=/V&-I M+8"HC/!](O?3;(N8*&P78R%UC+8 DBF!?<=E3HZY1(^J#9.I.9F2HX,)#8:7 M_WW%XD%;O(WC!A(HEZ#),!Q\B'85=I^P]SRR!A^X!:'),2 \\D[T1=A;W_V8/R=UBU!Y^V ,EC'6MJNBWMO/P.ONM;?AG<#])[I MG$M#!&0(#<[.QQ[1W5#J#*NJ=A LE<6QTFX+G..@70">9TK9C>$NZ/\9XK]0 M2P,$% @ 23L)5?&F12)F P .PD !D !X;"]W;W)K&ULM59M;]LX#/XK@E<,+6#4;[6=M$F MMMA=\" 8KV7SXI-Q[K) MDD^2F_;?'R4GCKLDQC[&?S)8*M':V(S64OYW0J_EDLOM $!A\)8!(JO%W@$SBT0AO'/#M,;MK2. MX_4>_1>7.^:RIAH>)?^+E:9>>C./E%#1CIMO1PRP\XQ#O'&(7=[^1B_(3-72U4')+E+5&-+MPJ3IO M#(X)6Y1GH_ K0S^SNB\*U4%)/K]BF35H/\"PAMCB?6P/\23@;YVX)DGHDSB,XPF\9,@U<7C)3^9Z M*L4>X>8T@NV06]W2 I8>MH &]0+>ZN.'* OO)N*[&>*[F4)?/6/'E1T'(BMD M:Q\K3,0ZC7;_ P(I)+:2-JA"?%,#J23'GF1B0RZ90(WL-!6EOKHE'S_,XC"Y M^\_?6%%P%=TK/D$!S1H422+_R-J6W3ZB03/DU+1CJ*(_'B6C*1T!+9W;I6L0-L?%>6D M!' M*/,P'=9Y%!XA2"R(.O;*L]'.R2P_>[(7)/7G:3Z2,W^>1>?L)]B:#FQ-?YJM M14W%!K-&&N%1E%UA#N;0Y3?Z:F]R!84 M$*IW)-?_.\6?V>N[_]\QUP]T=D5'IJPIIZ+ , WR=L.$L+V(Q]F"8K(F(PYD(.P'[@V C D9^E!U(E(8AP4%K..!@Q2ZQ+4/+OW'. M]')#2R!EIVP@]L1_B.0R\F_R[.H@YWEZ=2H=$.691,;-=$'F\_ 4%8/10&M M;=S8MG^P3IA^M@W:X69PWP_$@WE_K?A*%9ZL)APJ= VO+L!90WP>R6EV0MV@^&^M/H74$L#!!0 ( $D["562=NA)N0( M $D& 9 >&PO=V]R:W-H965T3:6#AVL!U:_OW.3AM@ZJII^Q*_W7/W/&?? M9;Q2^L%4 ):L:R'-)*BL;!C5C,L@'_N]6YV/56L%EW"KB6GKFNGG*0BUF@1)L-VXX\O*NHTH'S=L"3.P M/YI;C:NH]U+R&J3A2A(-BTEPD9Q-,V?O#7YR6)E7<^*4S)5Z<(OK/WKMJ&7.#%PJ<<]+6TV"TX"4L&"M ML'=J]0DV>@;.7Z&$\5^RVMC& 2E:8U6] 2.#FLMN9.M-'OX&0#< ZGEW@3S+ M#\RR?*S5BFAGC=[M>^#$0-%J;CD8 M NM"M)AULM"J)K8"@MJ:UC)?$(CT(#R7*%R@8*_7^!MGUFH^1UN\=V*50]8( MP@=9/%1*E*#-KISL9WUX<$KC])S\ZXAW#_[NMQON#;A/0NZ9UI@(X[@VK2XJ M+-4WI'O,B(8GG:#+,Q.Z1L9"7V1DX9)0L,D3G"6TF$X'.Q\T-&K\JY!+WT3,\BNE;:K]'ZW M[Y,777MX,>^:[ W32XXJ!2P0&A^?# *BN\;5+:QJ?+.8*XNMQT\K[/6@G0&> M+Y2RVX4+T/\]\E]02P,$% @ 23L)5>5+#*\0 P [ < !D !X;"]W M;W)K&ULQ551;]HP$/XK5EI5K<2:D 2:4D J;-,V MJ5)5NNW9) >QZMC,=H#^^YT=$E(5J/:TE\3GN_ON.]_Y/-Q(]:)S $.V!1=Z MY.7&K :^K],<"JJOY0H$:A92%=2@J):^7BF@F7,JN!\&0=\O*!/>>.CV'M5X M*$O#F8!'1719%%2]3H#+SO7&$UOFQF[XX^&*+F$&YN?J4:'D-R@9*T!H M)@51L!AY]]W!)+;VSN 7@XUNK8G-9"[EBQ6^9R,OL(2 0VHL L7?&J; N05" M&G]VF%X3TCJVUS7Z5Y<[YC*G&J:2_V:9R4=>XI$,%K3DYDENOL$NGY[%2R77 M[DLVE6W<\TA::B.+G3,R*)BH_G2[.X>60Q(<<0AW#J'C705R+#]30\=#)3=$ M66M$LPN7JO-&&9F^?)I@7AF9R@)KK:D[KLMG.N>@KX:^ MP3#6V$]WD),*,CP"V2 (O:G*.'%[TCSD?2K5"B@\CV1LST"N:PLC#*Z%!K<$;7YQU^\'="9YQPS,^ MA3Z>X0W,2@Y$+HAVG.>.<]JN$VSM&@YQ/XW^G(/+GHI7O%VI5%BL#\,0' .$ M]MN_4_62O[L9[_0S'+S9(ARQ!8(VY M"T@S'&Q,&UMS+/#1F-U.E.PY1TGX_L Z42_:D^@E1PN%Z7>2V_;AQ"W*YR3J M=).H?:AA4$N';K;?FL %J*5[9VRWE\)4P[C9;9ZR^VJ"[\VK=_"!JB7#SN>P M0-?@^@9?#E6]+95@Y,K-\[DT^#JX98[/,2AK@/J%E*86;(#F@1__!5!+ P04 M " !).PE57C6H+V(& "T.@ &0 'AL+W=O\D$F< ML45.1)&F8?[]FB7\Z6I !\\'OL0/:UD>&,XO-^$#NV7R;K/(U=YP2UG&*QMD_)2[CG_6N[XRZN!5O:()2R2)2)4OQ[9 M#4N2DJ3Z\7<#'6QCEL+][6>Z4UV\NIC[4+ ;GOP5+^7Z:C ;D"5;A44BO_ G MCS47-"EY$4]$]9,\-6VU 8D*(7G:B%4/TCBK?X??FANQ)Z#C5P1Z(]"/%8P: MP>A0,'E%,&X$XV,C3!K!Y%B!T0B,8P731C ]]AIFC6!V; 2S$9B' N.U!Z<] M/SFMRJ#ZD5?Y8H4RG%_F_(GD97O%*S>JI*OT*DWBK/3'K2%(F"W)=2AB49Y9Y$RP3(950K^UF SC1+PC[\G=K47>OGE' MWI A$>M0-2-Q1NZR6(HS=5!M_['FA5 P<3F4JK=ES&'4],RJ>Z:_TK,1^<@S MN1;$SI9LV:'W^O7&C_1!OY[J/8"ANLW;>ZT_W^MKO9?XB3^>$SHY([JFTXX. MW?3++1:=$UVOY%K7_>R7!T5V3D9:)=<[Y':__&.8*SE]5>X<'[WKVMWCHW?) MO?]W[?[_ZWQPQ(/K[GPKCT9;SXXJW@CDV8X>7]<1QMT1RD'Y0FS"B%T--B4H M?V2#^:^_4$/[O2MOD3 +";.1, <)9+(>8R*>IK$H)TA=;W77=72CBE[.SA[GYGBL MJ1>6QWT_]/;Q5#\@8382YB!A+A+F(6$^$A: 8"US&%MS&+WF^*2R/^&B,[%[ ME:>.!TB89;RPW/N99IIMR]D=KW]96D]\NGWBT]XG_B&*BK1(U$O!LORN$D>Q['KX MO9!3'SX29DT[[AZ=T0D]>/S(H X2YB)AWI&WPT<&#;J":IHQFG;GYFR;F[/> MW/07G\D_Y$:-MSPCMY)'7[M2LY=Q:FHB81829B-A#A+F(F$>$N8C80$(UG*" MN76"^=,_>9A(GR!A%A)F(V$.$N8B81X2YB-A 0C6\@G5=M_SM=XQX[;Y#B]$ MT?G5^[I??ZH/&MID;^B;CJ<3[7#"9T'#VE": Z6Y4)H'I?E06H"BM5-]KW1% M__N7# 'XE-$?_V2KT!=OB71D&"^=@HQJ0VD.E.9":1Z4YD-I 8K6=HJ^ MZY0;GCVRO/J?!F4(%4)Y)%<37E'.*8CDE1'4R7J_V*C-.%.&"9-#6Y&W<=;4 M>M]U6J:W(R=;1G\QNM"Q85)3-P]-@XQK0VD.E.9":1Z4YD-I 8K6-LVNRDI[ MBU/S19WYGY\S_\V5]A=??SP[G[QXXQG1E^5!:@**U\WQ7/Z;]!>2[Y\]+:H+]&^&; MZK^DCY@K0"O*4)H%I=E0F@.EN5":!Z7Y4%J HK5=LJMDT]G/GRM *]U0F@6E MV5": Z6Y4)H'I?E06H"BM2VS*WG3WDKA$7,%:$6[H>W//,S.0AZT6@VE.5": M"Z5Y4)H/I04H6IWIP[WE:"G+'ZKECX)4=;=ZE'!<8M>N+3C MN$F@6).WVFI9H6Z@LNB05M\ ^_$A)D2Q5H:WLX#>-'LC?B;SC MG?E7=;T3\HM:DD3OF]1"K;;)C\?L<3L;L9^(/G"P_Q M:JWMA>'L>LM6_)'KS]M[:_1S<#SSX13WBH+8*9/T]\SI/$DLQS?"VA@\JF[;A__$RG^>#- M8!9,\;E(_HDCO;X97 Q0Q)2_T &7'7"K QZ]T&%4=A@=:V%<=A@?:V%2=I@<:V%: M=ICFZNO+>9X#BUD?6HI;D;FWYZ]EA$%!)+ M]!BOTG@9ARS5Z#8,19;J.%VA>Y'$8!ERS.%'OT!L4I^C36F3*M%;70VT&9Q]Q M&)8#N2L&@E\8R A]%*E>*T32B$<=_0-W_^FA_M3=W\<.P-!XI7(-?G;-'782 M_\C2,S3RWB/L88P^/P;H[9MW94QPV?&$\^-YOHL3 #\7 7HNZN8$/#0 M9HDIC7FF['1Q 9SF0%OBGV;^^<2['C[MN\YIM:_KCK%(("W2 Q8;4SVIIGKB MG.H'_L33C*-_W2O(">F[@B!A 22,0,(H$*SAUFGEUND)\^<4TON0L 21B!A M% C6\/YYY?USYZ+^M#;,M4@BM.72QH'9N*!,\0AI8?8"FDOS\Y8CM>=_:>*B MR_5.0WU=#PD+"MCE7C;TSOQ6^H4T2-T&&XZZJ!QUX734G]EFP:5=BV'U"WX7 MZS4*]]=O[AR3H1V_U^X*.Y/]VM J?@=;! =;D(,MJ'.\KPS[RVHV+_O6LKUC M]%?*NV;.R>P;X9"P !)&(&$4"-;PLN_5^VCOA,6M- 84 *"T )1&0&D4BM8, M@CTQQ7KRU:V[&XU;65,]SA?.X^X MGD?LWFN5FRKTP$,>/[%%@)ND!DTU_U?*,[]9G MX'8(;D.]W04JXI0TU]8#U"#M,(A?<%4MN?C./?VA2FJ.R=>,)7:A"8E6DC.S MVI!>LQ1=>BABWQ7:,J51E'7_?@%584!I 2B-@-(H%*T9%;44XY^?LNJ"ZC&@ MM "41D!I%(K6#():YO'=.L\'*92JWE\@62>(!4OLBXY.7U]TZ/U>^YV&VW)O M'QYCDX#:I%"TIF]JT-E4$B<'/ ,J!AUEDX#:I%"TYCOY6N?!3@GA MF(*:2;'E[]''.(K,36++ITVIMTMIDFF7Z]PF^R904%H 2B.@- I%:X9"K?9@ M_X15% -)+F400-("4!H!I5$H6C,(:JD*NZ6J5U71DKE?T4;XAUSMMMS;A\?8 M)* V*12MZ9M:7,).W>*(7'WH/8S;0.]%"2HH@=((*(U"T9J.KP4E/#YE9@;5 ME$!I 2B-@-(H%*T9!+5*A=TJ5>^7,6Y>;S^#BE$EK27DC=K9&U2/ZK0Y'75+ M4KB6I/#_E:2JK/QI)SH=!:HZ@=("4!H!I5$H6M/QM>J$3ZDZ85#5"906@-(( M*(U"T9I!4*M.V*TZ]<_*D+K.')06@-((*(V6M%;%:+_[&>Y].F)6VBK_R$>A M/$,7_S.^NEI]2'2;?S[3NG[G7\W]CNN!?T6*SX1J?/'5TD MV;DI-[+X$*@XT6*;?[BR$-JD@?QPS5G$I6U@[B^%T,\GUD#U.=;L/U!+ P04 M " !).PE51J_?M+0" !I"0 &0 'AL+W=O*(UXH2!@N!9%U56/RY U@NA9V['DI$*F"2<(0'YU)GYU_/0^%N'GP2V M<3K>E >Z/=^Q?;.XZ MEQ66<,OI+Y*I:<+)70JT3C5+QLS@?B.5J2@I&]W.; M6_%:KG$*4T=?>Q+$!ISX_3M_XGWND_V49,DIR>8G(CLHT+@KT'B(/5X(OB'V M(M=]!&6\7JF\IOI.;OZ]?55I"">6T+263>Q?>5[D;O;5[G,*PD.G9#"TUZIX M(K(#%<-.Q7!0Q1G5/12S%(Y7<9#PM6?[E&1)V%.Z\%E]Y_]Q:E1T]WI-!:*P M35XB*TK3=CIK]XZ8V?;I_G-O'B%W6!2$240AUU#O\DH'()K&WDP47]O.M>)* M]T$[+/5;"(1QT.LYYVHW,1MTKZOX+U!+ P04 " !).PE5% !^1C($ " M% &0 'AL+W=OFKO MI-O-&Z];B+1+KNJ=M!):>NUGDPQ@76)3VX'=_OK:20@$@KN[]1>($S]/9A[/ M#,-,]HS_$!L B9[SC(JILY%R>^>Z(ME CL4MVP)53U:,YUBJ)5^[8LL!IR4H MS]S \P9NC@EUHDEY;\ZC"2MD1BC,.1)%GF/^\@ 9VT\=WSG<>"+KC=0WW&BR MQ6M8@/R^G7.UO$U MG3J>M@@R2*2FP.IK!S/(,LVD[/B[)G6:=VK@Z?6!_;?2>>7,$@N8L>PODLK- MU!DY*(45+C+YQ/:_0^U0:6#",E%^HGV]UW-04@C)\AJL+,@)K;[Q M8 >T /0Q!HE))CZIAW/.TB*1"-,4"> [DH *C&K?#?J^B-''#Y_0!T0H^F/# M"J'VB8DKE0_:$C>I[7VH[ VNV#M CXS*C4!?: II&^\JWQL!@H, #X&1\%M! M;U'H?4:!%P0=]LQ>#_<[X+$9'D.BX'X7O.5-V!QG6/*%5_@.!_,$"5.GJ5.K M2^.*I-=-HDO-G=CB!*:.JB7Z+,&)?O[)'WB_=@EDDRRV1-82K]>(US.Q1S,5 M61SK$!8"9&=P5@2#DD"7U%WD3=S=J1K&5[Q5#=/K6B[V&Q?[QO@X27>Y@:KJ M$MFL9RS?8OKRB]"ELTKU0PISR+!4:\G0]GJF=VG6MQEL-LEB2V2MDQ@T)S$P M!ML#SC!-5%G%$BUA32C5Q5:=PQ8X86F7D!5A_R0:_%Y?EXU6 XN8F8T#D?M M3;'1MG=Z/FP\'QH]/ZE-VM]#@!&:9(6JZ?H'8EF)N/> MF3X=N_S /U,Q-KKP3H%&C4"C_Q"H4J3)P;3@6H"C]Y\152WAB7B\TO2?\Y_$ M2IC1AZ7*YR1^/SL2+C8:_4Y9Q(\OXU1D#JO08&ULS5E=;]LV%/TK MA%8,+9!$HN3/S#:0CQ;;@*)!W*X/PQX8Z=HB*I$>249DU,O56IUZOLR3B$G\H2O@.D["RYRHG13 M+'VY$D 2&Y1G?A@$ S\GE'FSB>V[$K,)7ZN,,K@22*[SG(C[<\CX9NIA;]MQ M39>I,AW^;+(B2YB#^K*Z$KKE5R@)S8%)RAD2L)AZ9_CT(HQ,@!WQ!X6-W+E& MALH-Y]],X[=DZ@4F(\@@5@:"Z*];N( L,T@ZC[]+4*]ZI@G$94#X,*"W)R J VSE_"(S2^N2*#*;"+Y!PHS6:.;"UL9& M:S:4F6F<*Z'O4AVG9O-B^A!?H#E=,KJ@,6$*G<4Q7S-%V1)=\8S&%"0Z1I>P M "$@0==P"VP-Z/W=2D^'[OC,T3GH[IAKC']TQ]M+4(1F\IT.^S*_1&_?O$-O M$&7H<\K7DK!$3GRE\S=9^'&9ZWF1:[@GUP'ZR)E*)7K/$DB:\;[F79$/M^3/ M0R?@[VMV@J+@"(5!&+;D<_'OP[$CG:B:B\CB17OPME4MRVB6>5N1"I!>.XC9 M]J=R16*8>GI?2Q"WX,U^_@D/@E_:&'8$UN#;J_CV7.B:K]$9L\96(*PBL1@0 MO\GHDA1[/#>+L*T&!?# ANENIWA_F@<3/S;77*/1XV'&%>#&DGWJZ3[3R1M M)^D(U=E?[63_J7=K#X;]Z(%C:!FE_Q#M ML0RX-G;8Z:->00*B_1+@SNW@#?$2CA'7EA'W.A$!I_,\F'-':$W.M>/$;LOY MJB+@3L4A L^PD\A5GMI*8J=S^R%1&#S:[KTPZ#T4A<>CHF%OCRO M27$;O/T M\J+0=B$*G5K$KM";GVE1BMZM\55%XAO%#K35["0<9 MU@XR=+JU'U&*$KFA%./HH7UP/_^Y_&JW&#[A%@5/UK%"A"7(H-,87-/J1CMT M/W2%UN1>6\,P[$(#0J?!/)AS1VA-SK6M#-VV\FO*L^S^&'&!5EK_*3&M-9/V MIX'J;=V^S%N/7LM'-?_Z!@]/U-P)'4K8WSFWSD$L[7&^1/;HN3C"KGJK5P9G M]J#&PO M=V]R:W-H965T6NOBQO=5LL:/W-I, MQB-1:D8YSB2H,L^)?+E%)K9C+_1V"W.Z6FN[X,>C@JQP@?JAF$DS\QN6E.;( M%14<)&9C;Q+>3(:ZO78>^]!BADIF9Z+[6>L_?0M7R*8 M4VRPNM#1OJ<'I>%%E#T0&"[KB-*,)X1HF22)* MKBE?P4PPFE!4< W?:&+RAS#A*4P%U](D >:X05XB7-ZA)I2IJU8@,8')+E#6 M@=?PL+B#RXLKN #*X9XR9A*J1KXV?JPJ/ZFUWU;:HQ/:!W!ON-<*/O(4TWV\ M;\ZA.8QH=QBWT5G"KR7O0#=X!U$014?T3,_#[S Q\-#!PS-RNDUNNHZO>X)O M=[)S3(1)C;WVQPZI(ND=)[%5X$85),&Q9SYSA7*#7OSV33@(/AQS^)_(]OSV M&K^]<^QQ[D&(:$@4E-B9R571%.544RA0.EZ%T\0Q)+1 M%=&GJD>UTZ#E]=#I62U_Z]1O5>$XGD<<[ZR^2U\^R^EQOA6C0ER(OZYO) MMFEV5]-IG6Y%D=3OY4Z4ZINUK(JD48?59EKO*I&L.JB5P^WTSPY.7$?;;9-NV)Z?QZEVS$@V@^[9:5 M.IH>*:NL$&6=R1)58GTSN<57W/=:A\[BSTP\UR>?4=N41RD_MP>_KFXF7GM' M(A=ITR(2]>])+$2>MR1U'W_WT,GQFJWCZ><7^L]=XU5C'I-:+&3^5[9JMC>3 M>()68IWL\^9>/G\0?8."EI?*O.[^HN?>UIN@=%\WLNB=U1T467GXGWSI.^+$ M07'L#J1W(*:#?\:!]@[T6Z_@]P[^MUXAZ!VZID\/;>\ZCB5-,K^NY#.J6FM% M:S]TO=]YJ_[*RG:@/#25^C93?LW\X3! D%RCAVQ39NLL3;324V22-6Z%X\B7(OT%LFFB3+ZQ^4Q:<'AMZ^^0&]05F) M_MC*?9V4J_IZVJA;;2\X3?O;NCO<%CES6Q1]E&6SK1$O5V)E\6=N_]#A/U5= M=.PG\M)/=\0)_&U?OD?4>X>(1XCE?A;?[HYMS?EO5^>OOKK6&?0X:&C'HV=X M+Y&_%ZE48Z;->%N(#Q#?#FDKX%6]2U)Q,U$EKA;5DYC,O_\.A]Y/MOZ%A#%( M& >":9'PCY'P7?272-AZ_^ 8=H[MS\73'&/LA=?3I]-N'5O%)(IT(V9!S7Q, M="MNL:(Q\8Y66@.#8P,#9P-O"U&IDF0M(4[/2\<7)(Q!PC@03.O^\-C](42F MAY"1@(0Q2!@'@FF1B(Z1B%Z;Z0?'X"3Q9G[D&8D^-@IB'!B)/C;"04!C(]$M M5IX?S^R)'A_;%SO;Q_>5>OI]ASYFJU4N$$_J!JEG!W2[;O/?UFPG[])!!PEC MD# .!-.",CL&90:1_C/(2$#"&"2, \&T2&!O>%#W7EL >D\M(XEO)/?"9A41 MLP18K$CH8:,$V*QPA.TE )^($>S^M:^S!"V3M)4AUH8ZW2\=:: T!DKC4#0] M$&0(!(%(_)X"%0](&@.E<2B:'H]!<&&GBG F/QVE(IUA,_?'1A$U'_,M1IA$ MU$Q]BY5JYYG4'X0,=BN99257^_3PF]_V7Y8*5#E:[:1=//(@:0R4QJ%H>EP& M_84#D$H *L9 :0R4QJ%H>CP&08:=*L-9"4++@WGHQ68M&)M%LY$4L,'BT*P9 MW&9&243.E(-![6"WW'&4 _0/^D4^B:HL1-E8^\&)OG@L0M(8*(U#T?0@#9(- MQR"U 52I@=(8*(U#T?1X#&H-.R6(LS;,QDGO><0L#6.K@$0SLS2,K;!Z^)^9 MI6%L%@>8VBL#&700<>L@=V58;I.J4#V\;[(TR:=WF6Q$NBUE+C=?;?WBOMBE M8Q.4QD!I'(JFAVV0=@1#U H"JO! :0R4QJ%H>CP&A4>Y2<9LF*U%DUG>+;O#%PQ!T M\@J4QJ%H>H@&V4=\D+( *O= :0R4QJ%H>CP&N4?<\VVNLA",$WYF%@6+C?F: MP6:#S;<,%J/@S#L&,F@GXM9.[GKP09W>BMRVVN#.#;YX_(%.<8'2.!1-#]&@ M^T@$4@] )1XHC8'2.!1-C\<@\8A[6LY5#^+Q3_O,G"Q<6*R4I(C-FC"VPM@W M7UUPBYF2%/&9NC#H)N+63>ZZP$3]N9$[:Q> SGR!TA@HC4/1]/5&@^BC'D19 MH*!J#I3&0&DF'L+1<@2+%1F]7606JXB8#QW<8N5' M@6^O"G102-2MD)CH"D&=Y,*Z_,CM?O%@ YW\ J5Q*)H>B)/5AC#+#6'7&\(N M.(1=6L%%@KD2P6(4XQF;RCZTP);$Y V$S\[S9F1D( M.B@AZE9""UG6^R)Y5-E_^F!@;37HY!CP&M49?O2B1CE<)DCB@9B6PK"6,J&]6 LOB11IX9B$86U$5]&4MNAJ0RK*I$J44'"L3W+B+!Q_H;!&ULK5AK3]LP%/TK5H8F)FWDU0?MVDC0#&W3D! , M]MDDMXV%8Q?;:4':CY^=I*&%D#Z6+]1V?([O.?;U@]&2BP>9 "CTE%(FQU:B MU'QHVS)*(,7RA,^!Z2]3+E*L=%7,;#D7@.,G6+"K&"4MUV)8,0S M10F#*X%DEJ98/)\#Y(,/0[X9G$+)8C6^GQ#8L=E6.=%V-Y M[XS50Y>!-OZ[BKX+U5\.=>(^'/C)T@W_F,/,?S:N*9[ YW:^!A M,SR$2,/=.OB&&K^:"C_G\_>;BCJ?"Z)./9'9*H9RCB,86WHOD" 68 4?/[@] MYVN=26V2A2V1;1C8J0SL-+$'9RG/F$)\BK"4>LM4 C,Y!2$@UBM7<41A 13Y M=8X6S+VR5B\ 9V8MUF[;V"!NC.U![M]+>/5B[WN[-AP;U!7>W0?W6'F%C M? >J[U7J>SNJIP3?$TK4\UZSW]NJ?VN/L#'" _7W*_W]_]*_?07TMSK0W[K^ M&V,\T('3RH'31@>N(="),LW?.JD:^???0-LG"EL@V M?!Q4/@[:.H0&;1K8)EG8$MF&@:[S5BFVQA6VR;+K[^>>*>F_R8^:E&SUUEPSY-N4 MM-=>>2F(6?Y:EB@R1W_Q9JI:JQ?Y6?X.?=5^[@XGQ;OZA:9XYE]B,2-,ZHO" M5%,Z)WV]+XGBY5Q4%)_G;\E[KO3+-"\F@&,0IH/^/N5&PO=V]R:W-H965TAX4QE33,-19 275 UF! ML"LKJ4IJ;*C6H:X4T-R#2AZ2*$K"DC(1I#,_=Z/2F=P8S@3<**0W94G5ZR5P M6<\#'+Q-W+)U8=Q$F,XJNH8[, _5C;)1V+'DK 2AF11(P6H>?,/31>+R?<(O M!K7>&2/GY$G*9Q=9M+:FAZ4S)&BF7;=G063CV

'EJ?G5G2F26> M;_@WLWU.&NBH'^J*::HKFL$\L-6B06TA2#]_PDGTM<_7?R)[YW+8N1P>8T]O M:6V_$ .*4=Y[9PT\\7!7Y=MTG+CSW>XZ.$Q*R(AT2>^4C3IEHZ/*'FU%GS-Q M7BFYMKY[Q34,\S_U..#32<7 M^Z=VF(,QB?N5)9VRY*BR>VDH[Q.4'%P1QG@\V9-TF#6^P),]2>%.!W'=^R=5 M:R8TXK"RL&@PMI94TQ&;P,C*-Y4G:6R+\L/"_D1 N02[OI+2O 6N3W6_I?0/ M4$L#!!0 ( $D["54MRTTOF@( ($' 9 >&PO=V]R:W-H965T IB-(;;)IFS2IZL?V[, E6 6; MV2:D_WXV$$0"C?*PE^!KWW/N.8Y]'=:,OXH,0*)=D5.Q,#(IRUO3%'$&!1;7 MK 2J5E+&"RQ5R#>F*#G@I $5N>E8EF\6F% C"INY!QZ%K)(YH?# D:B* O.W M>\A9O3!L8S_Q2#:9U!-F%)9X T\@7\H'KB*S9TE( 5001A&'=&'@NCGD%"?JZ4^="@$"7*Y"8Y.(*?48O3RMT>7&%+A"A MZ#ECE< T$:$I56$--^.NR'U;Q'FGR,^*7B/7^H0G]^PT?.Z9GJ<,M0RS:09]M6Y%B6-8&.KN".!;,**/'VS?^C)E[S^1 M'9AU>[/N*?;>+!1ESMX 4,P*;1NWMX@F: T44B(GMZ'E]AMNW1"VD1/,W=#< M#NV-DUPGL/ND ]FS7O;L+-DUYAQ3^38EKF7P!G5MY^98W$22-W!P(,[KQ7EG MB2LY2T'HAH9SE,+T2?)& N:6=R1RG!/8UK1&O]?HGZ61R0SXE"Y_K"OPCW2- M\&1Q'&2/_>/#Y\Y:)#Z,R7V@VW#_ZD;_ M %!+ P04 " !).PE5LF^:WN$" #W!P &0 'AL+W=O4"2^9N+6Y2B:R-IP)F"NBZ[*D MZOD*N%Q/O8&W6;AC>6'L@I],*IK#/9B':JYPYGI>#BUEL M[9W!#P9KO34FUI.%E(]V\C6;>H$5!!Q28QDH_E8P \XM$ ML']VOJ,O"ZIA)OE/EIEBZIUY)(,EK;FYD^LOT/HSMGRIY-I]R;JU#3R2UMK( ML@6C@I*)YD^?VCAL 9"G'Q"V@' 7,-H#&+: H7.T4>;&\4[C+$F>0R354-&;EYPKS0H,D)F154Y#AB@E1*9G5JR)HJ M185Y)G+!64[=!1Q?@Z&,ZP\(>;B_)L=''\B1!7TO9*VIR/3$-ZC0GN.GK9JK M1DVX1TU$;J4PA28W(H/L)=Y'SSKWPHU[5^%!PF^U."7#X",)@S#LT3-[.WQP M0,ZPB_;0\0WW\+TMM'UQ:WA'_;SVJ5_HBJ8P]? M:U K\)+W[P91\*G/Z?]$ M]B($HRX$HT/L3<)1CF^/4Y$"H88L(&=",)$3N205*":SOA TO)'CM<5IE0S& MY\.)O]IVK< M"3L9C.)=^3U6<;PGSG&G/_[7U !TXV!2Q#WW?;:;%*^-SL]W8^UOU= 25.Y: MBR:IK(5IZDVWVG6O2U>T=]:OL*LU3>@O3=,2;ZG"1->$PQ(I@],8PZ>:-M-, MC*QXOI32;B3V@Z_7)'U!+ P04 " !).PE5:3AF MU4<% "7(@ &0 'AL+W=O2E+YM&Z@1&NZNI5+73W<\.<1)KP&9LDW2D^?%K X6XH6ZC MWGYH@7(?FW,259$(7A),@)XX/9M#IV*V=34>J,<7HKD2KSG,B?GVDF=E<# M/'@Z<,?6&VT/!+-I0=;TGNJ'XE::O:"E+%E.N6*"(TE75X-K?)E$D2VHSOB7 MT9W:VT;V4A9"?+<[?R^O!J&=$\_DL>&R'V"@RGOR!J"J*W%@R;@N'S@M$+!:.F8/36@G%34%UZ M4%][)5Q,-)E-I=@A:<\V-+M1J5]5&[T8MR^4>RW-?YFIT[.O@J]/OE&9HY@N M-/H84TU8ICZA$_1P'Z./'SZA#XAQ]&TC2D7X4DT#;8:UQ4':##&OAXA>&&*" M;@37&X42OJ1+MSXPTVWG'#W-^7/D!=X0>8HP_@-%883[YN,O_Z?DIV@85N51 M3WG\]O*^T1-_>4Q34]X[>4>,86O@L.(-WV1@SWP^U_6C_GJ[$%VJ@J3T:F!6 M&D7EE@YFO_^&)^&??=)"PF)(6 ($A*B'IHS8JEDQMS(VJ5SXOYUCY:MAX3YB3R3/MQ@?: MG> S_$PZH$DYTDU:Z29>Z>P:@^ZJ%R"5?8IYRX]5#!(60\(2()CCP5GKP=D[ M%^@S2!,@83$D+ &".2:'#81<_\\CW4(E)9 T5R/]O(5]GITS7EI M%&=<4VL6DN8]@LC"&% )+\PON6/*'"N*C*5DD='ZG+(P/4]U2IJ64E*>5LVC M6<>H,4_;[280]QI7S^IBS[CP-!P_]\T[]Z-]@Z0E4#37MZCS+?+?,9QF'8E2 M*VWRK^E >^7VPHZ]AS>T5YKR&'30Y-5!72&[?(J]RC"+?:GVR_LT=RF2<]=HM>6 M<=^R/GJ^K$,&X1B4ED#17+F[0(Q?2\3X GU]J=L!C<.@M!B4ED#17!>Z2(S? MFXDQ:"@&I<6@M 2*YEK1!6/L3\9WM" _\Z:A?#$&',9C/!H?Q@#0? Q*2Z!H MKLQ=1,;^D/OV#S$;D/.I8G0H-6@F!J4E4#3WRZ$N%4?^5'PK6=YDJ%_HB.[3 MCSUVR0&EQ:"T!(KF&M1%X@B_<_6/()/D')06@](2*)IK19=R(W_*O:^>+K + MTX(HINIWS<>"RM2L3F1-/_6Z4S-QY':A!Y\N^,<^6G?0M M%JW4/]KZ SZE< M5T\^*)2*DNOZ>^WV:/MTQ77U3,&SXW-\&=?/2'28^I&-&R+7C"N4T95!AJ=G MIH^6]5,0]8X61?4U_T)H+?)J8/Z_$D(_[=@!VF=19O\#4$L#!!0 M ( $D["56I=X/+LP, " 0 9 >&PO=V]R:W-H965TXT/JSO.-D/ESAB'&TE4F>=4 M_KB 3&P6CN]L![ZP5:K-@!O-"[J"6]#_%#<2G]P&)6$Y<,4$)Q*6"^>]?W[I M3XR#M?C*8*/V[HFAI*'^I$[#F,PB<<@MHA.'1X:H91[3"R1*O(+*TKJFDTEV)# MI+%&-'-CD<* MD.0VI1('KD!3EJEWL9+JH9@B=FF))/@NM4D6N>0-+A?]GO[P<] M "[2;3@'6\X702_B7R4_)2/OA 1>$)"O0@/YE;A$&::JOG3%V8]Z!3&B^A;5 M/P;8BGO4K-7(SC!ZU5IUK5"%.^[&-2?%N2IH# L'CP(%<@U.]-LO_M3[HRL- M X&U4C!N4C#N0X]N<).#E) 0W!GQ_M($/>D-^G.9W^'JB"59H]84P<.7 (W3*G@SC@N9XYEF.9&? M5I)=/":/XO,/&/0&\C_79MK0G/;2_$:EI%PKH@4I2AFG>+JVF'51ZH5\J3(' M FNQ#QOVX1MMSG#(% P$UDK!K$G![)DZKW?E5@4)64J1$ZPBE,8$,;XBFUHL M70F9/9+Y61!ZHP.I'[-J43AK*)SUGR];W1:2Q7!B%Z[:I3_WCO2NH"O>4_ MM[YZF;0?EU/CT328'$K[F%D5M;O7@^4@5[8U5:C5DNNJ'6M&F_;WO6WZW)UY MU3M_HG+%N"(9+-'5.PUQ;EFUH]6#%H7MZ.Z$QO[0WJ;8PH,T!OA^*;" K!_, M!,V/ M%_4$L#!!0 ( $D["57TG0,J,0, /P- 9 >&PO=V]R:W-H M965T<(S8/K.@HN4*#T42UMF DA4)*6)C1W'MU-"F15,B[EK$4QYKA+* MX%H@F: R+AG"=W-%+QS!I;*((%R1-UP]=?H1(T-'@A3V3Q MB]95K&.A,)>*IU6R9I!25OZ3IZH0.PD:IST!5PEX/V'P2H)7)125LTMFA:P+ MHD@P%7R-A(G6:.:BJ$V1K=509I;Q5@E]E^H\%7Q^S*EZ1H1%Z(0KH MZ#N7\@/*0*#;F A Q^B,*7H#CE=7V2OPO/^J=O0+&3ZT<>Z$/'2A>@)KJ/=K]?X; M>=7OLP0]@35*,*I+,.K-JZ,7'IS@D>/M.?5O40V:XYKFN)/FS\Q\"0^S:2?B MH6O4$UA#_*06/WDCFT[Z+$%/8(T2N,[VX^WT9M0*:M>#>.0/)JZ_Y]660 ][ MWF0P:;>KN]-KN)UT;T J04,%46E0E#.JVLEV AVZ2'VA-67CK6S\1E:M@/LJ M0T]HS3)L>R"WL[\XS*S>2[,.!X,QWO=JKRV-O=-'IR"6Q?%"ZCTU9ZKL/>O9 M^@AS5C3N>_-S<[0I^O,M3'DNNB)B2?6>G-?<2MW! MKQH !D !X;"]W;W)K&ULK9EMCYLX$(#_BL55 MIU9J%\Q;V+TD4C=0W56JM-JTU\]>KS_;$!((RS9[_I)@,_/8 M,X,'#Y[N*7OD&XP%>"H+PF?61HCJQK9YNL$EXE>TPD3>65%6(B&;;&WSBF&4 M::6RL%W'">T2Y<2:3W7?'9M/Z584.<%W#/!M62+V?(L+NI]9T#ITW.?KC5 = M]GQ:H35>8O&CNF.R9;>4+"\QX3DE@.'5S/H,;Q(X40I:XN\<[_G)-5"F/%#Z MJ!I_93/+43/"!4Z%0B#YM\,+7!2*).?Q3P.UVC&5XNGU@?Y%&R^->4 <+VCQ M,\_$9F9%%LCP"FT+<4_W?^+&H$#Q4EIP_0OVC:QC@73+!2T;93F#,B?U/WIJ M''&B(#G#"FZCX/85_!<4O$;!ZRFXX0L*?J/@_^H(0:.@3;=KV[7C8B30?,KH M'C E+6GJ0GM?:TM_Y40]*$O!Y-UL@]^"@6W<4^'5+KH#G? 2N MX[H#\UG\NCH<,N?_C9Z\>?2.,[SV:?$TS[OP:1F*S*Q.9W%F#"K.<9D!NX4'C;^U7NGJ3ST<' MOW2%F(3%XVYQP3-&C ,(05GOQ]P09.AY*"LGAN;5B=]U&[_KT8DN*!@?J:B,+>.V) !O:VH'$CT\G]_G4O\P^!)L/;2^@>K79?VV#*W)5N])8R MDWFAH%6)B3A8/5S5CC(O?B9-TF*CM,04K1N=8P4*S96@T&@-:I06&Z4EIFC= MH!SK4&B^$&V0IVO7=V$_4YP+14$_4YS+A/UJ-1D0@G[P0JHXEJ)PO!9=XD)V MK3^"-29R^U?HE(&R4NZX99&*U#?0\:QAM" U2HN-TA)3M&Z@CD4I-%>50J-E MJ5%:;)26F*)U@W(L3>%X;?JFK#%0$GK1I)\VSJ6\R.WGC7,AUPOZ7[ &I,(@ MZB4.^^0#?(G96I]\<&G4EHCZZVK;VYZN?-9G"KW^6WBS@ /]L3J-T1_\C_CZ M*.<;8NN<<%#@E1S*N9K(A<;JTY&Z(6BE/_\_4"%HJ2\W&&68*0%Y?T6I.#34 M .T9U?P_4$L#!!0 ( $D["56E3KPG'P0 /,2 9 >&PO=V]R:W-H M965TQ'K@_7G\B;P[.)(%)1B?GB$E.WGCN\<'SR3S5;J!^YBEN,-O(#\FC]Q=>?6*@FA MD G",L1A/7<>_/O('VH#T^(O GO1N$9Z*"O&7O7-K\G<\;1'D$(LM016/SM8 M0IIJ)>7'/Y6H4_>I#9O71_7/9O!J,"LL8,G2OTDBMW-GZJ $UKA(Y3/;_P+5 M@$9:+V:I,/_1OFP[&3LH+H1DM#)6'E"2E;_X6P6B81!<,@@J@^#<(+A@$%8& MX;G!Y(+!L#(PJ-UR*(9#A"5>S#C;(ZY;*S5]86 ::S5\DNGO_B*Y>DN4G5PL M&:5$J@\I!<)9@I8LDR3;0!83$.@F HE)*FYGKE2=:1,WKH2C4CBX(#Q&7Y34 M5J!/60))V]Y53M:>!D=/'P.KX&]%.D#^Y",*O"! 7U\B=//N%JWE^Y_\R?3G M#@>7=KT_8SE GF_T_*->USB_YU8V0*%WYA:10"UC#NNO$QKQ\)*/.7"LOP?Z M'=3D%AWN/98*PVX%'3;N18YCF#LJ+@C@.W 6"MG8ZT36IUC4DUB+W+ F-[2I M+QY4$$1LC=8X)BF1!_2O;:H\EF(C(Z9#Y6[AAZ'GS=Q=DXZURVOI]"36HC.J MZ8RL=,QL0A(X[8)AMYU.$34KNVO^6$VO)=236(O0N"8TMH[RM/)2PRIF0G:Q M*E7&C8DS],S?V=2Q]G8MF)[$6F F-9B)-20]LP-.U7IZX!RK/&$R1Q>829]A MJ4^QJ">Q%KUI36]JG59_%'0%7 >F''.I4^R>R"WB%53<@*HBUMLL4K*U]G$M MVS[%HNF;.!K4"Z$%[*X&=F<%]KF0!0==^1!:4%6B9 5.:UXY/ER<@%;=:R'U M*1;=O8D9?CMDM$CYWJF4\ZQ+<^CY-Z^WZ 7O5-P2Z"G%61>82J4G,KVJ17VI MM0DVBF'?.ML^T3QE![5 8Y7A.%D5>F\BD&1Z*Z':)JT7*+]$V-K+U83[5(LJ MM>;L"VVS+SBQ"WZ,G=J,Q5N=.9NL/B*54&.U5M5F4H<_TZB3G;67J]F5:G?- MM=;.S%%?';:QG2I\WUH&7XD-RM8@/J -9T+H"-A)L===0:76I.@-O/ 46< )<-U#OUXS)XXWNH#[G6OP'4$L#!!0 ( M $D["55$&OO]S@, ,2 9 >&PO=V]R:W-H965TC()CZ!67<6\QLW8U0 MB\/<"[VGBENVR[2I\!>SDN[@#O27\D;BE=^Z;%@!7#'!B83MW%N&ETD8&X%M M\3>#@SHJ$Q/*6HBOYN+39NX%9D200ZJ-!<6_/:P@SXT3CN.^,?7:/HWPN/SD M_H<-'H-94P4KD?_#-CJ;>^<>V<"65KF^%8>/T 0T,7ZIR)7])8>F;>"1M%): M%(T81U P7O_3AP;$D2 -&,+9DZE LAX1JNIA) M<2#2M$8W4[ PK1K#9]P\]SLM\2Y#G5[<56L%]Q5P36"/OXJ\34!3EJMWY#?R M^7:Y^D"6G.:/FJ6*_%FL/V+UE[N$O'WSCKPAC)-KEN?X!-7,US@>X^JG3=^K MNN_HE;YCPZ=$G;OW4H?>10PLC>H)Q%3D-E]5N1(+X/8F"*.J+ MQRW_J^(C$@>ORI/_+>]$$[>/-K9^\8\^VIXA7=46XWX+L^A_[ [15;.?D]%-)!9!]%YB^CBS,#!*H9$3PU**6Y[$;*DR MM95,,TQZ2"E9"GV@SK]=*<*S4?P"EG,$I\(:R*P#ZZ*%=>&$]8FS&A)5&2GI M8V$F99E7O5/RHH?-Y!LVS@Y/93.068=-&#RG>H&3SLI0P8S-O$*,[PP;+"JV M 4GM5E>5-A//&*YC%AU.RA0DIH,<<\\<,!OEH-Z3$B03O1/S.R.(QJ2P*5MO MLNC4GHIZ*+QC4+1G*K0LR>@89_?SN MVG@,Q6](MV0HMRZ_YT- Z$R4AYKTO=3KGJ='"^B+3'7E'MS)* <]$_A'I^8" MY,Y^?5!(I^*Z/D"WM>T7CJ4]U_O/S>O/(]=4[AA7)(:CLO[B4%]H M4=HS^%IH/-';8@84GX%I@/>W C?XYL)TT'[W6?P'4$L#!!0 ( $D["567 MP>G#0@, "84 - >&PO!ETJB'V/S[G']DUC MZ%=Z*=CMC#$=+'(AJP&9:5U^"L-J,F,YK2Z*DDF#9(7*J39=-0VK4C&:5D#* M1=AIM>(PIUR285_.\^M<5\&DF$L](-TF%+C;UW1 VO%'$CBY49&R ;D_>_]K M7NBK=X&[GWPX.6G=GU_MQL\L<$Y"K^CE :(7K18N#" F'A\FOD\;D^YN2]OA MIT;($4\Q6N\@1WL,8<*)QX\5^@.QV_(2-^8"'4L.ZS(9]K-"KJLE(BY@U&G. M@@G8P3;X# KJ]MVR- ZGBB[;G4NR M)MB;23(N5,I4DZ9-5J%A7[ ,["@^G<%=%V4(H-9%;AHII]-"4NMAQ:@;1G;" MA+B%Q_MGMJ6]R#;VS>Z:;)K&4-UT,JX#^IMJ3GM3-GJ1;E#RAT)_F9OI2-N' M"F4WBF5\8?N+K#& J;=Q=5J68OE9\*G,F9O\P0F'?;KB!;-"\4>3#4IE8@), MD>"!*7D,)N-C,'D4-=D[!I/)$9CLOMJWYEZ387W*V#C*;!UD MFF@ !\8!^0''3[%.&HSG7&@NZ]Z,IRF3S\XS1E[3L?DC:$O?C$]91N="WS7@ M@*S;WUG*YWG2C+J!A:A'K=O?8'KMN#FMFEQ'SL=AF+>>%^FAG![*<2P?,K(?+(^? MDYC+/],DB:(XQE9T-/(Z&&'K%L?PXU?#O $#RP.9_FZM\=W&*V1_'6![NJ]" ML)GBE8C-%%]K0/SK!HPD\>\VE@<8V"Y@M0/Y_7F@IOR<*()=Q;QA3S".) F& M0"WZ:S2.D=6)X>/?'^PIB:(D\2. ^1U$$8; TX@CF /P@"%19-^#.^^C M"M?_&1P^ 5!+ P04 " !).PE5EXJ[', 3 @ "P %]R96QS+RYR M96QSG9*Y;L,P#$!_Q=">, ?0(8@S9?$6!/D!5J(/V!(%BD6=OZ_:I7&0"QEY M/3P2W!YI0.TXI+:+J1C]$%)I6M6X 4BV)8]ISI%"KM0L'C6'TD!$VV-#L%HL M/D N&6:WO606IW.D5XA-/E_G;@2=&A(E@6FD7)TZ(=I7\=Q_:0T^FO8R*T>EOH^7%H5 J. MW&,EC'%BM/XU@LD/['X 4$L#!!0 ( $D["57B1<[IH0, , ; / M>&PO=V]R:V)O;VLN>&ULQ9E+;^(P$(#_BI53>V A":4/E4H4Z"X2I=4&];HR M82A6$YO:3KOMK]])LFB=/D9[<7,*?F"^3,A\X^3\6>F'E5(/['>>23,,MM;N MSKI=DVXAY^:;VH'$D8W2.;?8U/==L]/ UV8+8/.L&_5Z@V[.A0PNSO=KW>JN MVU 64BN4Q,ZRXT[ L_DW7C;9DS!B)3)A7X9!]3F#@.5"BER\PGH8] )FMNKY MA]+B54G+LR35*LN&05@/W(&V(GW7G9202[XR58_EJY\<08;!H(<+;H0VMII1 MK<^1\0EP*;_)XQJLQ$I M3%1:Y"!M'4<-60DHS5;L3, DSV$8[*>(7,BGRG.N7DC(1]U+@USAF MS5&:J@*SI@-Y2D">^H6\XD*S.YX5P*Z!&XQJ^07C)O$>E<5[?O%F\@DG*/WB M I%:\>P5O'JZ /3>;US$0"-0E$E"SRJ9*WG?68+.V016UJ6BU!%Z=L?TL2BK M@_*^7.!/S&2JB[(PA*>W.81R1>A9%F0> M;M0&(66+L$U=-*J#D/)%V(XPV 'N5++&OS&BQ!%]E3CV8(W4*6JLUH4HJ)/"N&SCYNV1]1 MDHF\2X;"/'(Q*>5$K2IGX&)2RHE:53;/>X-_1$A))_8LG7>$ M'3;>A*R"W)8\HVL6?;T)BNNV/* M-K%OVWQ6L'58.>1B4K:)/=N&W&RS _=Y-V6;OG?;O-EN?WC[]"G3].N71_LW M1FO88&VZ7N#R!OM3GJ6WFI6'^NE6_ZC<>&Z*+!MCWXV<*[[>OX#:OSR[^ -0 M2P,$% @ 23L)52E=B*"3 0 XA@ !H !X;"]?S<3OQ D1;,8(0NB>CMQ^C M"_W(+&9C^EN1;D+QAL43 HLO7Q7QV)Q#>6S#X%)7Y[#,RAC;#^?"MO1U$89- MZ\^W,_NFJXMX6W8'UQ;;4W'P3D>CB>M>9V2KQ>O,P>;:^O],;/;[X]9_-MOO MVI_C'X/=3].=0NE]S :;HCOXN,SB MWDJ@MZ+>2J"W]EZV"?16U%L)]%;46PGT5M1;"?16U%L)]%;46PGT5M1;"?16 MU%L)]#;4VPCT-M3;"/0VU-L(]+;>QQ("O0WU-@*]#?4V KT-]38"O0WU-@*] M#?4V KT-]38"O7/4.R?0.T>]\W?J'>*U\N'9\UCC_=])=;Q=ZY^WOR\?F[V' M<,?9P2^-U2]02P,$% @ 23L)58B,J3>E 0 +QD !, !;0V]N=&5N M=%]4>7!E&ULS9G-;H,P$(1?!7&-@F,[37^4Y-+VVN;0%W!A"2B +=M) MD[>O(3]2JQ0U2J7.!0N\.S-XI>\ T[>=(1=MZZIQL[CPWCPPYM*":N42;:@) M.[FVM?+AUBZ94>E*+8F)T6C"4MUX:OS0MQKQ?/I$N5I7/GK>AL>NU,TLME2Y M.'K<%[9>LU@94Y6I\F&?;9KLF\OPX)"$SJ[&%:5Q@U 0L[,.[<[/!H>^UPU9 M6V84+93U+ZH.56Q;,>=W%;FD7^),1IWG94J93M=U:$F&UL M4$L! A0#% @ 23L)55W/3Q_O *P( !$ ( !KP M &1O8U!R;W!S+V-O&UL4$L! A0#% @ 23L)59E&PO=V]R M:W-H965T&UL4$L! A0#% @ 23L)5

&PO=V]R:W-H965T&UL4$L! A0#% @ 23L)54"4_#22"0 [E( !@ ("! M&1X 'AL+W=O$G !X;"]W;W)K&PO=V]R:W-H965T&UL4$L! A0#% @ M23L)50O& 7HV# #R !@ ("!BS( 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ M23L)5<( QM-O P S @ !D ("!-74 'AL+W=O >&PO=V]R:W-H965T&UL4$L! A0#% @ 23L)5;)S[$7;( MNG, !D ("!1X8 'AL+W=O%P &0 @(%9 MIP >&PO=V]R:W-H965T"M !X;"]W;W)K&UL4$L! A0#% @ 23L)56&PO=V]R:W-H M965T&UL4$L! M A0#% @ 23L)5>5+#*\0 P [ < !D ("!,KH 'AL M+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 23L) M54:OW[2T @ :0D !D ("!>\H 'AL+W=O&PO=V]R:W-H965T@0 %09 9 " @<_1 !X;"]W;W)K M&UL4$L! A0#% @ 23L)57(OU-_H @ (0@ M !D ("!@-8 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 23L)5;!;(39O @ H@8 !D M ("!@>0 'AL+W=O&PO=V]R:W-H965T MX0( /<' 9 M " @?CI !X;"]W;W)K&UL4$L! A0# M% @ 23L)56DX9M5'!0 ER( !D ("!$.T 'AL+W=O M#R[,# @ M$ &0 @(&.\@ >&PO=V]R:W-H965T&UL4$L! A0#% @ 23L)5;>? M<2MW! KQH !D ("!X/D 'AL+W=O&PO=V]R:W-H965T0" 0!X;"]W;W)K&UL4$L! A0#% @ 23L)59?!Z<-" P )A0 T M ( !Z08! 'AL+W-T>6QE&PO M=V]R:V)O;VLN>&UL4$L! A0#% @ 23L)52E=B*"3 0 XA@ !H M ( !#0\! 'AL+U]R96QS+W=OE 0 +QD !, ( !V! ! %M#;VYT D96YT7U1Y<&5S72YX;6Q02P4& #$ ,0!.#0 KA(! end XML 54 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 55 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 56 FilingSummary.xml IDEA: XBRL DOCUMENT 3.22.2 html 172 208 1 false 46 0 false 8 false false R1.htm 00090 - Document - Document and Entity Information Sheet http://www.908devices.com/role/DocumentDocumentAndEntityInformation Document and Entity Information Cover 1 false false R2.htm 00100 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS Sheet http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheets CONDENSED CONSOLIDATED BALANCE SHEETS Statements 2 false false R3.htm 00105 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) Sheet http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) Statements 3 false false R4.htm 00200 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE LOSS Sheet http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLoss CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE LOSS Statements 4 false false R5.htm 00300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY Sheet http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY Statements 5 false false R6.htm 00400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS Sheet http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlows CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS Statements 6 false false R7.htm 00405 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (Parenthetical) Sheet http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsParenthetical CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (Parenthetical) Statements 7 false false R8.htm 10101 - Disclosure - Nature of the Business and Basis of Presentation Sheet http://www.908devices.com/role/DisclosureNatureOfBusinessAndBasisOfPresentation Nature of the Business and Basis of Presentation Notes 8 false false R9.htm 10201 - Disclosure - Summary of Significant Accounting Policies Sheet http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPolicies Summary of Significant Accounting Policies Notes 9 false false R10.htm 10301 - Disclosure - Fair Value Measurements Sheet http://www.908devices.com/role/DisclosureFairValueMeasurements Fair Value Measurements Notes 10 false false R11.htm 10401 - Disclosure - Inventory Sheet http://www.908devices.com/role/DisclosureInventory Inventory Notes 11 false false R12.htm 10501 - Disclosure - Accrued Expenses Sheet http://www.908devices.com/role/DisclosureAccruedExpenses Accrued Expenses Notes 12 false false R13.htm 10601 - Disclosure - Long-Term Debt Sheet http://www.908devices.com/role/DisclosureLongTermDebt Long-Term Debt Notes 13 false false R14.htm 10701 - Disclosure - Equity and Net Income (Loss) per Share Sheet http://www.908devices.com/role/DisclosureEquityAndNetIncomeLossPerShare Equity and Net Income (Loss) per Share Notes 14 false false R15.htm 10801 - Disclosure - Stock-Based Compensation Sheet http://www.908devices.com/role/DisclosureStockBasedCompensation Stock-Based Compensation Notes 15 false false R16.htm 10901 - Disclosure - Commitments and Contingencies Sheet http://www.908devices.com/role/DisclosureCommitmentsAndContingencies Commitments and Contingencies Notes 16 false false R17.htm 11001 - Disclosure - Subsequent events Sheet http://www.908devices.com/role/DisclosureSubsequentEvents Subsequent events Notes 17 false false R18.htm 20202 - Disclosure - Summary of Significant Accounting Policies (Policies) Sheet http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies Summary of Significant Accounting Policies (Policies) Policies http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPolicies 18 false false R19.htm 30203 - Disclosure - Summary of Significant Accounting Policies (Tables) Sheet http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables Summary of Significant Accounting Policies (Tables) Tables http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPolicies 19 false false R20.htm 30303 - Disclosure - Fair Value Measurements (Tables) Sheet http://www.908devices.com/role/DisclosureFairValueMeasurementsTables Fair Value Measurements (Tables) Tables http://www.908devices.com/role/DisclosureFairValueMeasurements 20 false false R21.htm 30403 - Disclosure - Inventory (Tables) Sheet http://www.908devices.com/role/DisclosureInventoryTables Inventory (Tables) Tables http://www.908devices.com/role/DisclosureInventory 21 false false R22.htm 30503 - Disclosure - Accrued Expenses (Tables) Sheet http://www.908devices.com/role/DisclosureAccruedExpensesTables Accrued Expenses (Tables) Tables http://www.908devices.com/role/DisclosureAccruedExpenses 22 false false R23.htm 30703 - Disclosure - Equity and Net Income (Loss) per Share (Tables) Sheet http://www.908devices.com/role/DisclosureEquityAndNetIncomeLossPerShareTables Equity and Net Income (Loss) per Share (Tables) Tables http://www.908devices.com/role/DisclosureEquityAndNetIncomeLossPerShare 23 false false R24.htm 30803 - Disclosure - Stock-Based Compensation (Tables) Sheet http://www.908devices.com/role/DisclosureStockBasedCompensationTables Stock-Based Compensation (Tables) Tables http://www.908devices.com/role/DisclosureStockBasedCompensation 24 false false R25.htm 40101 - Disclosure - Nature of the Business and Basis of Presentation (Details) Sheet http://www.908devices.com/role/DisclosureNatureOfBusinessAndBasisOfPresentationDetails Nature of the Business and Basis of Presentation (Details) Details http://www.908devices.com/role/DisclosureNatureOfBusinessAndBasisOfPresentation 25 false false R26.htm 40201 - Disclosure - Summary of Significant Accounting Policies - Risk of Concentrations of Credit, Significant Customers and Significant Suppliers (Details) Sheet http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRiskOfConcentrationsOfCreditSignificantCustomersAndSignificantSuppliersDetails Summary of Significant Accounting Policies - Risk of Concentrations of Credit, Significant Customers and Significant Suppliers (Details) Details 26 false false R27.htm 40202 - Disclosure - Summary of Significant Accounting Policies - Accounts Receivable (Details) Sheet http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAccountsReceivableDetails Summary of Significant Accounting Policies - Accounts Receivable (Details) Details 27 false false R28.htm 40203 - Disclosure - Summary of Significant Accounting Policies - Deferred Revenue (Details) Sheet http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDeferredRevenueDetails Summary of Significant Accounting Policies - Deferred Revenue (Details) Details 28 false false R29.htm 40204 - Disclosure - Summary of Significant Accounting Policies - Deferred Revenue Expected To Be Recognized (Details) Sheet http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDeferredRevenueExpectedToBeRecognizedDetails Summary of Significant Accounting Policies - Deferred Revenue Expected To Be Recognized (Details) Details 29 false false R30.htm 40205 - Disclosure - Summary of Significant Accounting Policies - License And Contract Revenue (Details) Sheet http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLicenseAndContractRevenueDetails Summary of Significant Accounting Policies - License And Contract Revenue (Details) Details 30 false false R31.htm 40206 - Disclosure - Summary of Significant Accounting Policies - Disaggregated Revenue (Details) Sheet http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregatedRevenueDetails Summary of Significant Accounting Policies - Disaggregated Revenue (Details) Details 31 false false R32.htm 40301 - Disclosure - Fair Value Measurements (Details) Sheet http://www.908devices.com/role/DisclosureFairValueMeasurementsDetails Fair Value Measurements (Details) Details http://www.908devices.com/role/DisclosureFairValueMeasurementsTables 32 false false R33.htm 40401 - Disclosure - Inventory (Details) Sheet http://www.908devices.com/role/DisclosureInventoryDetails Inventory (Details) Details http://www.908devices.com/role/DisclosureInventoryTables 33 false false R34.htm 40501 - Disclosure - Accrued Expenses (Details) Sheet http://www.908devices.com/role/DisclosureAccruedExpensesDetails Accrued Expenses (Details) Details http://www.908devices.com/role/DisclosureAccruedExpensesTables 34 false false R35.htm 40502 - Disclosure - Accrued Expenses - Changes in product warranty obligation (Details) Sheet http://www.908devices.com/role/DisclosureAccruedExpensesChangesInProductWarrantyObligationDetails Accrued Expenses - Changes in product warranty obligation (Details) Details 35 false false R36.htm 40601 - Disclosure - Long-Term Debt (Details) Sheet http://www.908devices.com/role/DisclosureLongTermDebtDetails Long-Term Debt (Details) Details http://www.908devices.com/role/DisclosureLongTermDebt 36 false false R37.htm 40701 - Disclosure - Equity and Net Income (Loss) per Share (Details) Sheet http://www.908devices.com/role/DisclosureEquityAndNetIncomeLossPerShareDetails Equity and Net Income (Loss) per Share (Details) Details http://www.908devices.com/role/DisclosureEquityAndNetIncomeLossPerShareTables 37 false false R38.htm 40702 - Disclosure - Equity and Net Income (Loss) per Share - Anti-dilutive securities (Details) Sheet http://www.908devices.com/role/DisclosureEquityAndNetIncomeLossPerShareAntiDilutiveSecuritiesDetails Equity and Net Income (Loss) per Share - Anti-dilutive securities (Details) Details http://www.908devices.com/role/DisclosureEquityAndNetIncomeLossPerShareTables 38 false false R39.htm 40801 - Disclosure - Stock-Based Compensation - Stock-based compensation expense (Details) Sheet http://www.908devices.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails Stock-Based Compensation - Stock-based compensation expense (Details) Details 39 false false R40.htm 40901 - Disclosure - Commitments and Contingencies (Details) Sheet http://www.908devices.com/role/DisclosureCommitmentsAndContingenciesDetails Commitments and Contingencies (Details) Details http://www.908devices.com/role/DisclosureCommitmentsAndContingencies 40 false false R41.htm 41001 - Disclosure - Subsequent events (Details) Sheet http://www.908devices.com/role/DisclosureSubsequentEventsDetails Subsequent events (Details) Details http://www.908devices.com/role/DisclosureSubsequentEvents 41 false false All Reports Book All Reports mass-20220630x10q.htm mass-20220630.xsd mass-20220630_cal.xml mass-20220630_def.xml mass-20220630_lab.xml mass-20220630_pre.xml mass-20220630xex31d1.htm mass-20220630xex31d2.htm mass-20220630xex32d1.htm mass-20220630xex32d2.htm http://fasb.org/us-gaap/2021-01-31 http://xbrl.sec.gov/dei/2021q4 true true JSON 59 MetaLinks.json IDEA: XBRL DOCUMENT { "instance": { "mass-20220630x10q.htm": { "axisCustom": 1, "axisStandard": 23, "contextCount": 172, "dts": { "calculationLink": { "local": [ "mass-20220630_cal.xml" ] }, "definitionLink": { "local": [ "mass-20220630_def.xml" ] }, "inline": { "local": [ "mass-20220630x10q.htm" ] }, "labelLink": { "local": [ "mass-20220630_lab.xml" ] }, "presentationLink": { "local": [ "mass-20220630_pre.xml" ] }, "schema": { "local": [ "mass-20220630.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/arcrole/esma-arcrole-2018-11-21.xsd", "http://www.xbrl.org/lrr/role/negated-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/dei/2021q4/dei-2021q4.xsd" ] } }, "elementCount": 356, "entityCount": 1, "hidden": { "http://fasb.org/us-gaap/2021-01-31": 28, "http://www.908devices.com/20220630": 2, "http://xbrl.sec.gov/dei/2021q4": 5, "total": 35 }, "keyCustom": 20, "keyStandard": 188, "memberCustom": 18, "memberStandard": 26, "nsprefix": "mass", "nsuri": "http://www.908devices.com/20220630", "report": { "R1": { "firstAnchor": { "ancestors": [ "p", "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "Duration_1_1_2022_To_6_30_2022_9TyTGoZljkC5clOY168_Zw", "decimals": null, "first": true, "lang": "en-US", "name": "dei:EntityRegistrantName", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "document", "isDefault": "true", "longName": "00090 - Document - Document and Entity Information", "role": "http://www.908devices.com/role/DocumentDocumentAndEntityInformation", "shortName": "Document and Entity Information", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "Duration_1_1_2022_To_6_30_2022_9TyTGoZljkC5clOY168_Zw", "decimals": null, "first": true, "lang": "en-US", "name": "dei:EntityRegistrantName", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R10": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "Duration_1_1_2022_To_6_30_2022_9TyTGoZljkC5clOY168_Zw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10301 - Disclosure - Fair Value Measurements", "role": "http://www.908devices.com/role/DisclosureFairValueMeasurements", "shortName": "Fair Value Measurements", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "Duration_1_1_2022_To_6_30_2022_9TyTGoZljkC5clOY168_Zw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R11": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "Duration_1_1_2022_To_6_30_2022_9TyTGoZljkC5clOY168_Zw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InventoryDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10401 - Disclosure - Inventory", "role": "http://www.908devices.com/role/DisclosureInventory", "shortName": "Inventory", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "Duration_1_1_2022_To_6_30_2022_9TyTGoZljkC5clOY168_Zw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InventoryDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R12": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "Duration_1_1_2022_To_6_30_2022_9TyTGoZljkC5clOY168_Zw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10501 - Disclosure - Accrued Expenses", "role": "http://www.908devices.com/role/DisclosureAccruedExpenses", "shortName": "Accrued Expenses", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "Duration_1_1_2022_To_6_30_2022_9TyTGoZljkC5clOY168_Zw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R13": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "Duration_1_1_2022_To_6_30_2022_9TyTGoZljkC5clOY168_Zw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LongTermDebtTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10601 - Disclosure - Long-Term Debt", "role": "http://www.908devices.com/role/DisclosureLongTermDebt", "shortName": "Long-Term Debt", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "Duration_1_1_2022_To_6_30_2022_9TyTGoZljkC5clOY168_Zw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LongTermDebtTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R14": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "Duration_1_1_2022_To_6_30_2022_9TyTGoZljkC5clOY168_Zw", "decimals": null, "first": true, "lang": "en-US", "name": "mass:EquityAndNetIncomeLossPerShareDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10701 - Disclosure - Equity and Net Income (Loss) per Share", "role": "http://www.908devices.com/role/DisclosureEquityAndNetIncomeLossPerShare", "shortName": "Equity and Net Income (Loss) per Share", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "Duration_1_1_2022_To_6_30_2022_9TyTGoZljkC5clOY168_Zw", "decimals": null, "first": true, "lang": "en-US", "name": "mass:EquityAndNetIncomeLossPerShareDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R15": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "Duration_1_1_2022_To_6_30_2022_9TyTGoZljkC5clOY168_Zw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10801 - Disclosure - Stock-Based Compensation", "role": "http://www.908devices.com/role/DisclosureStockBasedCompensation", "shortName": "Stock-Based Compensation", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "Duration_1_1_2022_To_6_30_2022_9TyTGoZljkC5clOY168_Zw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R16": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "Duration_1_1_2022_To_6_30_2022_9TyTGoZljkC5clOY168_Zw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10901 - Disclosure - Commitments and Contingencies", "role": "http://www.908devices.com/role/DisclosureCommitmentsAndContingencies", "shortName": "Commitments and Contingencies", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "Duration_1_1_2022_To_6_30_2022_9TyTGoZljkC5clOY168_Zw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R17": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "Duration_1_1_2022_To_6_30_2022_9TyTGoZljkC5clOY168_Zw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SubsequentEventsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "11001 - Disclosure - Subsequent events", "role": "http://www.908devices.com/role/DisclosureSubsequentEvents", "shortName": "Subsequent events", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "Duration_1_1_2022_To_6_30_2022_9TyTGoZljkC5clOY168_Zw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SubsequentEventsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R18": { "firstAnchor": { "ancestors": [ "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "Duration_1_1_2022_To_6_30_2022_9TyTGoZljkC5clOY168_Zw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "20202 - Disclosure - Summary of Significant Accounting Policies (Policies)", "role": "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies", "shortName": "Summary of Significant Accounting Policies (Policies)", "subGroupType": "policies", "uniqueAnchor": { "ancestors": [ "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "Duration_1_1_2022_To_6_30_2022_9TyTGoZljkC5clOY168_Zw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R19": { "firstAnchor": { "ancestors": [ "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "Duration_1_1_2022_To_6_30_2022_9TyTGoZljkC5clOY168_Zw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30203 - Disclosure - Summary of Significant Accounting Policies (Tables)", "role": "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables", "shortName": "Summary of Significant Accounting Policies (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "Duration_1_1_2022_To_6_30_2022_9TyTGoZljkC5clOY168_Zw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R2": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "As_Of_6_30_2022_xxwg-iuatEW9ccbLj7hksA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unitRef": "Unit_Standard_USD_-rJ7ZIfLWka3P4n-C8EyPA", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00100 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS", "role": "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheets", "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "As_Of_12_31_2021_KOni7OG3mU2iGN20v0hShA", "decimals": "-3", "lang": null, "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_-rJ7ZIfLWka3P4n-C8EyPA", "xsiNil": "false" } }, "R20": { "firstAnchor": { "ancestors": [ "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "Duration_1_1_2022_To_6_30_2022_9TyTGoZljkC5clOY168_Zw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueByBalanceSheetGroupingTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30303 - Disclosure - Fair Value Measurements (Tables)", "role": "http://www.908devices.com/role/DisclosureFairValueMeasurementsTables", "shortName": "Fair Value Measurements (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "Duration_1_1_2022_To_6_30_2022_9TyTGoZljkC5clOY168_Zw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueByBalanceSheetGroupingTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R21": { "firstAnchor": { "ancestors": [ "us-gaap:InventoryDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "Duration_1_1_2022_To_6_30_2022_9TyTGoZljkC5clOY168_Zw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30403 - Disclosure - Inventory (Tables)", "role": "http://www.908devices.com/role/DisclosureInventoryTables", "shortName": "Inventory (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:InventoryDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "Duration_1_1_2022_To_6_30_2022_9TyTGoZljkC5clOY168_Zw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R22": { "firstAnchor": { "ancestors": [ "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock", "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "Duration_1_1_2022_To_6_30_2022_9TyTGoZljkC5clOY168_Zw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30503 - Disclosure - Accrued Expenses (Tables)", "role": "http://www.908devices.com/role/DisclosureAccruedExpensesTables", "shortName": "Accrued Expenses (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock", "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "Duration_1_1_2022_To_6_30_2022_9TyTGoZljkC5clOY168_Zw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R23": { "firstAnchor": { "ancestors": [ "mass:EquityAndNetIncomeLossPerShareDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "Duration_1_1_2022_To_6_30_2022_9TyTGoZljkC5clOY168_Zw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30703 - Disclosure - Equity and Net Income (Loss) per Share (Tables)", "role": "http://www.908devices.com/role/DisclosureEquityAndNetIncomeLossPerShareTables", "shortName": "Equity and Net Income (Loss) per Share (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "mass:EquityAndNetIncomeLossPerShareDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "Duration_1_1_2022_To_6_30_2022_9TyTGoZljkC5clOY168_Zw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R24": { "firstAnchor": { "ancestors": [ "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "Duration_1_1_2022_To_6_30_2022_9TyTGoZljkC5clOY168_Zw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30803 - Disclosure - Stock-Based Compensation (Tables)", "role": "http://www.908devices.com/role/DisclosureStockBasedCompensationTables", "shortName": "Stock-Based Compensation (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "Duration_1_1_2022_To_6_30_2022_9TyTGoZljkC5clOY168_Zw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R25": { "firstAnchor": { "ancestors": [ "p", "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "Duration_1_1_2022_To_6_30_2022_9TyTGoZljkC5clOY168_Zw", "decimals": null, "first": true, "lang": "en-US", "name": "dei:EntityIncorporationDateOfIncorporation", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40101 - Disclosure - Nature of the Business and Basis of Presentation (Details)", "role": "http://www.908devices.com/role/DisclosureNatureOfBusinessAndBasisOfPresentationDetails", "shortName": "Nature of the Business and Basis of Presentation (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "Duration_1_1_2022_To_6_30_2022_9TyTGoZljkC5clOY168_Zw", "decimals": null, "first": true, "lang": "en-US", "name": "dei:EntityIncorporationDateOfIncorporation", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R26": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "As_Of_6_30_2022_xxwg-iuatEW9ccbLj7hksA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent", "reportCount": 1, "unitRef": "Unit_Standard_USD_-rJ7ZIfLWka3P4n-C8EyPA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40201 - Disclosure - Summary of Significant Accounting Policies - Risk of Concentrations of Credit, Significant Customers and Significant Suppliers (Details)", "role": "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRiskOfConcentrationsOfCreditSignificantCustomersAndSignificantSuppliersDetails", "shortName": "Summary of Significant Accounting Policies - Risk of Concentrations of Credit, Significant Customers and Significant Suppliers (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "mass:ConcentrationsOfCreditRiskAndOfSignificantCustomers", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "Duration_1_1_2022_To_6_30_2022_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_RevenueFromContractWithCustomerMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_p3gdCb5Q4UC8Gpxo86VieA", "decimals": "2", "lang": null, "name": "mass:ConcentrationRiskThresholdPercentage", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_pure_g48nXn-mrEOBHnWVjIQENQ", "xsiNil": "false" } }, "R27": { "firstAnchor": { "ancestors": [ "p", "us-gaap:TradeAndOtherAccountsReceivablePolicy", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "Duration_6_1_2021_To_6_30_2021_K5FhB44qmEiq6mBJxU09HA", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:ProvisionForDoubtfulAccounts", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_-rJ7ZIfLWka3P4n-C8EyPA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40202 - Disclosure - Summary of Significant Accounting Policies - Accounts Receivable (Details)", "role": "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAccountsReceivableDetails", "shortName": "Summary of Significant Accounting Policies - Accounts Receivable (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:TradeAndOtherAccountsReceivablePolicy", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "Duration_6_1_2021_To_6_30_2021_K5FhB44qmEiq6mBJxU09HA", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:ProvisionForDoubtfulAccounts", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_-rJ7ZIfLWka3P4n-C8EyPA", "xsiNil": "false" } }, "R28": { "firstAnchor": { "ancestors": [ "p", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "As_Of_6_30_2022_srt_ProductOrServiceAxis_mass_ProductAndServiceMember__bOmJgtQr0uhpSr-cSpEYQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ContractWithCustomerAssetNet", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_-rJ7ZIfLWka3P4n-C8EyPA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40203 - Disclosure - Summary of Significant Accounting Policies - Deferred Revenue (Details)", "role": "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDeferredRevenueDetails", "shortName": "Summary of Significant Accounting Policies - Deferred Revenue (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "As_Of_6_30_2022_srt_ProductOrServiceAxis_mass_ProductAndServiceMember__bOmJgtQr0uhpSr-cSpEYQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ContractWithCustomerAssetNet", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_-rJ7ZIfLWka3P4n-C8EyPA", "xsiNil": "false" } }, "R29": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "As_Of_6_30_2022_xxwg-iuatEW9ccbLj7hksA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RevenueRemainingPerformanceObligation", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_-rJ7ZIfLWka3P4n-C8EyPA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40204 - Disclosure - Summary of Significant Accounting Policies - Deferred Revenue Expected To Be Recognized (Details)", "role": "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDeferredRevenueExpectedToBeRecognizedDetails", "shortName": "Summary of Significant Accounting Policies - Deferred Revenue Expected To Be Recognized (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "As_Of_6_30_2022_xxwg-iuatEW9ccbLj7hksA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RevenueRemainingPerformanceObligation", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_-rJ7ZIfLWka3P4n-C8EyPA", "xsiNil": "false" } }, "R3": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "As_Of_6_30_2022_xxwg-iuatEW9ccbLj7hksA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent", "reportCount": 1, "unitRef": "Unit_Standard_USD_-rJ7ZIfLWka3P4n-C8EyPA", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00105 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)", "role": "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical", "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)", "subGroupType": "parenthetical", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "As_Of_6_30_2022_xxwg-iuatEW9ccbLj7hksA", "decimals": "INF", "lang": null, "name": "us-gaap:PreferredStockParOrStatedValuePerShare", "reportCount": 1, "unique": true, "unitRef": "Unit_Divide_USD_shares_WFRD7MHESEiPTKT0PIodjA", "xsiNil": "false" } }, "R30": { "firstAnchor": { "ancestors": [ "p", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "As_Of_6_30_2022_srt_ProductOrServiceAxis_mass_LicenseAndContractMember_fOSlbx1ShUKpDyX2NQvbUg", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:ContractWithCustomerAssetNet", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_-rJ7ZIfLWka3P4n-C8EyPA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40205 - Disclosure - Summary of Significant Accounting Policies - License And Contract Revenue (Details)", "role": "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLicenseAndContractRevenueDetails", "shortName": "Summary of Significant Accounting Policies - License And Contract Revenue (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "As_Of_6_30_2022_srt_ProductOrServiceAxis_mass_LicenseAndContractMember_fOSlbx1ShUKpDyX2NQvbUg", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:ContractWithCustomerAssetNet", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_-rJ7ZIfLWka3P4n-C8EyPA", "xsiNil": "false" } }, "R31": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "Duration_4_1_2022_To_6_30_2022_q6NYRb_Ax0edaO-uCwemcg", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "Unit_Standard_USD_-rJ7ZIfLWka3P4n-C8EyPA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40206 - Disclosure - Summary of Significant Accounting Policies - Disaggregated Revenue (Details)", "role": "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregatedRevenueDetails", "shortName": "Summary of Significant Accounting Policies - Disaggregated Revenue (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:DisaggregationOfRevenueTableTextBlock", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "Duration_4_1_2022_To_6_30_2022_srt_StatementGeographicalAxis_srt_NorthAmericaMember_MT-8YscPz0KTM-fO0IRLHg", "decimals": "-3", "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_-rJ7ZIfLWka3P4n-C8EyPA", "xsiNil": "false" } }, "R32": { "firstAnchor": { "ancestors": [ "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3", "p", "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "Duration_1_1_2022_To_6_30_2022_9TyTGoZljkC5clOY168_Zw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_-rJ7ZIfLWka3P4n-C8EyPA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40301 - Disclosure - Fair Value Measurements (Details)", "role": "http://www.908devices.com/role/DisclosureFairValueMeasurementsDetails", "shortName": "Fair Value Measurements (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3", "p", "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "Duration_1_1_2022_To_6_30_2022_9TyTGoZljkC5clOY168_Zw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_-rJ7ZIfLWka3P4n-C8EyPA", "xsiNil": "false" } }, "R33": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "us-gaap:InventoryDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "As_Of_6_30_2022_xxwg-iuatEW9ccbLj7hksA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:InventoryRawMaterialsNetOfReserves", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_-rJ7ZIfLWka3P4n-C8EyPA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40401 - Disclosure - Inventory (Details)", "role": "http://www.908devices.com/role/DisclosureInventoryDetails", "shortName": "Inventory (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "us-gaap:InventoryDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "As_Of_6_30_2022_xxwg-iuatEW9ccbLj7hksA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:InventoryRawMaterialsNetOfReserves", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_-rJ7ZIfLWka3P4n-C8EyPA", "xsiNil": "false" } }, "R34": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock", "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "As_Of_6_30_2022_xxwg-iuatEW9ccbLj7hksA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:EmployeeRelatedLiabilitiesCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_-rJ7ZIfLWka3P4n-C8EyPA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40501 - Disclosure - Accrued Expenses (Details)", "role": "http://www.908devices.com/role/DisclosureAccruedExpensesDetails", "shortName": "Accrued Expenses (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock", "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "As_Of_6_30_2022_xxwg-iuatEW9ccbLj7hksA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:EmployeeRelatedLiabilitiesCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_-rJ7ZIfLWka3P4n-C8EyPA", "xsiNil": "false" } }, "R35": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock", "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "As_Of_12_31_2021_KOni7OG3mU2iGN20v0hShA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:StandardProductWarrantyAccrual", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_-rJ7ZIfLWka3P4n-C8EyPA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40502 - Disclosure - Accrued Expenses - Changes in product warranty obligation (Details)", "role": "http://www.908devices.com/role/DisclosureAccruedExpensesChangesInProductWarrantyObligationDetails", "shortName": "Accrued Expenses - Changes in product warranty obligation (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock", "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "As_Of_12_31_2021_KOni7OG3mU2iGN20v0hShA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:StandardProductWarrantyAccrual", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_-rJ7ZIfLWka3P4n-C8EyPA", "xsiNil": "false" } }, "R36": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "Duration_1_1_2022_To_6_30_2022_9TyTGoZljkC5clOY168_Zw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ProceedsFromLongTermLinesOfCredit", "reportCount": 1, "unitRef": "Unit_Standard_USD_-rJ7ZIfLWka3P4n-C8EyPA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40601 - Disclosure - Long-Term Debt (Details)", "role": "http://www.908devices.com/role/DisclosureLongTermDebtDetails", "shortName": "Long-Term Debt (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:LongTermDebtTextBlock", "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "As_Of_3_11_2021_us-gaap_DebtInstrumentAxis_mass_Revolver2021Member_1Gf_qSaMK0Kw5F7I1_sp7g", "decimals": "-5", "lang": null, "name": "us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_-rJ7ZIfLWka3P4n-C8EyPA", "xsiNil": "false" } }, "R37": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "As_Of_6_30_2022_xxwg-iuatEW9ccbLj7hksA", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:PreferredStockSharesAuthorized", "reportCount": 1, "unitRef": "Unit_Standard_shares_SUP8VH3mzUa-mYzyKYgeNg", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40701 - Disclosure - Equity and Net Income (Loss) per Share (Details)", "role": "http://www.908devices.com/role/DisclosureEquityAndNetIncomeLossPerShareDetails", "shortName": "Equity and Net Income (Loss) per Share (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "mass:EquityAndNetIncomeLossPerShareDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "As_Of_6_30_2022_xxwg-iuatEW9ccbLj7hksA", "decimals": "INF", "lang": null, "name": "mass:NumberOfVoteForEachShareOfCommonStock", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_Vote_s8iFX5LzOkyGoWuYy1uCkg", "xsiNil": "false" } }, "R38": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock", "mass:EquityAndNetIncomeLossPerShareDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "Duration_1_1_2022_To_6_30_2022_9TyTGoZljkC5clOY168_Zw", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_shares_SUP8VH3mzUa-mYzyKYgeNg", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40702 - Disclosure - Equity and Net Income (Loss) per Share - Anti-dilutive securities (Details)", "role": "http://www.908devices.com/role/DisclosureEquityAndNetIncomeLossPerShareAntiDilutiveSecuritiesDetails", "shortName": "Equity and Net Income (Loss) per Share - Anti-dilutive securities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock", "mass:EquityAndNetIncomeLossPerShareDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "Duration_1_1_2022_To_6_30_2022_9TyTGoZljkC5clOY168_Zw", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_shares_SUP8VH3mzUa-mYzyKYgeNg", "xsiNil": "false" } }, "R39": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "Duration_4_1_2022_To_6_30_2022_q6NYRb_Ax0edaO-uCwemcg", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AllocatedShareBasedCompensationExpense", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_-rJ7ZIfLWka3P4n-C8EyPA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40801 - Disclosure - Stock-Based Compensation - Stock-based compensation expense (Details)", "role": "http://www.908devices.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails", "shortName": "Stock-Based Compensation - Stock-based compensation expense (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "Duration_4_1_2022_To_6_30_2022_q6NYRb_Ax0edaO-uCwemcg", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AllocatedShareBasedCompensationExpense", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_-rJ7ZIfLWka3P4n-C8EyPA", "xsiNil": "false" } }, "R4": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "Duration_4_1_2022_To_6_30_2022_q6NYRb_Ax0edaO-uCwemcg", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "Unit_Standard_USD_-rJ7ZIfLWka3P4n-C8EyPA", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00200 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE LOSS", "role": "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLoss", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE LOSS", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "Duration_4_1_2022_To_6_30_2022_q6NYRb_Ax0edaO-uCwemcg", "decimals": "-3", "lang": null, "name": "us-gaap:CostOfRevenue", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_-rJ7ZIfLWka3P4n-C8EyPA", "xsiNil": "false" } }, "R40": { "firstAnchor": { "ancestors": [ "p", "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "As_Of_7_17_2022_02YM4pNRl06WrA0YuzfK4w", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:AreaOfRealEstateProperty", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_sqft_xgc76eeh30eu3g348XOT9g", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40901 - Disclosure - Commitments and Contingencies (Details)", "role": "http://www.908devices.com/role/DisclosureCommitmentsAndContingenciesDetails", "shortName": "Commitments and Contingencies (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "As_Of_7_17_2022_02YM4pNRl06WrA0YuzfK4w", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:AreaOfRealEstateProperty", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_sqft_xgc76eeh30eu3g348XOT9g", "xsiNil": "false" } }, "R41": { "firstAnchor": { "ancestors": [ "us-gaap:BusinessCombinationAcquisitionRelatedCosts", "p", "us-gaap:SubsequentEventsTextBlock", "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "Duration_4_1_2022_To_6_30_2022_us-gaap_BusinessAcquisitionAxis_mass_TraceAnalyticsGmbhMember_STjTTYfnf0Wm794WqRp7bA", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:BusinessCombinationAcquisitionRelatedCosts", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_-rJ7ZIfLWka3P4n-C8EyPA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41001 - Disclosure - Subsequent events (Details)", "role": "http://www.908devices.com/role/DisclosureSubsequentEventsDetails", "shortName": "Subsequent events (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "us-gaap:BusinessCombinationAcquisitionRelatedCosts", "p", "us-gaap:SubsequentEventsTextBlock", "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "Duration_4_1_2022_To_6_30_2022_us-gaap_BusinessAcquisitionAxis_mass_TraceAnalyticsGmbhMember_STjTTYfnf0Wm794WqRp7bA", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:BusinessCombinationAcquisitionRelatedCosts", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_-rJ7ZIfLWka3P4n-C8EyPA", "xsiNil": "false" } }, "R5": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_YPWztsg5XUmX6rAoGpeChg", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:StockholdersEquity", "reportCount": 1, "unitRef": "Unit_Standard_USD_-rJ7ZIfLWka3P4n-C8EyPA", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY", "role": "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "Duration_1_1_2021_To_3_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_AGx4ZIh6i0KXj7z7V1S0rQ", "decimals": "-3", "lang": null, "name": "us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_-rJ7ZIfLWka3P4n-C8EyPA", "xsiNil": "false" } }, "R6": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "Duration_1_1_2022_To_6_30_2022_9TyTGoZljkC5clOY168_Zw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ProfitLoss", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_-rJ7ZIfLWka3P4n-C8EyPA", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS", "role": "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlows", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "Duration_1_1_2022_To_6_30_2022_9TyTGoZljkC5clOY168_Zw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ProfitLoss", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_-rJ7ZIfLWka3P4n-C8EyPA", "xsiNil": "false" } }, "R7": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "As_Of_6_30_2022_xxwg-iuatEW9ccbLj7hksA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unitRef": "Unit_Standard_USD_-rJ7ZIfLWka3P4n-C8EyPA", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00405 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (Parenthetical)", "role": "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsParenthetical", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (Parenthetical)", "subGroupType": "parenthetical", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "As_Of_6_30_2021_aDAXQ67N5Ea0LxnRI-NwZg", "decimals": "-3", "lang": null, "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_-rJ7ZIfLWka3P4n-C8EyPA", "xsiNil": "false" } }, "R8": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "Duration_1_1_2022_To_6_30_2022_9TyTGoZljkC5clOY168_Zw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10101 - Disclosure - Nature of the Business and Basis of Presentation", "role": "http://www.908devices.com/role/DisclosureNatureOfBusinessAndBasisOfPresentation", "shortName": "Nature of the Business and Basis of Presentation", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "Duration_1_1_2022_To_6_30_2022_9TyTGoZljkC5clOY168_Zw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R9": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "Duration_1_1_2022_To_6_30_2022_9TyTGoZljkC5clOY168_Zw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10201 - Disclosure - Summary of Significant Accounting Policies", "role": "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPolicies", "shortName": "Summary of Significant Accounting Policies", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "mass-20220630x10q.htm", "contextRef": "Duration_1_1_2022_To_6_30_2022_9TyTGoZljkC5clOY168_Zw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } } }, "segmentCount": 46, "tag": { "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.908devices.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "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.908devices.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_CoverAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Cover page.", "label": "Document and Entity Information" } } }, "localname": "CoverAbstract", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "xbrltype": "stringItemType" }, "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.908devices.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "gMonthDayItemType" }, "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.908devices.com/role/DocumentDocumentAndEntityInformation" ], "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.908devices.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "gYearItemType" }, "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.908devices.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "dateItemType" }, "dei_DocumentQuarterlyReport": { "auth_ref": [ "r423" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true only for a form used as an quarterly report.", "label": "Document Quarterly Report" } } }, "localname": "DocumentQuarterlyReport", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.908devices.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_DocumentTransitionReport": { "auth_ref": [ "r424" ], "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.908devices.com/role/DocumentDocumentAndEntityInformation" ], "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.908devices.com/role/DocumentDocumentAndEntityInformation" ], "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.908devices.com/role/DocumentDocumentAndEntityInformation" ], "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.908devices.com/role/DocumentDocumentAndEntityInformation" ], "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.908devices.com/role/DocumentDocumentAndEntityInformation" ], "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.908devices.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "stateOrProvinceItemType" }, "dei_EntityCentralIndexKey": { "auth_ref": [ "r421" ], "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.908devices.com/role/DocumentDocumentAndEntityInformation" ], "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.908devices.com/role/DocumentDocumentAndEntityInformation" ], "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.908devices.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "yesNoItemType" }, "dei_EntityEmergingGrowthCompany": { "auth_ref": [ "r421" ], "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.908devices.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_EntityExTransitionPeriod": { "auth_ref": [ "r427" ], "lang": { "en-us": { "role": { "documentation": "Indicate if an emerging growth company has elected not to use the extended transition period for complying with any new or revised financial accounting standards.", "label": "Entity Ex Transition Period" } } }, "localname": "EntityExTransitionPeriod", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.908devices.com/role/DocumentDocumentAndEntityInformation" ], "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.908devices.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "fileNumberItemType" }, "dei_EntityFilerCategory": { "auth_ref": [ "r421" ], "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.908devices.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "filerCategoryItemType" }, "dei_EntityIncorporationDateOfIncorporation": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Date when an entity was incorporated", "label": "Entity Incorporation, Date of Incorporation" } } }, "localname": "EntityIncorporationDateOfIncorporation", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.908devices.com/role/DisclosureNatureOfBusinessAndBasisOfPresentationDetails" ], "xbrltype": "dateItemType" }, "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.908devices.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "edgarStateCountryItemType" }, "dei_EntityInteractiveDataCurrent": { "auth_ref": [ "r426" ], "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.908devices.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "yesNoItemType" }, "dei_EntityRegistrantName": { "auth_ref": [ "r421" ], "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.908devices.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityShellCompany": { "auth_ref": [ "r421" ], "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.908devices.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_EntitySmallBusiness": { "auth_ref": [ "r421" ], "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.908devices.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_EntityTaxIdentificationNumber": { "auth_ref": [ "r421" ], "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.908devices.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "employerIdItemType" }, "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.908devices.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_Security12bTitle": { "auth_ref": [ "r420" ], "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.908devices.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "securityTitleItemType" }, "dei_SecurityExchangeName": { "auth_ref": [ "r422" ], "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.908devices.com/role/DocumentDocumentAndEntityInformation" ], "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.908devices.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "tradingSymbolItemType" }, "mass_AcademiaMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Academia.", "label": "Academia" } } }, "localname": "AcademiaMember", "nsuri": "http://www.908devices.com/20220630", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregatedRevenueDetails" ], "xbrltype": "domainItemType" }, "mass_AnnualInterestRateAboveOtherwiseApplicableRateUponOccurrenceOfEventOfDefault": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Annual interest rate above the otherwise applicable rate upon the occurrence of an event of default.", "label": "Annual interest rate above the otherwise applicable rate upon the occurrence of an event of default", "terseLabel": "Annual interest rate above the otherwise applicable rate upon the occurrence of an event of default" } } }, "localname": "AnnualInterestRateAboveOtherwiseApplicableRateUponOccurrenceOfEventOfDefault", "nsuri": "http://www.908devices.com/20220630", "presentation": [ "http://www.908devices.com/role/DisclosureLongTermDebtDetails" ], "xbrltype": "percentItemType" }, "mass_ConcentrationRiskThresholdPercentage": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "This concept represents the threshold concentration percentage used to determine significant risk.", "label": "Concentration Risk, Threshold Percentage", "terseLabel": "Threshold percentage used to determine significant risk" } } }, "localname": "ConcentrationRiskThresholdPercentage", "nsuri": "http://www.908devices.com/20220630", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRiskOfConcentrationsOfCreditSignificantCustomersAndSignificantSuppliersDetails" ], "xbrltype": "percentItemType" }, "mass_ConcentrationsOfCreditRiskAndOfSignificantCustomers": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for concentrations of credit risk and other uncertainties.", "label": "Concentrations of Credit Risk and of Significant Customers", "verboseLabel": "Concentrations of Credit Risk and of Significant Customers" } } }, "localname": "ConcentrationsOfCreditRiskAndOfSignificantCustomers", "nsuri": "http://www.908devices.com/20220630", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "mass_ContingentConsiderationUponAchievementOfCertainMilestonesPeriod": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Period of contingent consideration upon achievement of certain milestones.", "label": "Contingent Consideration Upon Achievement of Certain Milestones Period", "terseLabel": "Cash in contingent consideration upon achievement of certain milestones, period" } } }, "localname": "ContingentConsiderationUponAchievementOfCertainMilestonesPeriod", "nsuri": "http://www.908devices.com/20220630", "presentation": [ "http://www.908devices.com/role/DisclosureSubsequentEventsDetails" ], "xbrltype": "durationItemType" }, "mass_CustomerOneMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to Customer One.", "label": "Customer One" } } }, "localname": "CustomerOneMember", "nsuri": "http://www.908devices.com/20220630", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRiskOfConcentrationsOfCreditSignificantCustomersAndSignificantSuppliersDetails" ], "xbrltype": "domainItemType" }, "mass_CustomerTwoMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to Customer Two.", "label": "Customer Two" } } }, "localname": "CustomerTwoMember", "nsuri": "http://www.908devices.com/20220630", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRiskOfConcentrationsOfCreditSignificantCustomersAndSignificantSuppliersDetails" ], "xbrltype": "domainItemType" }, "mass_DefinedContributionPlanEmployerMatchingContributionAnnualMaximumPerEmployee": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The maximum annual amount of employer match contributions per employee.", "label": "Defined Contribution Plan, Employer Matching Contribution, Annual Maximum Per Employee", "terseLabel": "Employer matching contribution, maximum amount of annual match per employee" } } }, "localname": "DefinedContributionPlanEmployerMatchingContributionAnnualMaximumPerEmployee", "nsuri": "http://www.908devices.com/20220630", "presentation": [ "http://www.908devices.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "xbrltype": "monetaryItemType" }, "mass_DesktopMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Desktop.", "label": "Desktop" } } }, "localname": "DesktopMember", "nsuri": "http://www.908devices.com/20220630", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregatedRevenueDetails" ], "xbrltype": "domainItemType" }, "mass_EquityAndNetIncomeLossPerShareAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "No definition available.", "label": "Equity and Net Income (Loss) per Share" } } }, "localname": "EquityAndNetIncomeLossPerShareAbstract", "nsuri": "http://www.908devices.com/20220630", "xbrltype": "stringItemType" }, "mass_EquityAndNetIncomeLossPerShareDisclosureTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for equity and net income (loss) per share.", "label": "Equity And Net Income Loss Per Share Disclosure [Text Block]", "verboseLabel": "Equity and Net Income (Loss) per Share" } } }, "localname": "EquityAndNetIncomeLossPerShareDisclosureTextBlock", "nsuri": "http://www.908devices.com/20220630", "presentation": [ "http://www.908devices.com/role/DisclosureEquityAndNetIncomeLossPerShare" ], "xbrltype": "textBlockItemType" }, "mass_GovernmentAuthorityMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Organization is the governing authority of a community.", "label": "Government" } } }, "localname": "GovernmentAuthorityMember", "nsuri": "http://www.908devices.com/20220630", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregatedRevenueDetails" ], "xbrltype": "domainItemType" }, "mass_HandheldMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Handheld.", "label": "Handheld" } } }, "localname": "HandheldMember", "nsuri": "http://www.908devices.com/20220630", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregatedRevenueDetails" ], "xbrltype": "domainItemType" }, "mass_IncreaseDecreaseInRightOfUseOperatingAssets": { "auth_ref": [], "calculation": { "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 13.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in right-of-use operating assets.", "label": "Increase (Decrease) in Right-of-use Operating Assets", "negatedLabel": "Right-of-use operating lease assets" } } }, "localname": "IncreaseDecreaseInRightOfUseOperatingAssets", "nsuri": "http://www.908devices.com/20220630", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "mass_LicenseAndContractMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to license revenues and the related contract revenues. License revenues include the right to use intangible assets. Intangible assets include, but are not limited to, patents, copyrights, technologies, manufacturing processes, software or trademarks. Contract revenues", "label": "License and contract revenue" } } }, "localname": "LicenseAndContractMember", "nsuri": "http://www.908devices.com/20220630", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregatedRevenueDetails", "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLicenseAndContractRevenueDetails", "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLoss" ], "xbrltype": "domainItemType" }, "mass_Loan2019Member": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to a loan and security agreement entered into in 2019.", "label": "2019 Loan" } } }, "localname": "Loan2019Member", "nsuri": "http://www.908devices.com/20220630", "presentation": [ "http://www.908devices.com/role/DisclosureLongTermDebtDetails" ], "xbrltype": "domainItemType" }, "mass_NumberOfCustomersWithConcentrationRisk": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of customers with concentration risk", "label": "Number of customers with concentration risk", "terseLabel": "Number of customers with concentration risk" } } }, "localname": "NumberOfCustomersWithConcentrationRisk", "nsuri": "http://www.908devices.com/20220630", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRiskOfConcentrationsOfCreditSignificantCustomersAndSignificantSuppliersDetails" ], "xbrltype": "integerItemType" }, "mass_NumberOfPartiesWithRoyaltyArrangements": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of parties with royalty arrangements.", "label": "Number of parties with royalty arrangements" } } }, "localname": "NumberOfPartiesWithRoyaltyArrangements", "nsuri": "http://www.908devices.com/20220630", "presentation": [ "http://www.908devices.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "xbrltype": "integerItemType" }, "mass_NumberOfVoteForEachShareOfCommonStock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of vote for each share of common stock.", "label": "Number of votes for each share of common stock", "terseLabel": "Number of votes for each share of common stock" } } }, "localname": "NumberOfVoteForEachShareOfCommonStock", "nsuri": "http://www.908devices.com/20220630", "presentation": [ "http://www.908devices.com/role/DisclosureEquityAndNetIncomeLossPerShareDetails" ], "xbrltype": "integerItemType" }, "mass_NumberOfWarrantsThatWillExpire": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of warrants that will expire.", "label": "Number of warrants that will expire", "terseLabel": "Number of warrants that will expire" } } }, "localname": "NumberOfWarrantsThatWillExpire", "nsuri": "http://www.908devices.com/20220630", "presentation": [ "http://www.908devices.com/role/DisclosureEquityAndNetIncomeLossPerShareDetails" ], "xbrltype": "sharesItemType" }, "mass_OptionsToPurchaseCommonStockMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to options to purchase common stock.", "label": "Options to purchase common stock" } } }, "localname": "OptionsToPurchaseCommonStockMember", "nsuri": "http://www.908devices.com/20220630", "presentation": [ "http://www.908devices.com/role/DisclosureEquityAndNetIncomeLossPerShareAntiDilutiveSecuritiesDetails" ], "xbrltype": "domainItemType" }, "mass_PaymentTermsForCustomerReceivables": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Payment terms for customer receivables.", "label": "Payment terms for customer receivables", "terseLabel": "Payment terms for customer receivables" } } }, "localname": "PaymentTermsForCustomerReceivables", "nsuri": "http://www.908devices.com/20220630", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDeferredRevenueDetails" ], "xbrltype": "durationItemType" }, "mass_PaymentsForWithholdingTaxesOnVestedAwards": { "auth_ref": [], "calculation": { "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of payments for withholding taxes on vested awards.", "label": "Payments for Withholding Taxes on Vested Awards", "negatedLabel": "Payments for withholding taxes on vested awards" } } }, "localname": "PaymentsForWithholdingTaxesOnVestedAwards", "nsuri": "http://www.908devices.com/20220630", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "mass_PharmaceuticalBiotechnologyMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Pharmaceutical/Biotechnology.", "label": "Pharmaceutical/Biotechnology" } } }, "localname": "PharmaceuticalBiotechnologyMember", "nsuri": "http://www.908devices.com/20220630", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregatedRevenueDetails" ], "xbrltype": "domainItemType" }, "mass_ProceedsFromIssuanceSecondaryPublicOffering": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The cash inflow associated with the amount received from entity's secondary offering of stock to the public.", "label": "Proceeds from Issuance, Secondary Public Offering", "terseLabel": "Proceeds from public offering, net of underwriting discounts and commissions" } } }, "localname": "ProceedsFromIssuanceSecondaryPublicOffering", "nsuri": "http://www.908devices.com/20220630", "presentation": [ "http://www.908devices.com/role/DisclosureNatureOfBusinessAndBasisOfPresentationDetails" ], "xbrltype": "monetaryItemType" }, "mass_ProductAndServiceMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to product revenues and service revenues. Product revenues include articles or substances produced by nature, labor or machinery. Service revenues include assistance, including, but not limited to, technology, license and maintenance, license and service, maintenance, oil and gas, and financial service.", "label": "Product and service revenue" } } }, "localname": "ProductAndServiceMember", "nsuri": "http://www.908devices.com/20220630", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDeferredRevenueDetails", "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDeferredRevenueExpectedToBeRecognizedDetails", "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregatedRevenueDetails", "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLoss" ], "xbrltype": "domainItemType" }, "mass_PropertyAndEquipmentIncludedInAccountPayable": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The amount of property and equipment included in account payable in the non-cash investing activities.", "label": "Property and Equipment Included in Account Payable", "terseLabel": "Property and equipment included in Account payable" } } }, "localname": "PropertyAndEquipmentIncludedInAccountPayable", "nsuri": "http://www.908devices.com/20220630", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "mass_RecentlyAdoptedAccountingPronouncementsPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy pertaining to recently adopted accounting pronouncements.", "label": "Recently Adopted Accounting Pronouncements [Policy Text Block]", "terseLabel": "Recently Adopted Accounting Pronouncements" } } }, "localname": "RecentlyAdoptedAccountingPronouncementsPolicyTextBlock", "nsuri": "http://www.908devices.com/20220630", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "mass_RestrictedStockUnitsAndStockOptionsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Stock-based compensation award of restricted stock units and stock options.", "label": "Restricted stock units and stock options" } } }, "localname": "RestrictedStockUnitsAndStockOptionsMember", "nsuri": "http://www.908devices.com/20220630", "presentation": [ "http://www.908devices.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "mass_RevenueDeferredDuringPeriodNetOfRevenueRecognized": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Revenue deferred during the period, net of revenue recognized.", "label": "Revenue deferred during the period, net of revenue recognized", "verboseLabel": "Revenue deferred during the period, net of revenue recognized" } } }, "localname": "RevenueDeferredDuringPeriodNetOfRevenueRecognized", "nsuri": "http://www.908devices.com/20220630", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDeferredRevenueDetails" ], "xbrltype": "monetaryItemType" }, "mass_Revolver2021Member": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Amended and Restated Loan and Security Agreement, (the \"2021 Revolver\").", "label": "2021 Revolver" } } }, "localname": "Revolver2021Member", "nsuri": "http://www.908devices.com/20220630", "presentation": [ "http://www.908devices.com/role/DisclosureLongTermDebtDetails" ], "xbrltype": "domainItemType" }, "mass_RoyaltyArrangementsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Related to royalty arrangements.", "label": "Royalty Arrangements [Abstract]", "terseLabel": "Royalty Arrangements" } } }, "localname": "RoyaltyArrangementsAbstract", "nsuri": "http://www.908devices.com/20220630", "presentation": [ "http://www.908devices.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "xbrltype": "stringItemType" }, "mass_RoyaltyLiabilitiesFutureMinimumRoyaltyPaymentsAnnual": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The amount of royalty liability payments due annually.", "label": "Royalty Liabilities, Future Minimum Royalty Payments, Annual", "terseLabel": "Future minimum annual royalty payments" } } }, "localname": "RoyaltyLiabilitiesFutureMinimumRoyaltyPaymentsAnnual", "nsuri": "http://www.908devices.com/20220630", "presentation": [ "http://www.908devices.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "xbrltype": "monetaryItemType" }, "mass_SecondaryPublicOfferingMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Secondary sale of stock.", "label": "Public Offering" } } }, "localname": "SecondaryPublicOfferingMember", "nsuri": "http://www.908devices.com/20220630", "presentation": [ "http://www.908devices.com/role/DisclosureNatureOfBusinessAndBasisOfPresentationDetails" ], "xbrltype": "domainItemType" }, "mass_TechnologyDeviceTypeAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by technology device type.", "label": "Technology device type [Axis]" } } }, "localname": "TechnologyDeviceTypeAxis", "nsuri": "http://www.908devices.com/20220630", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregatedRevenueDetails" ], "xbrltype": "stringItemType" }, "mass_TechnologyDeviceTypeDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Technology device type.", "label": "Technology device type [Domain]" } } }, "localname": "TechnologyDeviceTypeDomain", "nsuri": "http://www.908devices.com/20220630", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregatedRevenueDetails" ], "xbrltype": "domainItemType" }, "mass_TraceAnalyticsGmbhMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to the TRACE Analytics GmbH.", "label": "TRACE Analytics Gmbh [Member]", "terseLabel": "TRACE Analytics GmbH" } } }, "localname": "TraceAnalyticsGmbhMember", "nsuri": "http://www.908devices.com/20220630", "presentation": [ "http://www.908devices.com/role/DisclosureSubsequentEventsDetails" ], "xbrltype": "domainItemType" }, "mass_TransfersOfInventoryToPropertyAndEquipment": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Value of inventory transferred to property and equipment in noncash transactions.", "label": "Transfers of inventory to property and equipment", "terseLabel": "Transfers of inventory to property and equipment" } } }, "localname": "TransfersOfInventoryToPropertyAndEquipment", "nsuri": "http://www.908devices.com/20220630", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "mass_UnrestrictedMinimumCashRequiredPursuantToFinancialCovenantsOfLoan": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Unrestricted minimum cash required pursuant to financial covenants of the loan.", "label": "Unrestricted minimum cash required pursuant to financial covenants of the loan", "terseLabel": "Unrestricted minimum cash required pursuant to financial covenants of the loan" } } }, "localname": "UnrestrictedMinimumCashRequiredPursuantToFinancialCovenantsOfLoan", "nsuri": "http://www.908devices.com/20220630", "presentation": [ "http://www.908devices.com/role/DisclosureLongTermDebtDetails" ], "xbrltype": "monetaryItemType" }, "mass_WarrantsExpiringIn2027Member": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to warrants expiring in 2027.", "label": "Warrants Expiring in 2027" } } }, "localname": "WarrantsExpiringIn2027Member", "nsuri": "http://www.908devices.com/20220630", "presentation": [ "http://www.908devices.com/role/DisclosureEquityAndNetIncomeLossPerShareDetails" ], "xbrltype": "domainItemType" }, "mass_WarrantsExpiringIn2028Member": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to warrants expiring in 2028.", "label": "Warrants Expiring in 2028" } } }, "localname": "WarrantsExpiringIn2028Member", "nsuri": "http://www.908devices.com/20220630", "presentation": [ "http://www.908devices.com/role/DisclosureEquityAndNetIncomeLossPerShareDetails" ], "xbrltype": "domainItemType" }, "mass_WarrantsToPurchaseCommonStockMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to warrants to purchase common stock.", "label": "Warrants to purchase common stock" } } }, "localname": "WarrantsToPurchaseCommonStockMember", "nsuri": "http://www.908devices.com/20220630", "presentation": [ "http://www.908devices.com/role/DisclosureEquityAndNetIncomeLossPerShareAntiDilutiveSecuritiesDetails", "http://www.908devices.com/role/DisclosureEquityAndNetIncomeLossPerShareDetails" ], "xbrltype": "domainItemType" }, "srt_AsiaPacificMember": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Asia Pacific" } } }, "localname": "AsiaPacificMember", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregatedRevenueDetails" ], "xbrltype": "domainItemType" }, "srt_MajorCustomersAxis": { "auth_ref": [ "r151", "r250", "r255", "r396" ], "lang": { "en-us": { "role": { "label": "Customer [Axis]" } } }, "localname": "MajorCustomersAxis", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregatedRevenueDetails", "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRiskOfConcentrationsOfCreditSignificantCustomersAndSignificantSuppliersDetails" ], "xbrltype": "stringItemType" }, "srt_MaximumMember": { "auth_ref": [ "r201", "r228", "r270", "r273", "r363", "r364", "r365", "r366", "r367", "r368", "r369", "r393", "r397", "r417", "r418" ], "lang": { "en-us": { "role": { "label": "Maximum" } } }, "localname": "MaximumMember", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSubsequentEventsDetails", "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDeferredRevenueDetails" ], "xbrltype": "domainItemType" }, "srt_MinimumMember": { "auth_ref": [ "r201", "r228", "r270", "r273", "r363", "r364", "r365", "r366", "r367", "r368", "r369", "r393", "r397", "r417", "r418" ], "lang": { "en-us": { "role": { "label": "Minimum" } } }, "localname": "MinimumMember", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureLongTermDebtDetails", "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDeferredRevenueDetails" ], "xbrltype": "domainItemType" }, "srt_NameOfMajorCustomerDomain": { "auth_ref": [ "r151", "r250", "r255", "r396" ], "lang": { "en-us": { "role": { "label": "Customer [Domain]" } } }, "localname": "NameOfMajorCustomerDomain", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregatedRevenueDetails", "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRiskOfConcentrationsOfCreditSignificantCustomersAndSignificantSuppliersDetails" ], "xbrltype": "domainItemType" }, "srt_NorthAmericaMember": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Americas" } } }, "localname": "NorthAmericaMember", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregatedRevenueDetails" ], "xbrltype": "domainItemType" }, "srt_ProductOrServiceAxis": { "auth_ref": [ "r148", "r250", "r253", "r372", "r392", "r394" ], "lang": { "en-us": { "role": { "label": "Product and Service [Axis]" } } }, "localname": "ProductOrServiceAxis", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDeferredRevenueDetails", "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDeferredRevenueExpectedToBeRecognizedDetails", "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregatedRevenueDetails", "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLicenseAndContractRevenueDetails", "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLoss" ], "xbrltype": "stringItemType" }, "srt_ProductsAndServicesDomain": { "auth_ref": [ "r148", "r250", "r253", "r372", "r392", "r394" ], "lang": { "en-us": { "role": { "label": "Product and Service [Domain]" } } }, "localname": "ProductsAndServicesDomain", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDeferredRevenueDetails", "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDeferredRevenueExpectedToBeRecognizedDetails", "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregatedRevenueDetails", "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLicenseAndContractRevenueDetails", "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLoss" ], "xbrltype": "domainItemType" }, "srt_RangeAxis": { "auth_ref": [ "r201", "r228", "r260", "r270", "r273", "r363", "r364", "r365", "r366", "r367", "r368", "r369", "r393", "r397", "r417", "r418" ], "lang": { "en-us": { "role": { "label": "Statistical Measurement [Axis]" } } }, "localname": "RangeAxis", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureLongTermDebtDetails", "http://www.908devices.com/role/DisclosureSubsequentEventsDetails", "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDeferredRevenueDetails" ], "xbrltype": "stringItemType" }, "srt_RangeMember": { "auth_ref": [ "r201", "r228", "r260", "r270", "r273", "r363", "r364", "r365", "r366", "r367", "r368", "r369", "r393", "r397", "r417", "r418" ], "lang": { "en-us": { "role": { "label": "Statistical Measurement [Domain]" } } }, "localname": "RangeMember", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureLongTermDebtDetails", "http://www.908devices.com/role/DisclosureSubsequentEventsDetails", "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDeferredRevenueDetails" ], "xbrltype": "domainItemType" }, "srt_ScenarioUnspecifiedDomain": { "auth_ref": [ "r98", "r103", "r271" ], "lang": { "en-us": { "role": { "label": "Scenario [Domain]" } } }, "localname": "ScenarioUnspecifiedDomain", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureEquityAndNetIncomeLossPerShareDetails" ], "xbrltype": "domainItemType" }, "srt_SegmentGeographicalDomain": { "auth_ref": [ "r149", "r150", "r250", "r254", "r395", "r408", "r409", "r410", "r411", "r412", "r413", "r414", "r415", "r416" ], "lang": { "en-us": { "role": { "label": "Geographical [Domain]" } } }, "localname": "SegmentGeographicalDomain", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregatedRevenueDetails", "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRiskOfConcentrationsOfCreditSignificantCustomersAndSignificantSuppliersDetails" ], "xbrltype": "domainItemType" }, "srt_StatementGeographicalAxis": { "auth_ref": [ "r149", "r150", "r250", "r254", "r395", "r404", "r408", "r409", "r410", "r411", "r412", "r413", "r414", "r415", "r416" ], "lang": { "en-us": { "role": { "label": "Geographical [Axis]" } } }, "localname": "StatementGeographicalAxis", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregatedRevenueDetails", "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRiskOfConcentrationsOfCreditSignificantCustomersAndSignificantSuppliersDetails" ], "xbrltype": "stringItemType" }, "srt_StatementScenarioAxis": { "auth_ref": [ "r98", "r103", "r179", "r271", "r358" ], "lang": { "en-us": { "role": { "label": "Scenario [Axis]" } } }, "localname": "StatementScenarioAxis", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureEquityAndNetIncomeLossPerShareDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AccountingPoliciesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Summary of Significant Accounting Policies" } } }, "localname": "AccountingPoliciesAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for accounts payable, accrued expenses, and other liabilities that are classified as current at the end of the reporting period.", "label": "Accounts Payable, Accrued Liabilities, and Other Liabilities Disclosure, Current [Text Block]", "terseLabel": "Accrued Expenses" } } }, "localname": "AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureAccruedExpenses" ], "xbrltype": "textBlockItemType" }, "us-gaap_AccountsPayableCurrent": { "auth_ref": [ "r40", "r355" ], "calculation": { "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheets": { "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": "Accounts Payable, Current", "terseLabel": "Accounts payable" } } }, "localname": "AccountsPayableCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsReceivableGross": { "auth_ref": [ "r152" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, before allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business.", "label": "Accounts Receivable, before Allowance for Credit Loss", "terseLabel": "Gross accounts receivable balance" } } }, "localname": "AccountsReceivableGross", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRiskOfConcentrationsOfCreditSignificantCustomersAndSignificantSuppliersDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsReceivableMember": { "auth_ref": [ "r406" ], "lang": { "en-us": { "role": { "documentation": "Due from customers or clients for goods or services that have been delivered or sold.", "label": "Accounts Receivable" } } }, "localname": "AccountsReceivableMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRiskOfConcentrationsOfCreditSignificantCustomersAndSignificantSuppliersDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AccountsReceivableNetCurrent": { "auth_ref": [ "r5", "r23", "r152", "r153" ], "calculation": { "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 2.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, after Allowance for Credit Loss, Current", "terseLabel": "Accounts receivable, net of allowance for doubtful accounts of $1,750" } } }, "localname": "AccountsReceivableNetCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedLiabilitiesCurrent": { "auth_ref": [ "r43" ], "calculation": { "http://www.908devices.com/role/DisclosureAccruedExpensesDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accrued Liabilities, Current", "terseLabel": "Accrued expenses", "totalLabel": "Total accrued expenses" } } }, "localname": "AccruedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureAccruedExpensesDetails", "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedLiabilitiesCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Accrued Expenses" } } }, "localname": "AccruedLiabilitiesCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_AccruedProfessionalFeesCurrent": { "auth_ref": [ "r9", "r10", "r43" ], "calculation": { "http://www.908devices.com/role/DisclosureAccruedExpensesDetails": { "order": 2.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for professional fees, such as for legal and accounting services received. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accrued Professional Fees, Current", "terseLabel": "Accrued professional fees" } } }, "localname": "AccruedProfessionalFeesCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureAccruedExpensesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdditionalPaidInCapital": { "auth_ref": [ "r24", "r288", "r355" ], "calculation": { "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock.", "label": "Additional Paid in Capital", "terseLabel": "Additional paid-in capital" } } }, "localname": "AdditionalPaidInCapital", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdditionalPaidInCapitalMember": { "auth_ref": [ "r90", "r91", "r92", "r285", "r286", "r287", "r317" ], "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" } } }, "localname": "AdditionalPaidInCapitalMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "auth_ref": [ "r274", "r276", "r290", "r291" ], "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": "APIC, Share-based Payment Arrangement, Increase for Cost Recognition", "terseLabel": "Stock-based compensation expense" } } }, "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]", "terseLabel": "Adjustments to reconcile net loss to net cash used in operating activities:" } } }, "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_AllocatedShareBasedCompensationExpense": { "auth_ref": [ "r276", "r281", "r289" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.", "label": "Share-based Payment Arrangement, Expense", "terseLabel": "Stock-based compensation expense" } } }, "localname": "AllocatedShareBasedCompensationExpense", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": { "auth_ref": [ "r29", "r158", "r165" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current.", "label": "Accounts Receivable, Allowance for Credit Loss, Current", "terseLabel": "Allowance for doubtful accounts" } } }, "localname": "AllowanceForDoubtfulAccountsReceivableCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAccountsReceivableDetails", "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRiskOfConcentrationsOfCreditSignificantCustomersAndSignificantSuppliersDetails", "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "monetaryItemType" }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "auth_ref": [ "r113" ], "lang": { "en-us": { "role": { "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.", "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount", "terseLabel": "Anti-dilutive securities" } } }, "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureEquityAndNetIncomeLossPerShareAntiDilutiveSecuritiesDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis": { "auth_ref": [ "r113" ], "lang": { "en-us": { "role": { "documentation": "Information by type of antidilutive security.", "label": "Antidilutive Securities [Axis]" } } }, "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureEquityAndNetIncomeLossPerShareAntiDilutiveSecuritiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems": { "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": "Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]", "terseLabel": "Equity and Net Income (Loss) per Share" } } }, "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureEquityAndNetIncomeLossPerShareAntiDilutiveSecuritiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AntidilutiveSecuritiesNameDomain": { "auth_ref": [ "r113" ], "lang": { "en-us": { "role": { "documentation": "Incremental common shares attributable to securities that were not included in diluted earnings per share (EPS) because to do so would increase EPS amounts or decrease loss per share amounts for the period presented.", "label": "Antidilutive Securities, Name [Domain]" } } }, "localname": "AntidilutiveSecuritiesNameDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureEquityAndNetIncomeLossPerShareAntiDilutiveSecuritiesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AreaOfRealEstateProperty": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Area of a real estate property.", "label": "Area of Real Estate Property", "terseLabel": "Area of facility" } } }, "localname": "AreaOfRealEstateProperty", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "xbrltype": "areaItemType" }, "us-gaap_Assets": { "auth_ref": [ "r87", "r137", "r140", "r146", "r163", "r187", "r188", "r189", "r190", "r191", "r192", "r193", "r194", "r195", "r196", "r197", "r308", "r312", "r332", "r353", "r355", "r373", "r385" ], "calculation": { "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheets": { "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": "Assets", "totalLabel": "Total assets" } } }, "localname": "Assets", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Assets [Abstract]", "terseLabel": "Assets" } } }, "localname": "AssetsAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsCurrent": { "auth_ref": [ "r6", "r7", "r53", "r87", "r163", "r187", "r188", "r189", "r190", "r191", "r192", "r193", "r194", "r195", "r196", "r197", "r308", "r312", "r332", "r353", "r355" ], "calculation": { "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 1.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": "Assets, Current", "totalLabel": "Total current assets" } } }, "localname": "AssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Assets, Current [Abstract]", "terseLabel": "Current assets:" } } }, "localname": "AssetsCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_AwardTypeAxis": { "auth_ref": [ "r277", "r283" ], "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.908devices.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails" ], "xbrltype": "stringItemType" }, "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).", "label": "Basis of Accounting, Policy [Policy Text Block]", "terseLabel": "Unaudited Condensed Interim Financial Information" } } }, "localname": "BasisOfAccountingPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock": { "auth_ref": [ "r89" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for the basis of presentation and significant accounting policies concepts. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS). Accounting policies describe all significant accounting policies of the reporting entity.", "label": "Basis of Presentation and Significant Accounting Policies [Text Block]", "terseLabel": "Summary of Significant Accounting Policies" } } }, "localname": "BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_BusinessAcquisitionAcquireeDomain": { "auth_ref": [ "r269", "r272" ], "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.908devices.com/role/DisclosureSubsequentEventsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_BusinessAcquisitionAxis": { "auth_ref": [ "r269", "r272", "r298", "r299" ], "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.908devices.com/role/DisclosureSubsequentEventsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired": { "auth_ref": [ "r297" ], "lang": { "en-us": { "role": { "documentation": "Percentage of voting equity interests acquired at the acquisition date in the business combination.", "label": "Business Acquisition, Percentage of Voting Interests Acquired", "terseLabel": "Percentage of share capital acquired" } } }, "localname": "BusinessAcquisitionPercentageOfVotingInterestsAcquired", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSubsequentEventsDetails" ], "xbrltype": "percentItemType" }, "us-gaap_BusinessCombinationAcquisitionRelatedCosts": { "auth_ref": [ "r296" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "This element represents acquisition-related costs incurred to effect a business combination which costs have been expensed during the period. Such costs include finder's fees; advisory, legal, accounting, valuation, and other professional or consulting fees; general administrative costs, including the costs of maintaining an internal acquisitions department; and may include costs of registering and issuing debt and equity securities.", "label": "Business Combination, Acquisition Related Costs", "terseLabel": "Acquisition related costs" } } }, "localname": "BusinessCombinationAcquisitionRelatedCosts", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSubsequentEventsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationConsiderationTransferred1": { "auth_ref": [ "r301", "r302", "r304" ], "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": "Business Combination, Consideration Transferred", "terseLabel": "Total potential contractual purchase price" } } }, "localname": "BusinessCombinationConsiderationTransferred1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSubsequentEventsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationContingentConsiderationLiability": { "auth_ref": [ "r300", "r303", "r306" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liability recognized arising from contingent consideration in a business combination.", "label": "Business Combination, Contingent Consideration, Liability", "terseLabel": "Cash in contingent consideration upon achievement of certain milestones" } } }, "localname": "BusinessCombinationContingentConsiderationLiability", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSubsequentEventsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "auth_ref": [ "r3", "r38", "r81" ], "calculation": { "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 }, "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsParenthetical": { "order": 3.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "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, at Carrying Value", "terseLabel": "Cash and cash equivalents" } } }, "localname": "CashAndCashEquivalentsAtCarryingValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheets", "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsParenthetical" ], "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.908devices.com/role/DisclosureFairValueMeasurementsDetails" ], "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": "Cash and Cash Equivalents, Fair Value Disclosure", "terseLabel": "Cash and cash equivalents" } } }, "localname": "CashAndCashEquivalentsFairValueDisclosure", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "auth_ref": [ "r76", "r81", "r82" ], "calculation": { "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsParenthetical": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents", "periodEndLabel": "Cash, cash equivalents and restricted cash at end of period", "periodStartLabel": "Cash, cash equivalents and restricted cash at beginning of period", "totalLabel": "Total cash, cash equivalents and restricted cash shown in the statement of cash flows" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlows", "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsParenthetical" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents [Abstract]", "terseLabel": "Reconciliation of cash, cash equivalents and restricted cash:" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsParenthetical" ], "xbrltype": "stringItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "auth_ref": [ "r76", "r333" ], "calculation": { "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "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": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect", "totalLabel": "Net decrease in cash, cash equivalents and restricted cash" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ChangeInContractWithCustomerLiabilityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Change in Contract with Customer, Liability [Abstract]", "terseLabel": "Summary of the activity of the Company's deferred revenue related to product and service revenue" } } }, "localname": "ChangeInContractWithCustomerLiabilityAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDeferredRevenueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ClassOfStockDomain": { "auth_ref": [ "r85", "r87", "r106", "r107", "r108", "r110", "r112", "r118", "r119", "r120", "r163", "r187", "r191", "r192", "r193", "r196", "r197", "r226", "r227", "r230", "r231", "r332", "r425" ], "lang": { "en-us": { "role": { "documentation": "Share of stock differentiated by the voting rights the holder receives. Examples include, but are not limited to, common stock, redeemable preferred stock, nonredeemable preferred stock, and convertible stock.", "label": "Class of Stock [Domain]" } } }, "localname": "ClassOfStockDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureNatureOfBusinessAndBasisOfPresentationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ClassOfStockLineItems": { "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": "Class of Stock [Line Items]", "verboseLabel": "Nature of the Business and Basis of Presentation" } } }, "localname": "ClassOfStockLineItems", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureNatureOfBusinessAndBasisOfPresentationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ClassOfWarrantOrRightAxis": { "auth_ref": [ "r241", "r275" ], "lang": { "en-us": { "role": { "documentation": "Information by type of warrant or right issued.", "label": "Class of Warrant or Right [Axis]" } } }, "localname": "ClassOfWarrantOrRightAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureEquityAndNetIncomeLossPerShareDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ClassOfWarrantOrRightDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Name of the class or type of warrant or right outstanding. Warrants and rights represent derivative securities that give the holder the right to purchase securities (usually equity) from the issuer at a specific price within a certain time frame. Warrants are often included in a new debt issue to entice investors by a higher return potential. The main difference between warrants and call options is that warrants are issued and guaranteed by the company, whereas options are exchange instruments and are not issued by the company. Also, the lifetime of a warrant is often measured in years, while the lifetime of a typical option is measured in months.", "label": "Class of Warrant or Right [Domain]" } } }, "localname": "ClassOfWarrantOrRightDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureEquityAndNetIncomeLossPerShareDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1": { "auth_ref": [ "r234" ], "lang": { "en-us": { "role": { "documentation": "Exercise price per share or per unit of warrants or rights outstanding.", "label": "Class of Warrant or Right, Exercise Price of Warrants or Rights", "verboseLabel": "Purchase price, per share" } } }, "localname": "ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureEquityAndNetIncomeLossPerShareDetails", "http://www.908devices.com/role/DisclosureLongTermDebtDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ClassOfWarrantOrRightLineItems": { "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": "Class of Warrant or Right [Line Items]", "terseLabel": "Equity and Net Income (Loss) per Share" } } }, "localname": "ClassOfWarrantOrRightLineItems", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureEquityAndNetIncomeLossPerShareDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ClassOfWarrantOrRightOutstanding": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of warrants or rights outstanding.", "label": "Class of Warrant or Right, Outstanding", "terseLabel": "Number of shares purchased from outstanding warrants" } } }, "localname": "ClassOfWarrantOrRightOutstanding", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureEquityAndNetIncomeLossPerShareDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ClassOfWarrantOrRightTable": { "auth_ref": [ "r241", "r275" ], "lang": { "en-us": { "role": { "documentation": "Disclosure for warrants or rights issued, which includes the title of issue of securities called for by warrants and rights outstanding, the aggregate amount of securities called for by warrants and rights outstanding, the date from which the warrants or rights are exercisable, and the price at which the warrant or right is exercisable.", "label": "Class of Warrant or Right [Table]" } } }, "localname": "ClassOfWarrantOrRightTable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureEquityAndNetIncomeLossPerShareDetails" ], "xbrltype": "stringItemType" }, "us-gaap_CommitmentsAndContingencies": { "auth_ref": [ "r48", "r178", "r377", "r389" ], "calculation": { "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.", "label": "Commitments and Contingencies.", "verboseLabel": "Commitments and contingencies (Note 9)" } } }, "localname": "CommitmentsAndContingencies", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Commitments and Contingencies" } } }, "localname": "CommitmentsAndContingenciesDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": { "auth_ref": [ "r175", "r176", "r177", "r180", "r407" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for commitments and contingencies.", "label": "Commitments and Contingencies Disclosure [Text Block]", "terseLabel": "Commitments and Contingencies" } } }, "localname": "CommitmentsAndContingenciesDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureCommitmentsAndContingencies" ], "xbrltype": "textBlockItemType" }, "us-gaap_CommonStockMember": { "auth_ref": [ "r90", "r91", "r317" ], "lang": { "en-us": { "role": { "documentation": "Stock that is subordinate to all other stock of the issuer.", "label": "Common Stock" } } }, "localname": "CommonStockMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureNatureOfBusinessAndBasisOfPresentationDetails", "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_CommonStockParOrStatedValuePerShare": { "auth_ref": [ "r22" ], "lang": { "en-us": { "role": { "documentation": "Face amount or stated value per share of common stock.", "label": "Common Stock, Par or Stated Value Per Share", "terseLabel": "Common stock, par value" } } }, "localname": "CommonStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "perShareItemType" }, "us-gaap_CommonStockSharesAuthorized": { "auth_ref": [ "r22" ], "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", "terseLabel": "Common stock, shares authorized" } } }, "localname": "CommonStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesIssued": { "auth_ref": [ "r22" ], "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", "terseLabel": "Common stock, shares issued" } } }, "localname": "CommonStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesOutstanding": { "auth_ref": [ "r22", "r233" ], "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", "terseLabel": "Common stock, shares outstanding" } } }, "localname": "CommonStockSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockValue": { "auth_ref": [ "r22", "r355" ], "calculation": { "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 2.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, Value, Issued", "verboseLabel": "Common stock, $0.001 par value; 100,000,000 shares authorized; 31,531,115 shares and 31,077,004 shares issued and outstanding at June 30, 2022 and December 31, 2021, respectively" } } }, "localname": "CommonStockValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ConcentrationRiskBenchmarkDomain": { "auth_ref": [ "r127", "r128", "r151", "r329", "r330", "r406" ], "lang": { "en-us": { "role": { "documentation": "The denominator in a calculation of a disclosed concentration risk percentage.", "label": "Concentration Risk Benchmark [Domain]" } } }, "localname": "ConcentrationRiskBenchmarkDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRiskOfConcentrationsOfCreditSignificantCustomersAndSignificantSuppliersDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ConcentrationRiskByBenchmarkAxis": { "auth_ref": [ "r127", "r128", "r151", "r329", "r330", "r403", "r406" ], "lang": { "en-us": { "role": { "documentation": "Information by benchmark of concentration risk.", "label": "Concentration Risk Benchmark [Axis]" } } }, "localname": "ConcentrationRiskByBenchmarkAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRiskOfConcentrationsOfCreditSignificantCustomersAndSignificantSuppliersDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskByTypeAxis": { "auth_ref": [ "r127", "r128", "r151", "r329", "r330", "r403", "r406" ], "lang": { "en-us": { "role": { "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender.", "label": "Concentration Risk Type [Axis]" } } }, "localname": "ConcentrationRiskByTypeAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRiskOfConcentrationsOfCreditSignificantCustomersAndSignificantSuppliersDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskLineItems": { "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": "Concentration Risk [Line Items]", "terseLabel": "Concentrations of Credit Risk and of Significant Customers" } } }, "localname": "ConcentrationRiskLineItems", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRiskOfConcentrationsOfCreditSignificantCustomersAndSignificantSuppliersDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskPercentage1": { "auth_ref": [ "r127", "r128", "r151", "r329", "r330" ], "lang": { "en-us": { "role": { "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.", "label": "Concentration Risk, Percentage", "terseLabel": "Concentration risk percentage" } } }, "localname": "ConcentrationRiskPercentage1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRiskOfConcentrationsOfCreditSignificantCustomersAndSignificantSuppliersDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ConcentrationRiskTable": { "auth_ref": [ "r125", "r127", "r128", "r129", "r329", "r331", "r406" ], "lang": { "en-us": { "role": { "documentation": "Describes the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark.", "label": "Concentration Risk [Table]" } } }, "localname": "ConcentrationRiskTable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRiskOfConcentrationsOfCreditSignificantCustomersAndSignificantSuppliersDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskTypeDomain": { "auth_ref": [ "r127", "r128", "r151", "r329", "r330", "r406" ], "lang": { "en-us": { "role": { "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, identifies the type (for example, asset, liability, net assets, geographic, customer, employees, supplier, lender) of the concentration.", "label": "Concentration Risk Type [Domain]" } } }, "localname": "ConcentrationRiskTypeDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRiskOfConcentrationsOfCreditSignificantCustomersAndSignificantSuppliersDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock": { "auth_ref": [ "r245" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability.", "label": "Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block]", "terseLabel": "Summary of the activity of the Company's deferred revenue" } } }, "localname": "ContractWithCustomerAssetAndLiabilityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ContractWithCustomerAssetNet": { "auth_ref": [ "r242", "r244", "r251" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time.", "label": "Contract with Customer, Asset, after Allowance for Credit Loss", "terseLabel": "Contract assets" } } }, "localname": "ContractWithCustomerAssetNet", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDeferredRevenueDetails", "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLicenseAndContractRevenueDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiability": { "auth_ref": [ "r242", "r243", "r251" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable.", "label": "Contract with Customer, Liability", "periodEndLabel": "Balances at end of period", "periodStartLabel": "Balances at beginning of period", "terseLabel": "Contract liabilities" } } }, "localname": "ContractWithCustomerLiability", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDeferredRevenueDetails", "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLicenseAndContractRevenueDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityCurrent": { "auth_ref": [ "r242", "r243", "r251" ], "calculation": { "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.", "label": "Contract with Customer, Liability, Current", "terseLabel": "Deferred revenue" } } }, "localname": "ContractWithCustomerLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityNoncurrent": { "auth_ref": [ "r242", "r243", "r251" ], "calculation": { "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as noncurrent.", "label": "Contract with Customer, Liability, Noncurrent", "terseLabel": "Deferred revenue, net of current portion" } } }, "localname": "ContractWithCustomerLiabilityNoncurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": { "auth_ref": [ "r252" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due.", "label": "Contract with Customer, Liability, Revenue Recognized", "terseLabel": "Revenue recognized", "verboseLabel": "Recognition of revenue included in balance at beginning of the period" } } }, "localname": "ContractWithCustomerLiabilityRevenueRecognized", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDeferredRevenueDetails", "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLicenseAndContractRevenueDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerPerformanceObligationSatisfiedInPreviousPeriod": { "auth_ref": [ "r246" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of revenue recognized from performance obligation satisfied or partially satisfied in previous reporting periods. Includes, but is not limited to, change in transaction price.", "label": "Contract with Customer, Performance Obligation Satisfied in Previous Period", "terseLabel": "Wholly- or partially-unsatisfied performance obligations" } } }, "localname": "ContractWithCustomerPerformanceObligationSatisfiedInPreviousPeriod", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDeferredRevenueExpectedToBeRecognizedDetails", "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLicenseAndContractRevenueDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CostOfRevenue": { "auth_ref": [ "r64", "r87", "r163", "r187", "r188", "r189", "r191", "r192", "r193", "r194", "r195", "r196", "r197", "r332" ], "calculation": { "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLoss": { "order": 2.0, "parentTag": "us-gaap_GrossProfit", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate cost of goods produced and sold and services rendered during the reporting period.", "label": "Cost of Revenue.", "terseLabel": "Cost of revenue" } } }, "localname": "CostOfRevenue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLoss" ], "xbrltype": "monetaryItemType" }, "us-gaap_CostOfSalesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing cost of sales.", "label": "Cost of revenue" } } }, "localname": "CostOfSalesMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CustomerConcentrationRiskMember": { "auth_ref": [ "r126", "r151" ], "lang": { "en-us": { "role": { "documentation": "Reflects the percentage that revenues in the period from one or more significant customers is to net revenues, as defined by the entity, such as total net revenues, product line revenues, segment revenues. The risk is the materially adverse effects of loss of a significant customer.", "label": "Customers" } } }, "localname": "CustomerConcentrationRiskMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRiskOfConcentrationsOfCreditSignificantCustomersAndSignificantSuppliersDetails" ], "xbrltype": "domainItemType" }, "us-gaap_DebtDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Long-Term Debt" } } }, "localname": "DebtDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_DebtInstrumentAxis": { "auth_ref": [ "r17", "r18", "r19", "r86", "r88", "r198", "r199", "r200", "r201", "r202", "r203", "r204", "r205", "r206", "r207", "r208", "r209", "r210", "r211", "r212", "r213", "r214", "r216", "r217", "r218", "r219", "r345", "r374", "r375", "r384" ], "lang": { "en-us": { "role": { "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities.", "label": "Debt Instrument [Axis]" } } }, "localname": "DebtInstrumentAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureLongTermDebtDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Percentage points added to the reference rate to compute the variable rate on the debt instrument.", "label": "Debt Instrument, Basis Spread on Variable Rate", "terseLabel": "Spread on basis rate (percentage)" } } }, "localname": "DebtInstrumentBasisSpreadOnVariableRate1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureLongTermDebtDetails" ], "xbrltype": "percentItemType" }, "us-gaap_DebtInstrumentInterestRateStatedPercentage": { "auth_ref": [ "r45", "r199" ], "lang": { "en-us": { "role": { "documentation": "Contractual interest rate for funds borrowed, under the debt agreement.", "label": "Debt Instrument, Interest Rate, Stated Percentage", "terseLabel": "Fixed annual interest rate" } } }, "localname": "DebtInstrumentInterestRateStatedPercentage", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureLongTermDebtDetails" ], "xbrltype": "percentItemType" }, "us-gaap_DebtInstrumentLineItems": { "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": "Debt Instrument [Line Items]", "terseLabel": "Long-Term Debt" } } }, "localname": "DebtInstrumentLineItems", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureLongTermDebtDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DebtInstrumentMaturityDate": { "auth_ref": [ "r46", "r201", "r323" ], "lang": { "en-us": { "role": { "documentation": "Date when the debt instrument is scheduled to be fully repaid, in YYYY-MM-DD format.", "label": "Debt Instrument, Maturity Date", "terseLabel": "Maturity date" } } }, "localname": "DebtInstrumentMaturityDate", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureLongTermDebtDetails" ], "xbrltype": "dateItemType" }, "us-gaap_DebtInstrumentNameDomain": { "auth_ref": [ "r47", "r86", "r88", "r198", "r199", "r200", "r201", "r202", "r203", "r204", "r205", "r206", "r207", "r208", "r209", "r210", "r211", "r212", "r213", "r214", "r216", "r217", "r218", "r219", "r345" ], "lang": { "en-us": { "role": { "documentation": "The name for the particular debt instrument or borrowing that distinguishes it from other debt instruments or borrowings, including draws against credit facilities.", "label": "Debt Instrument, Name [Domain]" } } }, "localname": "DebtInstrumentNameDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureLongTermDebtDetails" ], "xbrltype": "domainItemType" }, "us-gaap_DebtInstrumentTable": { "auth_ref": [ "r47", "r86", "r88", "r198", "r199", "r200", "r201", "r202", "r203", "r204", "r205", "r206", "r207", "r208", "r209", "r210", "r211", "r212", "r213", "r214", "r215", "r216", "r217", "r218", "r219", "r234", "r237", "r238", "r239", "r342", "r343", "r345", "r346", "r383" ], "lang": { "en-us": { "role": { "documentation": "A table or schedule providing information pertaining to long-term debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer.", "label": "Schedule of Long-term Debt Instruments [Table]" } } }, "localname": "DebtInstrumentTable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureLongTermDebtDetails" ], "xbrltype": "stringItemType" }, "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": "Defined Contribution Plan, Employer Discretionary Contribution Amount", "terseLabel": "Employer contributions to defined contribution plan" } } }, "localname": "DefinedContributionPlanEmployerDiscretionaryContributionAmount", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Percentage of employees' gross pay for which the employer contributes a matching contribution to a defined contribution plan.", "label": "Defined Contribution Plan, Employer Matching Contribution, Percent of Employees' Gross Pay", "terseLabel": "Employer matching contribution, percentage of employees' gross pay" } } }, "localname": "DefinedContributionPlanEmployerMatchingContributionPercent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "xbrltype": "percentItemType" }, "us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Percentage employer matches of the employee's percentage contribution matched.", "label": "Defined Contribution Plan, Employer Matching Contribution, Percent of Match", "terseLabel": "Employer matching contribution, percentage of match" } } }, "localname": "DefinedContributionPlanEmployerMatchingContributionPercentOfMatch", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "xbrltype": "percentItemType" }, "us-gaap_DepreciationDepletionAndAmortization": { "auth_ref": [ "r79", "r136" ], "calculation": { "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 2.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, Depletion and Amortization", "terseLabel": "Depreciation and amortization expense" } } }, "localname": "DepreciationDepletionAndAmortization", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_DisaggregationOfRevenueLineItems": { "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": "Disaggregation of Revenue [Line Items]", "terseLabel": "Revenue Recognition" } } }, "localname": "DisaggregationOfRevenueLineItems", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDeferredRevenueDetails", "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregatedRevenueDetails", "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLicenseAndContractRevenueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisaggregationOfRevenueTable": { "auth_ref": [ "r250", "r253", "r254", "r255", "r256", "r257", "r258", "r259" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about 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]" } } }, "localname": "DisaggregationOfRevenueTable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDeferredRevenueDetails", "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregatedRevenueDetails", "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLicenseAndContractRevenueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "auth_ref": [ "r250" ], "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]", "terseLabel": "Schedule of disaggregation of revenue" } } }, "localname": "DisaggregationOfRevenueTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": { "auth_ref": [ "r292" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for share-based payment arrangement.", "label": "Share-based Payment Arrangement [Text Block]", "terseLabel": "Stock-Based Compensation" } } }, "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureStockBasedCompensation" ], "xbrltype": "textBlockItemType" }, "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Stock-Based Compensation" } } }, "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_EMEAMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Regions of Europe, Middle East and Africa.", "label": "Europe, Middle East and Africa" } } }, "localname": "EMEAMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregatedRevenueDetails", "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRiskOfConcentrationsOfCreditSignificantCustomersAndSignificantSuppliersDetails" ], "xbrltype": "domainItemType" }, "us-gaap_EarningsPerShareBasic": { "auth_ref": [ "r61", "r95", "r96", "r97", "r98", "r99", "r104", "r106", "r110", "r111", "r112", "r115", "r116", "r318", "r319", "r379", "r391" ], "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": "Earnings Per Share, Basic", "terseLabel": "Net loss per share, basic" } } }, "localname": "EarningsPerShareBasic", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLoss" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareDiluted": { "auth_ref": [ "r61", "r95", "r96", "r97", "r98", "r99", "r106", "r110", "r111", "r112", "r115", "r116", "r318", "r319", "r379", "r391" ], "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": "Earnings Per Share, Diluted", "terseLabel": "Net loss per share, diluted" } } }, "localname": "EarningsPerShareDiluted", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLoss" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerSharePolicyTextBlock": { "auth_ref": [ "r113", "r114" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements.", "label": "Earnings Per Share, Policy [Policy Text Block]", "terseLabel": "Net Income (Loss) per Share" } } }, "localname": "EarningsPerSharePolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_EmployeeRelatedLiabilitiesCurrent": { "auth_ref": [ "r43" ], "calculation": { "http://www.908devices.com/role/DisclosureAccruedExpensesDetails": { "order": 4.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "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": "Employee-related Liabilities, Current", "terseLabel": "Accrued employee compensation and benefits" } } }, "localname": "EmployeeRelatedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureAccruedExpensesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems": { "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": "Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]", "terseLabel": "Stock-Based Compensation" } } }, "localname": "EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails" ], "xbrltype": "stringItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": { "auth_ref": [ "r282" ], "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": "Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition", "terseLabel": "Weighted average period for recognition of stock-based compensation expense" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails" ], "xbrltype": "durationItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions": { "auth_ref": [ "r282" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cost to be recognized for option under share-based payment arrangement.", "label": "Share-based Payment Arrangement, Nonvested Award, Option, Cost Not yet Recognized, Amount", "terseLabel": "Remaining unrecognized stock-based compensation expense" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_EquityComponentDomain": { "auth_ref": [ "r0", "r56", "r57", "r58", "r90", "r91", "r92", "r94", "r100", "r102", "r117", "r164", "r233", "r240", "r285", "r286", "r287", "r294", "r295", "r317", "r334", "r335", "r336", "r337", "r338", "r339", "r398", "r399", "r400", "r428" ], "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.908devices.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems": { "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": "Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]", "terseLabel": "Fair Value Measurements" } } }, "localname": "FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByBalanceSheetGroupingTable": { "auth_ref": [ "r320", "r327", "r328" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about the fair value of financial instruments, including financial assets and financial liabilities, and the measurements of those instruments, assets, and liabilities.", "label": "Fair Value, by Balance Sheet Grouping [Table]" } } }, "localname": "FairValueByBalanceSheetGroupingTable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByBalanceSheetGroupingTextBlock": { "auth_ref": [ "r320", "r327" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the fair value of financial instruments, including financial assets and financial liabilities, and the measurements of those instruments, assets, and liabilities.", "label": "Fair Value, by Balance Sheet Grouping [Table Text Block]", "terseLabel": "Schedule of assets and liabilities that are measured at fair value on a recurring basis" } } }, "localname": "FairValueByBalanceSheetGroupingTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureFairValueMeasurementsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "auth_ref": [ "r207", "r216", "r217", "r261", "r262", "r263", "r264", "r265", "r266", "r267", "r268", "r321", "r360", "r361", "r362" ], "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.908devices.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByMeasurementFrequencyAxis": { "auth_ref": [ "r320", "r321", "r322", "r323", "r326" ], "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.908devices.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueDisclosuresAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Fair Value Measurements" } } }, "localname": "FairValueDisclosuresAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_FairValueDisclosuresTextBlock": { "auth_ref": [ "r325" ], "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]", "terseLabel": "Fair Value Measurements" } } }, "localname": "FairValueDisclosuresTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureFairValueMeasurements" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueInputsLevel1Member": { "auth_ref": [ "r207", "r261", "r262", "r267", "r268", "r321", "r360" ], "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": "Level 1" } } }, "localname": "FairValueInputsLevel1Member", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureFairValueMeasurementsDetails" ], "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.908devices.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementPolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for fair value measurements of financial and non-financial assets, liabilities and instruments classified in shareholders' equity. Disclosures include, but are not limited to, how an entity that manages a group of financial assets and liabilities on the basis of its net exposure measures the fair value of those assets and liabilities.", "label": "Fair Value Measurement, Policy [Policy Text Block]", "terseLabel": "Fair Value Measurements" } } }, "localname": "FairValueMeasurementPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersIntoLevel3": { "auth_ref": [ "r324" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of transfers of financial instrument classified as a liability into level 3 of the fair value hierarchy.", "label": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Liability, Transfers Into Level 3", "terseLabel": "Amount of liability transferred into level 3" } } }, "localname": "FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersIntoLevel3", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersOutOfLevel3": { "auth_ref": [ "r324" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of transfers of financial instrument classified as a liability out of level 3 of the fair value hierarchy.", "label": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Liability, Transfers out of Level 3", "terseLabel": "Amount of liability transferred out of level 3" } } }, "localname": "FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersOutOfLevel3", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3": { "auth_ref": [ "r324" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of transfer of financial instrument classified as an asset into level 3 of the fair value hierarchy.", "label": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Asset Transfers Into Level 3", "terseLabel": "Amount of asset transferred into level 3" } } }, "localname": "FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3": { "auth_ref": [ "r324" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of transfers of financial instrument classified as an asset out of level 3 of the fair value hierarchy.", "label": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Asset, Transfers out of Level 3", "terseLabel": "Amount of asset transferred out of level 3" } } }, "localname": "FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": { "auth_ref": [ "r207", "r216", "r217", "r261", "r262", "r263", "r264", "r265", "r266", "r267", "r268", "r360", "r361", "r362" ], "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.908devices.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementsRecurringMember": { "auth_ref": [ "r325", "r326" ], "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": "Recurring" } } }, "localname": "FairValueMeasurementsRecurringMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FinancingReceivablesEqualToGreaterThan90DaysPastDueMember": { "auth_ref": [ "r168" ], "lang": { "en-us": { "role": { "documentation": "Financial asset equal to or greater than 90 days past due.", "label": "Equal to or greater than 90 days past due" } } }, "localname": "FinancingReceivablesEqualToGreaterThan90DaysPastDueMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRiskOfConcentrationsOfCreditSignificantCustomersAndSignificantSuppliersDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FinancingReceivablesPeriodPastDueAxis": { "auth_ref": [ "r160", "r167", "r168" ], "lang": { "en-us": { "role": { "documentation": "Information by period in which financial asset is past due or not past due.", "label": "Financial Asset, Period Past Due [Axis]" } } }, "localname": "FinancingReceivablesPeriodPastDueAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRiskOfConcentrationsOfCreditSignificantCustomersAndSignificantSuppliersDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FinancingReceivablesPeriodPastDueDomain": { "auth_ref": [ "r160", "r167", "r168" ], "lang": { "en-us": { "role": { "documentation": "Period in which financial asset is past due or not past due. For past due, element name and standard label in Financial Asset, [numeric lower end] to [numeric higher end] [date measure] Past Due [Member] or Financial Asset, Greater than [low end numeric value] [date measure] Past Due [Member] or Financial Asset, Less than [high end numeric value] [date measure] Past Due [Member] formats.", "label": "Financial Asset, Period Past Due [Domain]" } } }, "localname": "FinancingReceivablesPeriodPastDueDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRiskOfConcentrationsOfCreditSignificantCustomersAndSignificantSuppliersDetails" ], "xbrltype": "domainItemType" }, "us-gaap_GainsLossesOnExtinguishmentOfDebt": { "auth_ref": [ "r79", "r220", "r221" ], "calculation": { "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 5.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Difference between the fair value of payments made and the carrying amount of debt which is extinguished prior to maturity.", "label": "Gain (Loss) on Extinguishment of Debt", "negatedLabel": "Noncash interest expense and loss on extinguishment of debt", "verboseLabel": "Loss on extinguishment" } } }, "localname": "GainsLossesOnExtinguishmentOfDebt", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureLongTermDebtDetails", "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_GeneralDiscussionOfPensionAndOtherPostretirementBenefitsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Retirement Benefits, Description [Abstract]", "terseLabel": "401(k) Savings Plan" } } }, "localname": "GeneralDiscussionOfPensionAndOtherPostretirementBenefitsAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_GrossProfit": { "auth_ref": [ "r63", "r87", "r137", "r139", "r142", "r145", "r147", "r163", "r187", "r188", "r189", "r191", "r192", "r193", "r194", "r195", "r196", "r197", "r332" ], "calculation": { "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLoss": { "order": 1.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": "Gross Profit", "totalLabel": "Gross profit" } } }, "localname": "GrossProfit", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLoss" ], "xbrltype": "monetaryItemType" }, "us-gaap_IPOMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "First sale of stock by a private company to the public.", "label": "IPO" } } }, "localname": "IPOMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureNatureOfBusinessAndBasisOfPresentationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeStatementAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE LOSS" } } }, "localname": "IncomeStatementAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationAxis": { "auth_ref": [ "r173", "r174" ], "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.908devices.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationDomain": { "auth_ref": [ "r174" ], "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.908devices.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities": { "auth_ref": [ "r78" ], "calculation": { "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 11.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the amounts payable to vendors for goods and services received and the amount of obligations and expenses incurred but not paid.", "label": "Increase (Decrease) in Accounts Payable and Accrued Liabilities", "terseLabel": "Accounts payable and accrued expenses" } } }, "localname": "IncreaseDecreaseInAccountsPayableAndAccruedLiabilities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "auth_ref": [ "r78" ], "calculation": { "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 7.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": "Increase (Decrease) in Accounts Receivable", "negatedLabel": "Accounts receivable, net" } } }, "localname": "IncreaseDecreaseInAccountsReceivable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": { "auth_ref": [ "r78", "r370" ], "calculation": { "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 12.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable.", "label": "Increase (Decrease) in Contract with Customer, Liability", "terseLabel": "Deferred revenue" } } }, "localname": "IncreaseDecreaseInContractWithCustomerLiability", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInInventories": { "auth_ref": [ "r78" ], "calculation": { "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 8.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": "Increase (Decrease) in Inventories", "negatedLabel": "Inventory" } } }, "localname": "IncreaseDecreaseInInventories", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Operating Capital [Abstract]", "terseLabel": "Changes in operating assets and liabilities:" } } }, "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_IncreaseDecreaseInOperatingLeaseLiability": { "auth_ref": [ "r78", "r351" ], "calculation": { "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 14.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in obligation for operating lease.", "label": "Increase (Decrease) in Operating Lease Liability", "terseLabel": "Operating lease liabilities" } } }, "localname": "IncreaseDecreaseInOperatingLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOtherNoncurrentAssets": { "auth_ref": [ "r78" ], "calculation": { "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 10.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in noncurrent assets classified as other.", "label": "Increase (Decrease) in Other Noncurrent Assets", "negatedLabel": "Other long-term assets" } } }, "localname": "IncreaseDecreaseInOtherNoncurrentAssets", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": { "auth_ref": [ "r78" ], "calculation": { "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 9.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": "Increase (Decrease) in Prepaid Expense and Other Assets", "negatedLabel": "Prepaid expenses and other current assets" } } }, "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Increase (Decrease) in Stockholders' Equity [Roll Forward]", "terseLabel": "Increase (Decrease) in Stockholders' Equity" } } }, "localname": "IncreaseDecreaseInStockholdersEquityRollForward", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_InterestExpense": { "auth_ref": [ "r59", "r135", "r341", "r344", "r380" ], "calculation": { "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLoss": { "order": 1.0, "parentTag": "us-gaap_NonoperatingIncomeExpense", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of the cost of borrowed funds accounted for as interest expense.", "label": "Interest Expense", "negatedLabel": "Interest expense" } } }, "localname": "InterestExpense", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLoss" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Inventory" } } }, "localname": "InventoryDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_InventoryDisclosureTextBlock": { "auth_ref": [ "r171" ], "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]", "terseLabel": "Inventory" } } }, "localname": "InventoryDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureInventory" ], "xbrltype": "textBlockItemType" }, "us-gaap_InventoryFinishedGoodsNetOfReserves": { "auth_ref": [ "r30", "r170" ], "calculation": { "http://www.908devices.com/role/DisclosureInventoryDetails": { "order": 1.0, "parentTag": "us-gaap_InventoryNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of merchandise or goods held by the company that are readily available for sale.", "label": "Inventory, Finished Goods, Net of Reserves", "terseLabel": "Finished goods" } } }, "localname": "InventoryFinishedGoodsNetOfReserves", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureInventoryDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryNet": { "auth_ref": [ "r4", "r52", "r355" ], "calculation": { "http://www.908devices.com/role/DisclosureInventoryDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "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, Net", "terseLabel": "Inventory", "totalLabel": "Total" } } }, "localname": "InventoryNet", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureInventoryDetails", "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryRawMaterialsNetOfReserves": { "auth_ref": [ "r32", "r170" ], "calculation": { "http://www.908devices.com/role/DisclosureInventoryDetails": { "order": 3.0, "parentTag": "us-gaap_InventoryNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of unprocessed items to be consumed in the manufacturing or production process.", "label": "Inventory, Raw Materials, Net of Reserves", "terseLabel": "Raw materials" } } }, "localname": "InventoryRawMaterialsNetOfReserves", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureInventoryDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryWorkInProcessNetOfReserves": { "auth_ref": [ "r31", "r170" ], "calculation": { "http://www.908devices.com/role/DisclosureInventoryDetails": { "order": 2.0, "parentTag": "us-gaap_InventoryNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Carrying amount, net of reserves and adjustments, as of the balance sheet date of merchandise or goods which are partially completed. This inventory is generally comprised of raw materials, labor and factory overhead costs, which require further materials, labor and overhead to be converted into finished goods, and which generally require the use of estimates to determine percentage complete and pricing.", "label": "Inventory, Work in Process, Net of Reserves", "terseLabel": "Work-in-progress" } } }, "localname": "InventoryWorkInProcessNetOfReserves", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureInventoryDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryWriteDown": { "auth_ref": [ "r169" ], "calculation": { "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 6.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of loss from reductions in inventory due to subsequent measurement adjustments, including, but not limited to, physical deterioration, obsolescence, or changes in price levels.", "label": "Inventory Write-down", "terseLabel": "Provision for inventory obsolescence" } } }, "localname": "InventoryWriteDown", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseDescriptionAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Description [Abstract]", "terseLabel": "Operating Leases" } } }, "localname": "LesseeOperatingLeaseDescriptionAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LesseeOperatingLeaseTermOfContract": { "auth_ref": [ "r349" ], "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": "Lessee, Operating Lease, Term of Contract", "terseLabel": "Lease term" } } }, "localname": "LesseeOperatingLeaseTermOfContract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "xbrltype": "durationItemType" }, "us-gaap_Liabilities": { "auth_ref": [ "r42", "r87", "r141", "r163", "r187", "r188", "r189", "r191", "r192", "r193", "r194", "r195", "r196", "r197", "r309", "r312", "r313", "r332", "r353", "r354" ], "calculation": { "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheets": { "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": "Liabilities", "totalLabel": "Total liabilities" } } }, "localname": "Liabilities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquity": { "auth_ref": [ "r28", "r87", "r163", "r332", "r355", "r376", "r387" ], "calculation": { "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheets": { "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": "Liabilities and Equity", "totalLabel": "Total liabilities and stockholders' equity" } } }, "localname": "LiabilitiesAndStockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Liabilities and Equity [Abstract]", "terseLabel": "Liabilities and Stockholders' Equity" } } }, "localname": "LiabilitiesAndStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_LiabilitiesCurrent": { "auth_ref": [ "r44", "r87", "r163", "r187", "r188", "r189", "r191", "r192", "r193", "r194", "r195", "r196", "r197", "r309", "r312", "r313", "r332", "r353", "r354", "r355" ], "calculation": { "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 1.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": "Liabilities, Current", "totalLabel": "Total current liabilities" } } }, "localname": "LiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Liabilities, Current [Abstract]", "terseLabel": "Current liabilities:" } } }, "localname": "LiabilitiesCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_LineOfCredit": { "auth_ref": [ "r19", "r375", "r384" ], "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": "Long-term Line of Credit", "terseLabel": "Line of credit outstanding" } } }, "localname": "LineOfCredit", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureLongTermDebtDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": { "auth_ref": [ "r41" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.", "label": "Line of Credit Facility, Maximum Borrowing Capacity", "terseLabel": "Loan capacity" } } }, "localname": "LineOfCreditFacilityMaximumBorrowingCapacity", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureLongTermDebtDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongTermDebtNoncurrent": { "auth_ref": [ "r47" ], "calculation": { "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after unamortized (discount) premium and debt issuance costs of long-term debt classified as noncurrent and excluding amounts to be repaid within one year or the normal operating cycle, if longer. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.", "label": "Long-term Debt, Excluding Current Maturities", "terseLabel": "Long-term debt" } } }, "localname": "LongTermDebtNoncurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongTermDebtTextBlock": { "auth_ref": [ "r222" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for long-term debt.", "label": "Long-term Debt [Text Block]", "terseLabel": "Long-Term Debt" } } }, "localname": "LongTermDebtTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureLongTermDebt" ], "xbrltype": "textBlockItemType" }, "us-gaap_MoneyMarketFundsMember": { "auth_ref": [ "r261" ], "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" } } }, "localname": "MoneyMarketFundsMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "auth_ref": [ "r76" ], "calculation": { "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 1.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": "Net Cash Provided by (Used in) Financing Activities", "totalLabel": "Net cash provided by (used in) financing activities" } } }, "localname": "NetCashProvidedByUsedInFinancingActivities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]", "terseLabel": "Cash flows from financing activities:" } } }, "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "auth_ref": [ "r76" ], "calculation": { "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 2.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": "Net Cash Provided by (Used in) Investing Activities", "totalLabel": "Net cash used in investing activities" } } }, "localname": "NetCashProvidedByUsedInInvestingActivities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]", "terseLabel": "Cash flows from investing activities:" } } }, "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "auth_ref": [ "r76", "r77", "r80" ], "calculation": { "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 3.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": "Net Cash Provided by (Used in) Operating Activities", "totalLabel": "Net cash used in operating activities" } } }, "localname": "NetCashProvidedByUsedInOperatingActivities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]", "terseLabel": "Cash flows from operating activities:" } } }, "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetIncomeLoss": { "auth_ref": [ "r1", "r54", "r55", "r58", "r60", "r80", "r87", "r93", "r95", "r96", "r97", "r98", "r101", "r102", "r109", "r137", "r139", "r142", "r145", "r147", "r163", "r187", "r188", "r189", "r191", "r192", "r193", "r194", "r195", "r196", "r197", "r319", "r332", "r378", "r390" ], "calculation": { "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLoss": { "order": null, "parentTag": null, "root": true, "weight": null } }, "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 (Loss) Attributable to Parent", "terseLabel": "Net loss", "totalLabel": "Net loss and comprehensive loss" } } }, "localname": "NetIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureNatureOfBusinessAndBasisOfPresentationDetails", "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLoss", "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "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]", "terseLabel": "Recently Issued Accounting Pronouncements" } } }, "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_NoncashInvestingAndFinancingItemsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Noncash Investing and Financing Items [Abstract]", "terseLabel": "Supplemental disclosure of noncash investing and financing information:" } } }, "localname": "NoncashInvestingAndFinancingItemsAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NonoperatingIncomeExpense": { "auth_ref": [ "r66" ], "calculation": { "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLoss": { "order": 2.0, "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business).", "label": "Nonoperating Income (Expense)", "totalLabel": "Total other income (expense), net" } } }, "localname": "NonoperatingIncomeExpense", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLoss" ], "xbrltype": "monetaryItemType" }, "us-gaap_NonoperatingIncomeExpenseAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Nonoperating Income (Expense) [Abstract]", "terseLabel": "Other income (expense):" } } }, "localname": "NonoperatingIncomeExpenseAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLoss" ], "xbrltype": "stringItemType" }, "us-gaap_OperatingExpenses": { "auth_ref": [], "calculation": { "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLoss": { "order": 2.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": "Operating Expenses", "totalLabel": "Total operating expenses" } } }, "localname": "OperatingExpenses", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLoss" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingExpensesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Operating Expenses [Abstract]", "terseLabel": "Operating expenses:" } } }, "localname": "OperatingExpensesAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLoss" ], "xbrltype": "stringItemType" }, "us-gaap_OperatingIncomeLoss": { "auth_ref": [ "r137", "r139", "r142", "r145", "r147" ], "calculation": { "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLoss": { "order": 1.0, "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The net result for the period of deducting operating expenses from operating revenues.", "label": "Operating Income (Loss)", "totalLabel": "Loss from operations" } } }, "localname": "OperatingIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLoss" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseCost": { "auth_ref": [ "r350", "r352" ], "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", "terseLabel": "Operating lease cost" } } }, "localname": "OperatingLeaseCost", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityCurrent": { "auth_ref": [ "r348" ], "calculation": { "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_LiabilitiesCurrent", "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": "Operating Lease, Liability, Current", "terseLabel": "Operating lease liabilities" } } }, "localname": "OperatingLeaseLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "auth_ref": [ "r348" ], "calculation": { "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_Liabilities", "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": "Operating Lease, Liability, Noncurrent", "terseLabel": "Operating lease liabilities, net of current portion" } } }, "localname": "OperatingLeaseLiabilityNoncurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseRightOfUseAsset": { "auth_ref": [ "r347" ], "calculation": { "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 2.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, Right-of-Use Asset", "terseLabel": "Operating lease, right-of-use assets" } } }, "localname": "OperatingLeaseRightOfUseAsset", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Nature of the Business and Basis of Presentation" } } }, "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock": { "auth_ref": [ "r2", "r316" ], "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]", "terseLabel": "Nature of the Business and Basis of Presentation" } } }, "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureNatureOfBusinessAndBasisOfPresentation" ], "xbrltype": "textBlockItemType" }, "us-gaap_OtherAccruedLiabilitiesCurrent": { "auth_ref": [ "r9", "r10", "r11", "r43" ], "calculation": { "http://www.908devices.com/role/DisclosureAccruedExpensesDetails": { "order": 1.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer.", "label": "Other Accrued Liabilities, Current", "terseLabel": "Accrued other" } } }, "localname": "OtherAccruedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureAccruedExpensesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherAssetsNoncurrent": { "auth_ref": [ "r39" ], "calculation": { "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheets": { "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 Assets, Noncurrent", "terseLabel": "Other long-term assets" } } }, "localname": "OtherAssetsNoncurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherNonoperatingIncomeExpense": { "auth_ref": [ "r67" ], "calculation": { "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLoss": { "order": 2.0, "parentTag": "us-gaap_NonoperatingIncomeExpense", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of income (expense) related to nonoperating activities, classified as other.", "label": "Other Nonoperating Income (Expense)", "terseLabel": "Other income, net" } } }, "localname": "OtherNonoperatingIncomeExpense", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLoss" ], "xbrltype": "monetaryItemType" }, "us-gaap_OverAllotmentOptionMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Right given to the underwriter to sell additional shares over the initial allotment.", "label": "Underwriters' option" } } }, "localname": "OverAllotmentOptionMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureNatureOfBusinessAndBasisOfPresentationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PaymentsOfDebtIssuanceCosts": { "auth_ref": [ "r73" ], "calculation": { "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 7.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow paid to third parties in connection with debt origination, which will be amortized over the remaining maturity period of the associated long-term debt.", "label": "Payments of Debt Issuance Costs", "negatedLabel": "Payments of debt issuance costs" } } }, "localname": "PaymentsOfDebtIssuanceCosts", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsOfStockIssuanceCosts": { "auth_ref": [ "r74" ], "calculation": { "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow for cost incurred directly with the issuance of an equity security.", "label": "Payments of Stock Issuance Costs", "negatedLabel": "Payments of public offering costs" } } }, "localname": "PaymentsOfStockIssuanceCosts", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireBusinessesGross": { "auth_ref": [ "r68", "r305" ], "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": "Payments to Acquire Businesses, Gross", "terseLabel": "Initial cash payment plus" } } }, "localname": "PaymentsToAcquireBusinessesGross", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSubsequentEventsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "auth_ref": [ "r69" ], "calculation": { "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 1.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": "Payments to Acquire Property, Plant, and Equipment", "negatedLabel": "Purchases of property and equipment" } } }, "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PreferredStockParOrStatedValuePerShare": { "auth_ref": [ "r21", "r226" ], "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 or Stated Value Per Share", "terseLabel": "Preferred stock, par value" } } }, "localname": "PreferredStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "perShareItemType" }, "us-gaap_PreferredStockSharesAuthorized": { "auth_ref": [ "r21" ], "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", "terseLabel": "Preferred stock, shares authorized" } } }, "localname": "PreferredStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureEquityAndNetIncomeLossPerShareDetails", "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockSharesIssued": { "auth_ref": [ "r21", "r226" ], "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", "terseLabel": "Preferred stock, shares issued" } } }, "localname": "PreferredStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockSharesOutstanding": { "auth_ref": [ "r21" ], "lang": { "en-us": { "role": { "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.", "label": "Preferred Stock, Shares Outstanding", "terseLabel": "Preferred stock, shares outstanding" } } }, "localname": "PreferredStockSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockValue": { "auth_ref": [ "r21", "r355" ], "calculation": { "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 1.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, Value, Issued", "verboseLabel": "Preferred stock, $0.001 par value; 5,000,000 shares authorized, no shares issued or outstanding at June 30, 2022 and December 31, 2021, respectively" } } }, "localname": "PreferredStockValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "auth_ref": [ "r6", "r36", "r37" ], "calculation": { "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheets": { "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 Expense and Other Assets, Current", "terseLabel": "Prepaid expenses and other current assets" } } }, "localname": "PrepaidExpenseAndOtherAssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_PrimeRateMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Interest rate charged by financial institutions to their most creditworthy borrowers.", "label": "Prime rate" } } }, "localname": "PrimeRateMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureLongTermDebtDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ProceedsFromIssuanceInitialPublicOffering": { "auth_ref": [ "r70" ], "calculation": { "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The cash inflow associated with the amount received from entity's first offering of stock to the public.", "label": "Proceeds from Issuance Initial Public Offering", "verboseLabel": "Proceeds from public offerings, net of underwriting discounts and commissions" } } }, "localname": "ProceedsFromIssuanceInitialPublicOffering", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureNatureOfBusinessAndBasisOfPresentationDetails", "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromLongTermLinesOfCredit": { "auth_ref": [ "r71" ], "calculation": { "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 6.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The cash inflow from a contractual arrangement with the lender, including letter of credit, standby letter of credit and revolving credit arrangements, under which borrowings can be made up to a specific amount at any point in time with maturities due beyond one year or the operating cycle, if longer.", "label": "Proceeds from Long-term Lines of Credit", "terseLabel": "Proceeds from borrowings on revolving line of credit" } } }, "localname": "ProceedsFromLongTermLinesOfCredit", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureLongTermDebtDetails", "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromStockOptionsExercised": { "auth_ref": [ "r70", "r284" ], "calculation": { "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow from exercise of option under share-based payment arrangement.", "label": "Proceeds from Stock Options Exercised", "terseLabel": "Proceeds from issuance of common stock upon option exercise" } } }, "localname": "ProceedsFromStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProductMember": { "auth_ref": [ "r253" ], "lang": { "en-us": { "role": { "documentation": "Article or substance produced by nature, labor or machinery.", "label": "Device sales" } } }, "localname": "ProductMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregatedRevenueDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ProductWarrantiesDisclosuresAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Product Warranties Disclosures [Abstract]", "terseLabel": "Changes in product warranty obligation" } } }, "localname": "ProductWarrantiesDisclosuresAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureAccruedExpensesChangesInProductWarrantyObligationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ProductWarrantyAccrualClassifiedCurrent": { "auth_ref": [ "r43", "r181", "r182" ], "calculation": { "http://www.908devices.com/role/DisclosureAccruedExpensesDetails": { "order": 3.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for estimated claims under standard and extended warranty protection rights granted to customers. For classified balance sheets, represents the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Product Warranty Accrual, Current", "terseLabel": "Accrued warranty" } } }, "localname": "ProductWarrantyAccrualClassifiedCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureAccruedExpensesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProfitLoss": { "auth_ref": [ "r1", "r54", "r55", "r58", "r75", "r87", "r93", "r101", "r102", "r137", "r139", "r142", "r145", "r147", "r163", "r187", "r188", "r189", "r191", "r192", "r193", "r194", "r195", "r196", "r197", "r307", "r310", "r311", "r314", "r315", "r319", "r332", "r381" ], "calculation": { "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.", "label": "Net Income (Loss), Including Portion Attributable to Noncontrolling Interest", "terseLabel": "Net loss" } } }, "localname": "ProfitLoss", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentNet": { "auth_ref": [ "r14", "r15", "r172", "r355", "r382", "r388" ], "calculation": { "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "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, Plant and Equipment, Net", "terseLabel": "Property and equipment, net" } } }, "localname": "PropertyPlantAndEquipmentNet", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProvisionForDoubtfulAccounts": { "auth_ref": [ "r62", "r166" ], "calculation": { "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable.", "label": "Accounts Receivable, Credit Loss Expense (Reversal)", "terseLabel": "Provision for doubtful accounts" } } }, "localname": "ProvisionForDoubtfulAccounts", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAccountsReceivableDetails", "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_RepaymentsOfLongTermDebt": { "auth_ref": [ "r72" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow for debt initially having maturity due after one year or beyond the normal operating cycle, if longer.", "label": "Repayments of Long-term Debt", "verboseLabel": "Repayment of loan" } } }, "localname": "RepaymentsOfLongTermDebt", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureLongTermDebtDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RepaymentsOfUnsecuredDebt": { "auth_ref": [ "r72" ], "calculation": { "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 5.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow to repay long-term debt that is not secured by collateral. Excludes repayments of tax exempt unsecured debt.", "label": "Repayments of Unsecured Debt", "negatedLabel": "Repayment of notes payable" } } }, "localname": "RepaymentsOfUnsecuredDebt", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ResearchAndDevelopmentExpense": { "auth_ref": [ "r293", "r371", "r419" ], "calculation": { "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLoss": { "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 Expense", "terseLabel": "Research and development" } } }, "localname": "ResearchAndDevelopmentExpense", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLoss" ], "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 expenses" } } }, "localname": "ResearchAndDevelopmentExpenseMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "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.908devices.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RestrictedCashCurrent": { "auth_ref": [ "r3", "r13", "r82" ], "calculation": { "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsParenthetical": { "order": 1.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash restricted as to withdrawal or usage, classified as current. 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.", "label": "Restricted Cash, Current", "terseLabel": "Restricted cash included in prepaid expenses and other current assets" } } }, "localname": "RestrictedCashCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsParenthetical" ], "xbrltype": "monetaryItemType" }, "us-gaap_RestrictedCashNoncurrent": { "auth_ref": [ "r8", "r16", "r82", "r405" ], "calculation": { "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsParenthetical": { "order": 2.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash restricted as to withdrawal or usage, classified as noncurrent. 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.", "label": "Restricted Cash, Noncurrent", "terseLabel": "Restricted cash included in other long-term assets" } } }, "localname": "RestrictedCashNoncurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsParenthetical" ], "xbrltype": "monetaryItemType" }, "us-gaap_RestrictedStockUnitsRSUMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share instrument which is convertible to stock or an equivalent amount of cash, after a specified period of time or when specified performance conditions are met.", "label": "Restricted stock units", "terseLabel": "Restricted stock units" } } }, "localname": "RestrictedStockUnitsRSUMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureEquityAndNetIncomeLossPerShareAntiDilutiveSecuritiesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "auth_ref": [ "r25", "r240", "r288", "r355", "r386", "r401", "r402" ], "calculation": { "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 4.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 (Accumulated Deficit)", "terseLabel": "Accumulated deficit" } } }, "localname": "RetainedEarningsAccumulatedDeficit", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureNatureOfBusinessAndBasisOfPresentationDetails", "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_RetainedEarningsMember": { "auth_ref": [ "r0", "r90", "r91", "r92", "r94", "r100", "r102", "r164", "r285", "r286", "r287", "r294", "r295", "r317", "r398", "r400" ], "lang": { "en-us": { "role": { "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.", "label": "Accumulated Deficit" } } }, "localname": "RetainedEarningsMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": { "auth_ref": [ "r133", "r134", "r138", "r143", "r144", "r148", "r149", "r151", "r249", "r250", "r372" ], "calculation": { "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLoss": { "order": 1.0, "parentTag": "us-gaap_GrossProfit", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, excluding 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 from Contract with Customer, Excluding Assessed Tax", "terseLabel": "Revenue" } } }, "localname": "RevenueFromContractWithCustomerExcludingAssessedTax", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregatedRevenueDetails", "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLoss" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevenueFromContractWithCustomerMember": { "auth_ref": [ "r127", "r151" ], "lang": { "en-us": { "role": { "documentation": "Revenue from satisfaction of performance obligation by transferring promised product and service to customer, when it serves as benchmark in concentration of risk calculation.", "label": "Revenue" } } }, "localname": "RevenueFromContractWithCustomerMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRiskOfConcentrationsOfCreditSignificantCustomersAndSignificantSuppliersDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RevenueRecognitionPolicyTextBlock": { "auth_ref": [ "r83", "r84" ], "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]", "terseLabel": "Revenue Recognition" } } }, "localname": "RevenueRecognitionPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_RevenueRemainingPerformanceObligation": { "auth_ref": [ "r247" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue.", "label": "Revenue, Remaining Performance Obligation, Amount", "terseLabel": "Remaining performance obligation amount" } } }, "localname": "RevenueRemainingPerformanceObligation", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDeferredRevenueExpectedToBeRecognizedDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems": { "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": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]", "terseLabel": "Revenue Recognition" } } }, "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDeferredRevenueExpectedToBeRecognizedDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1": { "auth_ref": [ "r248" ], "lang": { "en-us": { "role": { "documentation": "Period in which remaining performance obligation is expected to be recognized as revenue, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period", "terseLabel": "Period in which remaining performance obligation is expected to be recognized as revenue" } } }, "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDeferredRevenueExpectedToBeRecognizedDetails" ], "xbrltype": "durationItemType" }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis": { "auth_ref": [ "r248" ], "lang": { "en-us": { "role": { "documentation": "Start date of time band for expected timing of satisfaction of remaining performance obligation, in YYYY-MM-DD format.", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]" } } }, "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDeferredRevenueExpectedToBeRecognizedDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about expected timing for satisfying remaining performance obligation.", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]" } } }, "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDeferredRevenueExpectedToBeRecognizedDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock": { "auth_ref": [ "r248" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of expected timing for satisfying remaining performance obligation.", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table Text Block]", "terseLabel": "Schedule of deferred revenue amounts expected to be recognized in the future" } } }, "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_SaleOfStockNameOfTransactionDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Sale of the entity's stock, including, but not limited to, initial public offering (IPO) and private placement.", "label": "Sale of Stock [Domain]" } } }, "localname": "SaleOfStockNameOfTransactionDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureNatureOfBusinessAndBasisOfPresentationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SalesRevenueNetMember": { "auth_ref": [ "r127", "r151" ], "lang": { "en-us": { "role": { "documentation": "Revenue from sale of product and rendering of service and other sources of income, when it serves as benchmark in concentration of risk calculation.", "label": "Revenue Benchmark" } } }, "localname": "SalesRevenueNetMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRiskOfConcentrationsOfCreditSignificantCustomersAndSignificantSuppliersDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the components of accrued liabilities.", "label": "Schedule of Accrued Liabilities [Table Text Block]", "terseLabel": "Schedule of accrued expenses" } } }, "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureAccruedExpensesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable": { "auth_ref": [ "r113" ], "lang": { "en-us": { "role": { "documentation": "Schedule for securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by Antidilutive Securities.", "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]" } } }, "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureEquityAndNetIncomeLossPerShareAntiDilutiveSecuritiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock": { "auth_ref": [ "r113" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by antidilutive securities.", "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block]", "terseLabel": "Schedule of anti-dilutive securities excluded from the computation of diluted net loss per share attributable to common stockholders" } } }, "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureEquityAndNetIncomeLossPerShareTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable": { "auth_ref": [ "r276", "r280", "r289" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about amount recognized for award under share-based payment arrangement. Includes, but is not limited to, amount expensed in statement of income or comprehensive income, amount capitalized in statement of financial position, and corresponding reporting line item in financial statements.", "label": "Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table]" } } }, "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock": { "auth_ref": [ "r276", "r280", "r289" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of allocation of amount expensed and capitalized for award under share-based payment arrangement to statement of income or comprehensive income and statement of financial position. Includes, but is not limited to, corresponding line item in financial statement.", "label": "Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]", "terseLabel": "Schedule of stock-based compensation expense" } } }, "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureStockBasedCompensationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": { "auth_ref": [ "r12", "r33", "r34", "r35" ], "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]", "terseLabel": "Schedule of inventory" } } }, "localname": "ScheduleOfInventoryCurrentTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureInventoryTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock": { "auth_ref": [ "r186" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the changes in the guarantor's aggregate product warranty liability, including the beginning balance of the aggregate product warranty liability, the aggregate reductions in that liability for payments made (in cash or in kind) under the warranty, the aggregate changes in the liability for accruals related to product warranties issued during the reporting period, the aggregate changes in the liability for accruals related to preexisting warranties (including adjustments related to changes in estimates), and the ending balance of the aggregate product warranty liability.", "label": "Schedule of Product Warranty Liability [Table Text Block]", "terseLabel": "Schedule of changes in product warranty obligation" } } }, "localname": "ScheduleOfProductWarrantyLiabilityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureAccruedExpensesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfStockByClassTable": { "auth_ref": [ "r49", "r85", "r118", "r119", "r223", "r224", "r225", "r226", "r227", "r228", "r229", "r230", "r231", "r232", "r234", "r235", "r236", "r237", "r238", "r239", "r240" ], "lang": { "en-us": { "role": { "documentation": "Schedule detailing information related to equity by class of stock. Class of stock includes common, convertible, and preferred stocks which are not redeemable or redeemable solely at the option of the issuer. It also includes preferred stock with redemption features that are solely within the control of the issuer and mandatorily redeemable stock if redemption is required to occur only upon liquidation or termination of the reporting entity.", "label": "Schedule of Stock by Class [Table]" } } }, "localname": "ScheduleOfStockByClassTable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureNatureOfBusinessAndBasisOfPresentationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SellingGeneralAndAdministrativeExpense": { "auth_ref": [ "r65" ], "calculation": { "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLoss": { "order": 2.0, "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc.", "label": "Selling, General and Administrative Expense", "terseLabel": "Selling, general and administrative" } } }, "localname": "SellingGeneralAndAdministrativeExpense", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLoss" ], "xbrltype": "monetaryItemType" }, "us-gaap_SellingGeneralAndAdministrativeExpensesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing selling, general and administrative expense.", "label": "Selling, general and administrative expenses" } } }, "localname": "SellingGeneralAndAdministrativeExpensesMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ServiceMember": { "auth_ref": [ "r253" ], "lang": { "en-us": { "role": { "documentation": "Assistance, including, but not limited to, technology, license and maintenance, license and service, maintenance, oil and gas, and financial service.", "label": "Consumables and service" } } }, "localname": "ServiceMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregatedRevenueDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedCompensation": { "auth_ref": [ "r78" ], "calculation": { "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 3.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": "Share-based Payment Arrangement, Noncash Expense", "terseLabel": "Stock-based compensation expense" } } }, "localname": "ShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "auth_ref": [ "r275", "r278" ], "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.908devices.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SharePrice": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Price of a single share of a number of saleable stocks of a company.", "label": "Share Price", "terseLabel": "Price per share" } } }, "localname": "SharePrice", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureNatureOfBusinessAndBasisOfPresentationDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_SharesOutstanding": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of shares issued which are neither cancelled nor held in the treasury.", "label": "Shares, Outstanding", "periodEndLabel": "Ending balance (in shares)", "periodStartLabel": "Beginning balance (in shares)" } } }, "localname": "SharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_StandardProductWarrantyAccrual": { "auth_ref": [ "r185" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount as of the balance sheet date of the aggregate standard product warranty liability. Does not include the balance for the extended product warranty liability.", "label": "Standard Product Warranty Accrual", "periodEndLabel": "Accrual balance at end of period", "periodStartLabel": "Accrual balance at beginning of period" } } }, "localname": "StandardProductWarrantyAccrual", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureAccruedExpensesChangesInProductWarrantyObligationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_StandardProductWarrantyAccrualPayments": { "auth_ref": [ "r183" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of decrease in the standard product warranty accrual from payments made in cash or in kind to satisfy claims under the terms of the standard product warranty. Excludes extended product warranties.", "label": "Standard Product Warranty Accrual, Decrease for Payments", "negatedLabel": "Settlements and adjustments made during the period" } } }, "localname": "StandardProductWarrantyAccrualPayments", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureAccruedExpensesChangesInProductWarrantyObligationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_StandardProductWarrantyAccrualWarrantiesIssued": { "auth_ref": [ "r184" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase in the standard product warranty accrual from warranties issued. Excludes extended product warranties.", "label": "Standard Product Warranty Accrual, Increase for Warranties Issued", "terseLabel": "Provision for new warranties" } } }, "localname": "StandardProductWarrantyAccrualWarrantiesIssued", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureAccruedExpensesChangesInProductWarrantyObligationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_StatementClassOfStockAxis": { "auth_ref": [ "r20", "r21", "r22", "r85", "r87", "r106", "r107", "r108", "r110", "r112", "r118", "r119", "r120", "r163", "r187", "r191", "r192", "r193", "r196", "r197", "r226", "r227", "r230", "r231", "r233", "r332", "r425" ], "lang": { "en-us": { "role": { "documentation": "Information by the different classes of stock of the entity.", "label": "Class of Stock [Axis]" } } }, "localname": "StatementClassOfStockAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureNatureOfBusinessAndBasisOfPresentationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_StatementEquityComponentsAxis": { "auth_ref": [ "r0", "r51", "r56", "r57", "r58", "r90", "r91", "r92", "r94", "r100", "r102", "r117", "r164", "r233", "r240", "r285", "r286", "r287", "r294", "r295", "r317", "r334", "r335", "r336", "r337", "r338", "r339", "r398", "r399", "r400", "r428" ], "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.908devices.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "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.908devices.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLoss", "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_StatementOfCashFlowsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS" } } }, "localname": "StatementOfCashFlowsAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementOfFinancialPositionAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CONDENSED CONSOLIDATED BALANCE SHEETS" } } }, "localname": "StatementOfFinancialPositionAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementOfStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY" } } }, "localname": "StatementOfStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementTable": { "auth_ref": [ "r90", "r91", "r92", "r117", "r372" ], "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.908devices.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLoss", "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities": { "auth_ref": [ "r50", "r209", "r233", "r234", "r240" ], "lang": { "en-us": { "role": { "documentation": "Number of shares issued during the period as a result of the conversion of convertible securities.", "label": "Stock Issued During Period, Shares, Conversion of Convertible Securities", "verboseLabel": "Conversion of preferred stock to common stock upon initial public offering (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureNatureOfBusinessAndBasisOfPresentationDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans": { "auth_ref": [ "r21", "r22", "r233", "r240" ], "lang": { "en-us": { "role": { "documentation": "Number of shares issued during the period as a result of an employee stock purchase plan.", "label": "Stock Issued During Period, Shares, Employee Stock Purchase Plans", "terseLabel": "Issuance of common stock upon ESPP purchase of stock options (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesNewIssues": { "auth_ref": [ "r21", "r22", "r233", "r240" ], "lang": { "en-us": { "role": { "documentation": "Number of new stock issued during the period.", "label": "Stock Issued During Period, Shares, New Issues", "terseLabel": "Shares issued" } } }, "localname": "StockIssuedDuringPeriodSharesNewIssues", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureNatureOfBusinessAndBasisOfPresentationDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross": { "auth_ref": [ "r233", "r240" ], "lang": { "en-us": { "role": { "documentation": "Total number of shares issued during the period, including shares forfeited, as a result of Restricted Stock Awards.", "label": "Stock Issued During Period, Shares, Restricted Stock Award, Gross", "terseLabel": "Vesting of restricted stock units" } } }, "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardGross", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": { "auth_ref": [ "r21", "r22", "r233", "r240", "r279" ], "lang": { "en-us": { "role": { "documentation": "Number of share options (or share units) exercised during the current period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period", "terseLabel": "Issuance of common stock upon exercise of stock options (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan": { "auth_ref": [ "r21", "r22", "r233", "r240" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate change in value for stock issued during the period as a result of employee stock purchase plan.", "label": "Stock Issued During Period, Value, Employee Stock Purchase Plan", "terseLabel": "Issuance of common stock upon ESPP purchase of stock options" } } }, "localname": "StockIssuedDuringPeriodValueEmployeeStockPurchasePlan", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": { "auth_ref": [ "r51", "r233", "r240" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Value of stock issued as a result of the exercise of stock options.", "label": "Stock Issued During Period, Value, Stock Options Exercised", "terseLabel": "Issuance of common stock upon exercise of stock options" } } }, "localname": "StockIssuedDuringPeriodValueStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquity": { "auth_ref": [ "r22", "r26", "r27", "r87", "r161", "r163", "r332", "r355" ], "calculation": { "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 3.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": "Stockholders' Equity Attributable to Parent", "periodEndLabel": "Ending balance", "periodStartLabel": "Beginning balance", "totalLabel": "Total stockholders' equity" } } }, "localname": "StockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheets", "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Stockholders' Equity Attributable to Parent [Abstract]", "terseLabel": "Stockholders' equity:" } } }, "localname": "StockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Detail information of subsequent event by type. User is expected to use existing line items from elsewhere in the taxonomy as the primary line items for this disclosure, which is further associated with dimension and member elements pertaining to a subsequent event.", "label": "Subsequent Event [Line Items]", "terseLabel": "Subsequent events" } } }, "localname": "SubsequentEventLineItems", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSubsequentEventsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventMember": { "auth_ref": [ "r340", "r357" ], "lang": { "en-us": { "role": { "documentation": "Identifies event that occurred after the balance sheet date but before financial statements are issued or available to be issued.", "label": "Subsequent event" } } }, "localname": "SubsequentEventMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSubsequentEventsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SubsequentEventTable": { "auth_ref": [ "r340", "r357" ], "lang": { "en-us": { "role": { "documentation": "Discloses pertinent information about one or more significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued.", "label": "Subsequent Event [Table]" } } }, "localname": "SubsequentEventTable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSubsequentEventsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventTypeAxis": { "auth_ref": [ "r340", "r357" ], "lang": { "en-us": { "role": { "documentation": "Information by event that occurred after the balance sheet date but before financial statements are issued or available to be issued.", "label": "Subsequent Event Type [Axis]" } } }, "localname": "SubsequentEventTypeAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSubsequentEventsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventTypeDomain": { "auth_ref": [ "r340", "r357" ], "lang": { "en-us": { "role": { "documentation": "Event that occurred after the balance sheet date but before financial statements are issued or available to be issued.", "label": "Subsequent Event Type [Domain]" } } }, "localname": "SubsequentEventTypeDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSubsequentEventsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SubsequentEventsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Subsequent events" } } }, "localname": "SubsequentEventsAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventsTextBlock": { "auth_ref": [ "r356", "r359" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business.", "label": "Subsequent Events [Text Block]", "terseLabel": "Subsequent events" } } }, "localname": "SubsequentEventsTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSubsequentEvents" ], "xbrltype": "textBlockItemType" }, "us-gaap_SubsidiarySaleOfStockAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by type of sale of the entity's stock.", "label": "Sale of Stock [Axis]" } } }, "localname": "SubsidiarySaleOfStockAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureNatureOfBusinessAndBasisOfPresentationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_TradeAndOtherAccountsReceivablePolicy": { "auth_ref": [ "r154", "r155", "r156", "r157", "r159", "r162" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for accounts receivable.", "label": "Accounts Receivable [Policy Text Block]", "terseLabel": "Accounts Receivable" } } }, "localname": "TradeAndOtherAccountsReceivablePolicy", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_UseOfEstimates": { "auth_ref": [ "r121", "r122", "r123", "r124", "r130", "r131", "r132" ], "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]", "terseLabel": "Use of Estimates" } } }, "localname": "UseOfEstimates", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_VariableRateAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by type of variable rate.", "label": "Variable Rate [Axis]" } } }, "localname": "VariableRateAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureLongTermDebtDetails" ], "xbrltype": "stringItemType" }, "us-gaap_VariableRateDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Interest rate that fluctuates over time as a result of an underlying benchmark interest rate or index.", "label": "Variable Rate [Domain]" } } }, "localname": "VariableRateDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/DisclosureLongTermDebtDetails" ], "xbrltype": "domainItemType" }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "auth_ref": [ "r105", "r112" ], "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": "Weighted Average Number of Shares Outstanding, Diluted", "terseLabel": "Weighted average common shares outstanding, diluted" } } }, "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLoss" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "auth_ref": [ "r104", "r112" ], "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": "Weighted Average Number of Shares Outstanding, Basic", "terseLabel": "Weighted average common shares outstanding, basic" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.908devices.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLoss" ], "xbrltype": "sharesItemType" } }, "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": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "205", "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=SL51721683-107760" }, "r10": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6935-107765" }, "r100": { "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" }, "r101": { "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" }, "r102": { "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" }, "r103": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 11.M.Q2)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=122038215&loc=d3e31137-122693" }, "r104": { "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" }, "r105": { "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" }, "r106": { "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" }, "r107": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1278-109256" }, "r108": { "Name": "Accounting Standards Codification", "Paragraph": "55", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e2626-109256" }, "r109": { "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" }, "r11": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e7018-107765" }, "r110": { "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" }, "r111": { "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" }, "r112": { "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" }, "r113": { "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" }, "r114": { "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" }, "r115": { "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" }, "r116": { "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" }, "r117": { "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" }, "r118": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "272", "URI": "http://asc.fasb.org/extlink&oid=125520817&loc=d3e70229-108054" }, "r119": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "272", "URI": "http://asc.fasb.org/extlink&oid=6373374&loc=d3e70434-108055" }, "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": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "272", "URI": "http://asc.fasb.org/extlink&oid=6373374&loc=d3e70478-108055" }, "r121": { "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" }, "r122": { "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" }, "r123": { "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" }, "r124": { "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" }, "r125": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6327-108592" }, "r126": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592" }, "r127": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592" }, "r128": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6404-108592" }, "r129": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6442-108592" }, "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": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6061-108592" }, "r131": { "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" }, "r132": { "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" }, "r133": { "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" }, "r134": { "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" }, "r135": { "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" }, "r136": { "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" }, "r137": { "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" }, "r138": { "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" }, "r139": { "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" }, "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": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8906-108599" }, "r141": { "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" }, "r142": { "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" }, "r143": { "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" }, "r144": { "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" }, "r145": { "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" }, "r146": { "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" }, "r147": { "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" }, "r148": { "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" }, "r149": { "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" }, "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": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e9038-108599" }, "r151": { "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" }, "r152": { "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" }, "r153": { "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" }, "r154": { "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" }, "r155": { "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" }, "r156": { "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" }, "r157": { "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" }, "r158": { "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" }, "r159": { "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" }, "r16": { "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" }, "r160": { "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" }, "r161": { "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" }, "r162": { "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" }, "r163": { "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" }, "r164": { "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" }, "r165": { "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" }, "r166": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447" }, "r167": { "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" }, "r168": { "Name": "Accounting Standards Codification", "Paragraph": "80", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=124267575&loc=SL82922355-210448" }, "r169": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "330", "URI": "http://asc.fasb.org/extlink&oid=116847112&loc=d3e4542-108314" }, "r17": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(19))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r170": { "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" }, "r171": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "330", "URI": "http://asc.fasb.org/topic&trid=2126998" }, "r172": { "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" }, "r173": { "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" }, "r174": { "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" }, "r175": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "440", "URI": "http://asc.fasb.org/extlink&oid=123406679&loc=d3e25336-109308" }, "r176": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "440", "URI": "http://asc.fasb.org/extlink&oid=123406679&loc=d3e25336-109308" }, "r177": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "440", "URI": "http://asc.fasb.org/topic&trid=2144648" }, "r178": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14326-108349" }, "r179": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14615-108349" }, "r18": { "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" }, "r180": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "450", "URI": "http://asc.fasb.org/topic&trid=2127136" }, "r181": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "25", "SubTopic": "10", "Topic": "460", "URI": "http://asc.fasb.org/extlink&oid=123377177&loc=d3e11281-110244" }, "r182": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "460", "URI": "http://asc.fasb.org/extlink&oid=123368208&loc=d3e12524-110249" }, "r183": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "((c)(2))", "Topic": "460", "URI": "http://asc.fasb.org/extlink&oid=123368208&loc=d3e12565-110249" }, "r184": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "((c)(3))", "Topic": "460", "URI": "http://asc.fasb.org/extlink&oid=123368208&loc=d3e12565-110249" }, "r185": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1),(c)(5)", "Topic": "460", "URI": "http://asc.fasb.org/extlink&oid=123368208&loc=d3e12565-110249" }, "r186": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "460", "URI": "http://asc.fasb.org/extlink&oid=123368208&loc=d3e12565-110249" }, "r187": { "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" }, "r188": { "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" }, "r189": { "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" }, "r19": { "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" }, "r190": { "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" }, "r191": { "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" }, "r192": { "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" }, "r193": { "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" }, "r194": { "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" }, "r195": { "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" }, "r196": { "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" }, "r197": { "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" }, "r198": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611" }, "r199": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611" }, "r2": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "205", "URI": "http://asc.fasb.org/topic&trid=2122149" }, "r20": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(27))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r200": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611" }, "r201": { "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" }, "r202": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611" }, "r203": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(f)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611" }, "r204": { "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" }, "r205": { "Name": "Accounting Standards Codification", "Paragraph": "1D", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611" }, "r206": { "Name": "Accounting Standards Codification", "Paragraph": "1D", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611" }, "r207": { "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" }, "r208": { "Name": "Accounting Standards Codification", "Paragraph": "1E", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611" }, "r209": { "Name": "Accounting Standards Codification", "Paragraph": "1E", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611" }, "r21": { "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" }, "r210": { "Name": "Accounting Standards Codification", "Paragraph": "1E", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611" }, "r211": { "Name": "Accounting Standards Codification", "Paragraph": "1F", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611" }, "r212": { "Name": "Accounting Standards Codification", "Paragraph": "1F", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611" }, "r213": { "Name": "Accounting Standards Codification", "Paragraph": "1F", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(1)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611" }, "r214": { "Name": "Accounting Standards Codification", "Paragraph": "1F", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611" }, "r215": { "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" }, "r216": { "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" }, "r217": { "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" }, "r218": { "Name": "Accounting Standards Codification", "Paragraph": "69E", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466577&loc=SL123495743-112612" }, "r219": { "Name": "Accounting Standards Codification", "Paragraph": "69F", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466577&loc=SL123495745-112612" }, "r22": { "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" }, "r220": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "40", "SubTopic": "50", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123467658&loc=d3e12317-112629" }, "r221": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "40", "SubTopic": "50", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123467658&loc=d3e12355-112629" }, "r222": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "470", "URI": "http://asc.fasb.org/topic&trid=2208564" }, "r223": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(CFRR 211.02)", "Topic": "480", "URI": "http://asc.fasb.org/extlink&oid=122040564&loc=d3e177068-122764" }, "r224": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=65888546&loc=d3e21300-112643" }, "r225": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=d3e21553-112644" }, "r226": { "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" }, "r227": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644" }, "r228": { "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" }, "r229": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644" }, "r23": { "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" }, "r230": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644" }, "r231": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496171-112644" }, "r232": { "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" }, "r233": { "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" }, "r234": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=d3e21475-112644" }, "r235": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=d3e21484-112644" }, "r236": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=d3e21488-112644" }, "r237": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=d3e21506-112644" }, "r238": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=d3e21521-112644" }, "r239": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=d3e21538-112644" }, "r24": { "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" }, "r240": { "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" }, "r241": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "50", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=6784392&loc=d3e188667-122775" }, "r242": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123360276&loc=SL49130531-203044" }, "r243": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123360276&loc=SL49130532-203044" }, "r244": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123360276&loc=SL49130533-203044" }, "r245": { "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" }, "r246": { "Name": "Accounting Standards Codification", "Paragraph": "12A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL108322424-203045" }, "r247": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130556-203045" }, "r248": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(1)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130556-203045" }, "r249": { "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" }, "r25": { "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" }, "r250": { "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" }, "r251": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130549-203045" }, "r252": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130549-203045" }, "r253": { "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" }, "r254": { "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" }, "r255": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123410239&loc=SL49130690-203046-203046" }, "r256": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123410239&loc=SL49130690-203046-203046" }, "r257": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123410239&loc=SL49130690-203046-203046" }, "r258": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123410239&loc=SL49130690-203046-203046" }, "r259": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123410239&loc=SL49130690-203046-203046" }, "r26": { "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" }, "r260": { "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" }, "r261": { "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" }, "r262": { "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" }, "r263": { "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" }, "r264": { "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" }, "r265": { "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" }, "r266": { "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" }, "r267": { "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" }, "r268": { "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" }, "r269": { "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" }, "r27": { "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" }, "r270": { "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" }, "r271": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(f)(3)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947" }, "r272": { "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" }, "r273": { "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" }, "r274": { "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" }, "r275": { "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" }, "r276": { "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" }, "r277": { "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" }, "r278": { "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" }, "r279": { "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" }, "r28": { "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" }, "r280": { "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" }, "r281": { "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" }, "r282": { "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" }, "r283": { "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" }, "r284": { "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" }, "r285": { "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" }, "r286": { "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" }, "r287": { "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" }, "r288": { "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" }, "r289": { "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" }, "r29": { "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" }, "r290": { "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" }, "r291": { "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" }, "r292": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "718", "URI": "http://asc.fasb.org/topic&trid=2228938" }, "r293": { "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" }, "r294": { "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" }, "r295": { "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" }, "r296": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "25", "SubTopic": "10", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=123586518&loc=d3e1043-128460" }, "r297": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463" }, "r298": { "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" }, "r299": { "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" }, "r3": { "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" }, "r30": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a)(1))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r300": { "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" }, "r301": { "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" }, "r302": { "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" }, "r303": { "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" }, "r304": { "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" }, "r305": { "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" }, "r306": { "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" }, "r307": { "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" }, "r308": { "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" }, "r309": { "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" }, "r31": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a)(3))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r310": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684" }, "r311": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684" }, "r312": { "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" }, "r313": { "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" }, "r314": { "Name": "Accounting Standards Codification", "Paragraph": "4J", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=120409616&loc=SL4591551-111686" }, "r315": { "Name": "Accounting Standards Codification", "Paragraph": "4K", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=120409616&loc=SL4591552-111686" }, "r316": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "810", "URI": "http://asc.fasb.org/topic&trid=2197479" }, "r317": { "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" }, "r318": { "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" }, "r319": { "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" }, "r32": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a)(4))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r320": { "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" }, "r321": { "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" }, "r322": { "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" }, "r323": { "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" }, "r324": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(3)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19207-110258" }, "r325": { "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" }, "r326": { "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" }, "r327": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=123594938&loc=d3e13467-108611" }, "r328": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=123594938&loc=d3e13476-108611" }, "r329": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=123594938&loc=d3e13531-108611" }, "r33": { "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" }, "r330": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=123594938&loc=d3e13537-108611" }, "r331": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=123594938&loc=d3e13537-108611" }, "r332": { "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" }, "r333": { "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" }, "r334": { "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" }, "r335": { "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" }, "r336": { "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" }, "r337": { "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" }, "r338": { "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" }, "r339": { "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" }, "r34": { "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" }, "r340": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=6450520&loc=d3e32618-110901" }, "r341": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "835", "URI": "http://asc.fasb.org/extlink&oid=6450988&loc=d3e26243-108391" }, "r342": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "835", "URI": "http://asc.fasb.org/extlink&oid=124435984&loc=d3e28541-108399" }, "r343": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "835", "URI": "http://asc.fasb.org/extlink&oid=124435984&loc=d3e28551-108399" }, "r344": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "835", "URI": "http://asc.fasb.org/extlink&oid=124435984&loc=d3e28555-108399" }, "r345": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "835", "URI": "http://asc.fasb.org/extlink&oid=124429444&loc=SL124452920-239629" }, "r346": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "55", "SubTopic": "30", "Topic": "835", "URI": "http://asc.fasb.org/extlink&oid=114775985&loc=d3e28878-108400" }, "r347": { "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" }, "r348": { "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" }, "r349": { "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" }, "r35": { "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" }, "r350": { "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" }, "r351": { "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" }, "r352": { "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" }, "r353": { "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" }, "r354": { "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" }, "r355": { "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" }, "r356": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "855", "URI": "http://asc.fasb.org/extlink&oid=6842918&loc=SL6314017-165662" }, "r357": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "855", "URI": "http://asc.fasb.org/extlink&oid=6842918&loc=SL6314017-165662" }, "r358": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "855", "URI": "http://asc.fasb.org/extlink&oid=6842918&loc=SL6314020-165662" }, "r359": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "855", "URI": "http://asc.fasb.org/topic&trid=2122774" }, "r36": { "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" }, "r360": { "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" }, "r361": { "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" }, "r362": { "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" }, "r363": { "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" }, "r364": { "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" }, "r365": { "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" }, "r366": { "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" }, "r367": { "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" }, "r368": { "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" }, "r369": { "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" }, "r37": { "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" }, "r370": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "310", "Subparagraph": "(b)", "Topic": "912", "URI": "http://asc.fasb.org/extlink&oid=123371682&loc=d3e55415-109406" }, "r371": { "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" }, "r372": { "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" }, "r373": { "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" }, "r374": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(13))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r375": { "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" }, "r376": { "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" }, "r377": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03.17)", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r378": { "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" }, "r379": { "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" }, "r38": { "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" }, "r380": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04.9)", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r381": { "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" }, "r382": { "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" }, "r383": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "470", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=123599511&loc=d3e64711-112823" }, "r384": { "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" }, "r385": { "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" }, "r386": { "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" }, "r387": { "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" }, "r388": { "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" }, "r389": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03.(a),19)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "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": "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" }, "r391": { "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" }, "r392": { "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" }, "r393": { "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" }, "r394": { "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" }, "r395": { "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" }, "r396": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(c)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=124504033&loc=SL117783719-158441" }, "r397": { "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" }, "r398": { "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" }, "r399": { "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" }, "r4": { "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" }, "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": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)(2)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641" }, "r401": { "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" }, "r402": { "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" }, "r403": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "825", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=123600520&loc=SL75241803-196195" }, "r404": { "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" }, "r405": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "210", "Topic": "954", "URI": "http://asc.fasb.org/extlink&oid=120413173&loc=SL116631458-115580" }, "r406": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "310", "Topic": "954", "URI": "http://asc.fasb.org/extlink&oid=123364037&loc=d3e3115-115594" }, "r407": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "440", "Subparagraph": "(a)", "Topic": "954", "URI": "http://asc.fasb.org/extlink&oid=6491277&loc=d3e6429-115629" }, "r408": { "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" }, "r409": { "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" }, "r41": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19(b),22(b))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r410": { "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" }, "r411": { "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" }, "r412": { "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" }, "r413": { "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" }, "r414": { "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" }, "r415": { "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" }, "r416": { "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" }, "r417": { "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" }, "r418": { "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" }, "r419": { "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" }, "r42": { "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" }, "r420": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b" }, "r421": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b-2" }, "r422": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "d1-1" }, "r423": { "Name": "Form 10-Q", "Number": "240", "Publisher": "SEC", "Section": "308", "Subsection": "a" }, "r424": { "Name": "Forms 10-K, 10-Q, 20-F", "Number": "240", "Publisher": "SEC", "Section": "13", "Subsection": "a-1" }, "r425": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(a)", "Publisher": "SEC", "Section": "1402" }, "r426": { "Name": "Regulation S-T", "Number": "232", "Publisher": "SEC", "Section": "405" }, "r427": { "Name": "Securities Act", "Number": "7A", "Publisher": "SEC", "Section": "B", "Subsection": "2" }, "r428": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(a)(3)(iii)(03)", "Topic": "848" }, "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" }, "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" }, "r45": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.22(a)(1))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r46": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.22(a)(2))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r47": { "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" }, "r48": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.25)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r49": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.28,29)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r5": { "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" }, "r50": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.29-30)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r51": { "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" }, "r52": { "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" }, "r53": { "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" }, "r54": { "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" }, "r55": { "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" }, "r56": { "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" }, "r57": { "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" }, "r58": { "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" }, "r59": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(210.5-03(11))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227" }, "r6": { "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" }, "r60": { "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" }, "r61": { "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" }, "r62": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(5))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227" }, "r63": { "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" }, "r64": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.2)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227" }, "r65": { "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" }, "r66": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.7)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227" }, "r67": { "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" }, "r68": { "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" }, "r69": { "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" }, "r7": { "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" }, "r70": { "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" }, "r71": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3255-108585" }, "r72": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3291-108585" }, "r73": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3291-108585" }, "r74": { "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" }, "r75": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3000-108585" }, "r76": { "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" }, "r77": { "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" }, "r78": { "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" }, "r79": { "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" }, "r8": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6812-107765" }, "r80": { "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" }, "r81": { "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" }, "r82": { "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" }, "r83": { "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" }, "r84": { "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" }, "r85": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(d))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r86": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(f))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r87": { "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" }, "r88": { "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" }, "r89": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "235", "URI": "http://asc.fasb.org/topic&trid=2122369" }, "r9": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6911-107765" }, "r90": { "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" }, "r91": { "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" }, "r92": { "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" }, "r93": { "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" }, "r94": { "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" }, "r95": { "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" }, "r96": { "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" }, "r97": { "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" }, "r98": { "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" }, "r99": { "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" } }, "version": "2.1" } ZIP 60 0001558370-22-012746-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001558370-22-012746-xbrl.zip M4$L#!!0 ( $D["545-#QC+ X ):% 1 ;6%S__^W#/YK-/RX?[Y#+'7].F$*.(%@1%SU3-4,C MOEA@ANZ)$-3ST*6@[I0@='[T]NA]^^V[HT[GW>DI:C9#3I=80D_.D&'9.6K' M+5:MSW.F@]O'%V>G%Z1GJWL>$]R#EA)92ODCW0CHS,L=(83$E MZ@'/B5Q@AWQLS)1:7+1:S\_/1^?'[UWR1!TBCQP^-[R.WY[ =&"E!!W[BMQP M,;\F$^Q["J:&??>Q9\:'&?.(GI 40:(9IIC)"Y C->#SR1$74QCHN-WZX_YN M:$2,B&'FIQ@OX@X3+,>&/&S0\K6;Q^WF23OJ(L@DQ?]E++QHA+4>-^7PU_Q<%?=)LC]K!8T)Z07W\@:(6O+X>X7BG[3^N*/L6T3),'5D M6A!)G*,I?VJ9)L,\J6V!,'%3CC2^$H7BG+>@-2+T0#"+X+IY#+:>$"=7D!P1 M'%\(6(O+?$VCUI2RY,69Y9/KEA3I2T;PT"#;Y^?G+=,:RTR=?*;0D.+)R%0O M7ENA62QGMQG2A2I&32FA@$C*K#?J"5G-J5:B (MH"7%O\**CY8T+5_2 M3'_,&%=&7',MNKI84#;AX26XJ$W^0H\T@ME$^L/GQUO;]!FIKJET M/"Y]08: FHN%VV7NE2\5GW=?J+SFYR91NV, MP]XAB:VG@SW'][;HN)*LN%]X-8)M5S1A[I2YEU]QYH*]$Q<^2.Y15QOK)?;T MPAS."(FPW*2##4EP&0;)F!]\ONH_7/<>AKUK_6G8O[N][H[@RV7WKOMPU4/# M3[W>:%BCN"F*<:OL3_J+R)'I):>R!V7E2#>@)L=_TY5_(Q@-4?\&]0>]Q^[H%@A0]T%3W@\>>Y^@V^V7'KKK#VL#V6-; M6'6TPWZZ'>Q7W>$G='/7_UKCNQ]\!QC":34CBH*B6X.=YE*&_-ENR*,WJ>%^ MJBW!%I[=LB=0EXOE-5&8>IE8+--N0^\4T&NO!UXQ!_0FY%%#8H6DZSC")V[O M9:%7ERP IH#*#L]9%IZ0#XH8U2CM*1+>V'5:>I?%R!5=9CI&KAWE/F^90\6= M;S/NN43(WG>?JN6FM\L<#G;<3[8+DH:C_M7OG_IWU[W'X3]1[U^?;T?_KK&W M>>0'K.!O?W+I2\J(U/N82RPI8#9(S$2!H]ZLL]U_M[/^.V"/^ 3!0D;1( @S M%YEA=$MRH-J_5\Q;^?,Y%DM8EG3*Z 0\)%-PK]2)5\JF UC #B7RDISV'5^0C<0A]PF./[&2: MQ>S*K*RSDY5%XZ+5P+6=[--.KLF$"%BPCP0V=_YN1E+ J\Q"3G:RD&A0%(Y: MF\6SH0[8[X)8$5R:'G?XB[3Z.QCU!F2J?[-:5(BZ)*@E3RUD?T M(S./]?X7MI8:Z&!,+I2K-KU]FMX==(>MO'F>I8-81^WC1EC*MWP5ST4EGDY%<.!G+R&4A6&9T;S=S1,E1ZZM93-KN<%4?,&>3^X) MUM]-(K# $*RT=HQ/LGMVS0T9=BC)KP:N&G!WG$U'1!^#&Q>%%GDD=IC>9F'2 M3)J:"])L:G2JH1,DS^$V]D#4+0,"<]!D0,1PAD61HZW6R8[@NRR" 5N3O@+& M*.",WFC>/Z$%$,+$+/P^>DNK,JL().\JF@% M3:3';;KAP$C&(]<&4O6T*7>^F;- OE7PR?>18'7]ISLYO$^)X.N MN88O?R3YQDUCT^0DFT@P9FT8U0P#IG5.E0ERPOT5!+*$.<4.HD(/.]#G6: 3 M/(TS2'&MH:RZQQI+\MT'E7M/EH"YB,P*6OLX[_E6Q B1ISI*+@4J?!$N^@^+ MIP=6KI:W;,+%W"@18E6%TGX$ A:9ABMZ]R[Q42^O@!M*L*L!V_VH2PY0E\!0X>1TC4;5E*DM5UJ"0VF2M$9A^P3:9CFR$J2V3H;6"&Z> MX:J6O2I!;(/,5(W1ELFF#;),)6AMFEZJ(=LDJ5263;*#4RF-5 .R^WYUMWUK MI?UK9\?3R&^B3W6V< ^ C_19[BWA#OO:P#[9\6#QFV",&NK-LQ;YR-I([4"> M9($L//52H[9)*B,?J?5F.SJG6702+XK7>&R>W\A')9_(CLU9%IOL6^(U1#MO MM_,1J]3'#N"[+(!5SR'5L&Z]!R\(36RT=AC?YX0B12=%:N"V<)E7,PR[8WG+ M!H*[OJ.^8B$@LEOVQQZ=VM[IWIJ/_<3(67:CD7&\L,L/1D.4H44P'GH.!T0\ M'O'_ZI""_J//2#V2"3)%.B]T[<>/#4GG"T^7C#379J88K"[_V(QJ//X)ZAZ] MS+V(1/.W%*$TYK0^0^' $0LLG R73!%18,+!Z^JC?:U(^ 9J[4TMF-)-U4JC M<(A*>7B\J5+0A7B'J@\LF$WU65MC^],JE)PJW?UJ-0K2P\B?$?:\E>H?6NNE M0L,KZ9*BIJ HS (7"K%,>>FB"J4H*$M]QQW#*:"7Q1WTQV;P\0@&C*2T#UY> M*[9(BK*>YKO<4I*<:L!Y5$V[4II"M!JV3\V-NM"/4_'SQ\;"J*M!@H\N"E)?3'G# (IL;Q59*Y# M#]#8'TOPE+[6]S?!_45$2H$$7*GY#$-0[HX,(]<7X5.ZH&T<5/KZV'!,S1.[ M[B.([.2$"-F?K%(L?! X<;U/U%N[A>X3J;Y1CQ^DN4O&98I'Q5_ZC-R3^9B( M2+^\AEPUXAKA%ZXI\EQ9$0RM^O77B)U-L2HJC)YYO@K)AL-4X<'7XO4G<2F> MKU3-4M5[=$F?2*_*U!:SHTR1*1%[L3J;9@.\U!?TR1%YPT4D\JID3.Q+*E%: M-(KD>765XE=_@_( U[[0CS\,FP<"OB]L7Y4'B#3HX1<6:,>WRZO#:Y M ,U1UWJ/'61QNT4I6$\P*:4JN>K"I7-=X#H ?']+,4_LH'J]3;&8XC#]RR?, MW!GQW+1_S%P]3.&OB?RF^"(M^_K%PQ1],,-B#@&>;XI_7E*N8MM)JU.%\#!5 M[#K8)7.*T_IDKAZF\.!QN?=$A Z3TPKDMARF$G<HZC8Z67;=]7G#6 M=\)?:2+]B3E,U9^$18KB);I?GB7F!1.AP]-]3)]MHL*' A)V8KYP9K EU*TPND&NEAKIIH!_"%FU^*ZF%G9AXMZ@JEL0[KVX4RXE?=+51"+Y(TAF:& MU5<0J_>RH/K@=%J?0BI;>*D5EZ^^18A$'&"3 M;[LT>^Q)Y:=K7,T^@5HK1" MI=0_'J'?P$,(9MXC]=6,"ZK6 AD;P6&NI?!QHB[82X2.Y]W'Z(,Z7;-6U9!H4>5&7'GB85U]TF0S(: 9K7==Z'P0W'SPEN:H6 MT[[Z3:V:9B5E5$++B72K3+W[-GS?QEM2'RA^9C^*C*J:SOD=#\9PLR4)UT+Y MXO;#]$'1G=G)E908AN]'8/=E]SZ=-KT7\W5!'NK0P8Y$W*M3VF08+7I M7V.%[@/8K/7F"X\OB;C'RIF!=LGV8#=UCU_TQA/\3DA+&LD\UAZY[K0WW6G6 M*N]>0^,*(MD[BL?4,V6V;GQ=/ MP>ST%R;6LNY!X[FH0KRC/]G.,@+:0B6'Q.'Z9V&7 W\,'J _F1#M&#/ZE= = MHFK@X!Q"7'DC^/Q6Z@R30PK4:*2V'-5[_656>K0(;[C06U@=3(,"(_Q"9)]] M(5+?&9ZQ<&4C\WBP2I^#F8?21?T8)R+-TOS,J'GOU'P)UW#&]C?HX-N?QVC'D%OV()@ M;ZFH(W^;CV<9&RXF.423C=_;UC\:)ZD;_GZR3G1W(1 C3X:X/[D"-$'8>^K! M$@6(9/#$OI%*/.S&*6D%&Q]CV#D$#HZ5!B?,?ODO4$L#!!0 ( $D["57' MP4U\: L %&9 5 ;6%S&ULY5U;<^*X$GX_ M5><_^+ O>QX(YI:$U&2W") 9JDB@(#.S;U.*+8)JC<5*=@+GUY^68Q,,OLB& M&5^HFIJ Z9;U]==J26U)_O3G>FDHKYAQ0LW;2OU"K2C8U*A.S)?;BLVKB&N$ M5/[\X]__^O2?:O6ON^E(T:EF+[%I*1K#R,*Z\D:LA?)$5RMD*@^8,6(8RATC M^@M6E,[%Y<5U_?+JHM&X:K64:M4MZ0YQT*2FXA39N*AO?^FYI5+S1KFN=6H- MM=%0ZNI-NW73:BO=AZW@ ]1R3F(E#6+^?2/^>X9;*@#7Y+>5A66M;FJUM[>W MB_4S,RXH>P%UM5GS!"OODC=K3GS2;TU/ME[[ZV$TTQ9XB:K$Y!8RM0\M44R0 M7KW3Z=2<7T&4DQONZ(^HABR'@-AZ*:$2XEO5$ZN*2]5ZH]JL7ZRY[M7KH%HQ MX.%7$B&_A0UV5I1/C!IXBN>*@^_&VJSP;863Y M-E51O=]F%E N?*I'31V;X!KP@5.#Z,(5[I A[C);8&SQBB)N\W4Z]-6KHU[K M^)5HF%]H=%D3(K5$A=9^+H3MKWP\'Z\P<^CF71.$EBN&%Z! 7O&(\I/A2W+' M7PB^A_CBWJ!O/P7G3N%90)H@!E<6V"(:,GXJOKT['0VV3[AF4&XS/#1?H63* M-GUL(6(DH"FJC!-6L*MIS,;Z8+T2IN)'5#.L)+>R8%G--IQF,X*JN14499PV M\NP: Z\M#!KZ]BJQQ.V@LU%5I:ILRX7/O?%C?_ X&_3%I]EX-.QWG^#+77?4 M?>P-E-F7P>!I]AZ8 8Q!-=^-#-'C4.8WNT#% 983Y.>(/SN1'@8!+PBM1.]: MKV'#XMX5P5"]JM;=/N8W]_*/+N<[P STC UG*.'[L99=S7HV$ZTGLH*NS(_+ MYE6G?=GL-*Y;SVL^]&4U2<,'E96,XO*T8H(];FMM+* MB"01Y$0W!7\&_]CD%1DB^'6M'F)L \/2;\BP<0AY4KIY)36*ND.ZTT--Y@;- MK-JJIE$;$$VQA@'=LX$?L173="-4RD%Z8H0NUPTYKAL9<;T=, ":$&YW1?Q( M.X"T74 N8Q&YW#7SW4XG#*\0\491$)'&,"YE,CVMA&8YF$X+U'6 5KX;KSNY M-%]&&'$\%34;S[\"3H$OA/I(G;R2'D1M81'Z"B5(E&:&$>R.)U9,_V(.8_4U"(C)3"EJR@)O9XB)=)^\5FR"B#\T>6A%+U#(X-Q8L M72)JDR L1A">BM6\)M8'B)DP1.!=3;.7@@^L]_&<:"1L!!VO6"+>4X)-.7S^ M5-M;4_V3%UHGV0*QRU/H*NR&["KLV1/\>1@\/LV4\;TRG@RFW:="8NL;(.EWX(;::MT#NU!$Y?D,U6]HS:NLDY*QO$8U)>>!G9N/:1' MN36>NS!#IS\[,F5@-1Y0[(RGFGF_Z6UQB^LU/;G\$9<^(,N!RR^)4\PQ6$KL M]>F#%QK468OJ@@F-P!$Z.28WDJ*@B)L49FYCZPP;4.C+9VR"*0P U-67Q"3< M$H9YQ=%TRRF7A_0ORF3C9KZ!Q7'6*\9:?T"G8:QSD7H:=B2_08L6CK'%Z>>7AT;[!(;(;\[(PS6>.T^& M/3\6N@% O7.P0U2 MV2#9 Y?"!,B[[=!7:UW+LOF!\FPN_RW\QT+ MO"TR,'?&8J(+B$(?SL?JG8$/I+.!ZPN7.9\Q;+U;.'6R\<&!QCGX0D+TKA=< MY2\BA)A&'$;&K2/R$0$%Y,\O,;:S>*WEB78UL!_#H4>U(:0^I!2_8^$V*V[2/BM'$IH(#\^4QNXY*L]8JQ)^!]X5?$\N$/ M@?SYR)$,!8YOH\ 68U=6'Z\8UHAC//AL8(<34^\N*;/(_YSK(63+J)Z!&Z0V M0S'&(K,%8MAYV8S8](%-'N42P<)^]'"?IEHV)T@ O"BG$H-IQ#N-[BGK4_O9 MFMN&=\97>/ /53D#%T@,7R;KF$T1,+OHU\11GL!;6L E?B!'R^_P];$=* MG-X9>$$Z&T@E0+,/"ML3U[]#/7"?OH7U X>"9T"]).AD"<[LJ-Z?#AV^.B&4 M_'C5LW"'E&:0RGUF_YJ90WQ> PC/,43J^(W15!M7G?+[1!Q^UQFN"^<,[CL; M^NX1)H'O;I#V$IG"SM)]4AO&]:M.X?S*6SCMGDZ6T)$"M<_2<^0MX26RU,+Y MRMZAU"(I)!3%1A9^E)J0WC.5;.5PHG]X"2F\!P@>AUI'N?3(6?PR@]E@O5+[#"G ML87G,1)YUUSLH]M[5?4N91&;ZMK';:I3?O?=]K_%VV07THZ.+#.K$RQVZA/] M0H) 67\[:$$[R/HI[$FHW3O*0A)W,;:D^?'$'EL>)GYVS,= S^W)![_TI=TE M]83T=DBY_.KTXX,^X9I!NI7@--C7H[N\226ZM[<4C. NN?*=4Y5%&<:\8Q>XW((L5J MYJ]=QI(0\>@S($]EO3J$*7RL9\" M;S'Z94"DVYKU':9WR+0V#DYD] P$*.<$IHR1;B"I73Y_. 9X,?8I#98K@VXP MGF+G31S2_4*L7OF<(1WD$[Z_Y%/MG0GX[QEQ_,?_ 5!+ P04 " !).PE5 M!O_(-V(E A, ( %0 &UAOWFS4_OWCDG)UE/%XCQEB1TDB[?O#[? M_'*9]4K"C\[[TP^G;\[>O''.SS[^\.[CNQ^Y9J_/-%@W<';T\U82@CQU\D:[$1\=7+^YN3M^>L7 MYKW*4!0_6PRR!G^IP&]&F01[XA]/TQU>< MT8[S,R4!?L!3)QGN8[1:XE]>,7^Q#$1?R7=SBJ>_O%H@QDZ$M,Y^?'LFB/[3 M).(R%TIU24(/AUPW^ =& M\3NK#YE8VFHR6FB038(.1 BR7%<][ ?\:WA+%7 MCL#A\\--@;X/9^\]_.R[F+UVR>)4@)PV-V+")2M1G7;'IDE$W"]S$GC!FSB"RX7#FEN:\G\7(9^/SK/7C9#YZ 17*%IWS:Q-X# M?L9AC%MGK6J\PV'1\&6)7>Z,'LD%1\ EO.6_L-&3#;.#R:S2B>B55&9ZY0-V@OS+I&/OT-!3&^ MPTC\G2RU]N"#OK]>2+PEX>P1T\45?MK'NTB[Z86@=.W+S>X>1S=\^[Q(M@9C M3"=S1/=18LN. 1(]X&9VY0=QQ/=)$^S&U(\25]\2*PS#]>/VQ.XH"72(72-W MS,DB5OZMF/2XY]['W^TQ6D^SPA/#7V/NCH;/>_HX95>U"4MP7U-71F2*V%/2 M-F8G,X26*1H8>XO3X4LD8@)/ 1Z&\2(+&-SZ+&)%AHB>V#J*4NF/<^K\% <1 M$]^(SA/FG9^IK!GW[S^:;^)$24DF^8RH&L"*?Q8:3\(3+V%#@RA6NVX"WZ2KDP5>/.VJSW)DB_TV M@.F<(T7=^ F?;!C1(+[2WIO5A]0@VE&(==]YC/F7?NBG'C?\D@TAD&K'6Z0$ M8>'Q/>QMOO4C,>"'#Q_.SIP39]LS_V/=N<-[=]+N'=&_DP[@;$9(B%J3%1"W M,&(@SAX(M9E0&(URDPG_JSR/\*_^&%/BQ6XTHA-,!5\$1NO. _2$ RXU!=@? MYR6R=8"G?5"5Q -3/#(QJDFKPNKHDT,7B=QJY( 6R>7FLNYZ2LG"BL7$8OR8 M\<[)4@R)-M-%9IO[&&]*_I:>CVI\G4?B&/$DE,_UO[QJ4BVDJR?Q35D]LJ__ MV!YP!'S*SXXQ)-IOA*^HB56+_@C/8R,U"C6@DE0YZ,[F4(?GQ(1%9T9A@;6P M#CVVH$PCW6Z+32,)Q9;*QCQD;8>+?C'1XI"AMSD M4%QG/N:&:E98-=W?L"QD1.IBU;V%J:G(6Y<=]A!,K9 8('(%+E87.'3G"T1U M%F=JIE[F6#2$Q(TU;OIEGJ%9#6Y4&^YM>35D1>JAUKGYF4DI+ \M2 !J@X]\ MT'KFMVY1Q_+R;0"1+]"J9V_;%O;D%]NT8642D>@,K(@0!-O:$J UJR+B+5B4 M5<#J#OV3T&T:FSP(5P62AJCD8-W2DRX<"I@H W!*6"EU6NB] G!:]A*+T3L- MO\FP70??M%CVI>*;_=TG3&84+>>^BP*%IBMAI2JAA>Z82#PK(Z+4>R6LG$@= M]%YZ;\-L8H%$I^JO07IM!5ID(2R=KOT0A:X?SAZPB_UG]!1@DG4$-+K[JBI+LA&;G2S)+LO*+LQKD]#6+/:!P MICHDW?PF=>"%7WM ^JZ0]%!&._U5C?CV][WF&AF+B'283F>3'%KKV:.$SE[Z M5DTJ$M_\\8C=>4@",EM=)3D)BGVS%K8B,2-TN_A+O;(!VIZ&!KRN+3>)%1J= M::D!;:&U%NB"6/6L<]$O5KEL]&N:Y&ZZ*]V:Q]Q2/:';M07 %AEZ^K6.N:69 M+?JV^Z]Q:HF.U$:P^]6-#4&%M8T=(< L=//Q5Q]3SJ[YZA8_8]FVO5YC&SLU M- ? G_QMFBJVM8U6V40M@A-LD MOLI:U".^R1-:"W%44V%5Z'1O:6KT)3FQ*K1[/[J:N#A$U">F8ZL\G/[(J@S9 M,6'9Z)]#ML1N4DE+?5RE@I43J(-NYKA*P61B@4 _1U5%A#?'5#I$F]-XAMW7 M,_)\ZF$_T8NO[\3'D_1C>L$*^W_!E@9T75"XK0(XV@Z1#3TP]FF.,S%2MZ!QKQ:'%&IMRV/"4U\1L,W-:O) MR(8=03<:0NI1U;EG:94+>1=E0ST$5S4.4"BPTOB6/(A2A\M _5.DM=4BD)&J M!NU0P4VB&[1S,RDBF=?K*G(0M#@ML+:)7JRKGFN46M-"J0V&-N#(UUJ MDU= M%C1H'W:"(350ZMQZM"3DCD0O@SB:$RH/M^F!#>HD X=$KX4=5<%K MT-RX]6CX7S$<.2(]V4P5\:JYR!&&8"EC2I:81BLQ1T:#T!,'K$MAV,9[IA8M MU6L4N[8 V6*\?VK1LCY;&KZ/6D]TI#:"W:_]; @J+ GM"(%@H;FDJ5L?/?F! MJ,TB#G+ML@2K;6R2 ^6M #!AC1C?F&8)8=XH?!";5ZW MW(1\8RPJW(41MC6N61AMCMQDOJ)6T61IBFT2UF=JHXP1THS& M-AD P7,]X$"4_!\C[FAS16[8Q2K_B\:-V7>@R?*KTP4,7FD]4A70BO8&;7XG MJ1 36IU;;!TRBMF*,O0!VUM] ]O%HF"9D&UM-&V;NBQHW\;LC I&.30M"2J# M EL+K?3\@6%OK(!6*I0&'A3)^CJ#*O@Z9#=<55 O!&*)2B^E!*6H%PH)ZE"& M8#/#Q3(@*YP^FS+Z%F+*YOY2;+F'D]%X6[V=3[GB2XT][="34NEV[ LJ&\6_ M^NJYELUW9%BQ@[V-=C])D]VP[MR^=Z*R4**W!G407$'N\EZRC37,GRIPI8[J M&L"B6FNKZ@:U*&_0'BTD06R1Z=S,U,CG;4F/- 3KR0KWH, J;54!K8XTJN'[ M(SG9"$RS-X>3%R[\<#::2G!E0EY,_I/6V)H<0LG]CW526K M2FW> 31-)027D3[B?8W<)#BLNXA: 51?PI2"0J%1?^=4 FI)9Y.W3'6\)F8$ MNK]7*D&X<*%4@2@$"QA\0]0SK#,+,.I3^"_)2+TK-)-VQA*'0EJ:;#]4] 5&D+:Q[W[1/,BK8584TLT0G 4 M%S'S0\S8P/T:^\PW')DHH)6:K8&'1;+X2+'>)QC;U6)#I>7>UFH6#JF)4N=& MJ"0A;XY6J)=MZ^?3$EMO^9^UGOC[JQM M+[E,CUU-ANK7Y)_23A^)=79Q8N8/<'?K/$V=T[8S&PX?!XPT'< ;W O)N M_##\E3>[^6WHW(XFDU?V+]EO5+./5R,?12Z8:LU> CIM -.VWSG.86EEY=:6 M)WV%>VL>TB-C*9-+CP.7L"^YAZY9OM\CS*TQO_J^O)SS)N4Q/LR\IP 4M;>S MX;:C2>L3ZD';XFQQ0C&R5:T@FR+<2A*V4TAU*=P(GV_Y8'S&2*:#,)GFU(Q6 MPW;*Z3?[<%I-0PMN9/7EW4< M 2_ZZ'*Q\*7',$A N7C35VZVOP>$+W!^>17Q]5=/4GK SSB,<7KQ/U6BW_UH MOGZ**BT,X(>S 6-\BXB]1_2BS'[Q'Y_ZJBUO :)3QK_;A_$%M,&Q/=LHAK/ABP@V M8V8(MVC@.Q7)#_N(1$,$. $]8(9%W76^D+D2==M)]T]@F'G,B 8SWP%IS1+'FM]1GKA6?;&,+JH)84;0D#)\X* ME;:^$<;ZH):0)#3 E4=:\B$?T51)) _9J4Q^;&2>RJ,/3ASW)"1%1#/=,2PE M+-IU*JJ?]A&5!3'@!'?#-^ 4,\-BH@(%8?E@K7/%DC8E2L!)9!3-,572IG)R MAD80%@H[RV@Y(4CXQ*B!-.I7-[O-2,5$0?'_$KU M5,1\5R$$!6RGPOBPCS 4!( 7RI4H4KM-#3"(90/=[1+AK$G);&@ )YO?L7A$ M"'N#9^Y>9_@^%EP831.LV2B.6(1"+RMGHS*DFGUT*\>]#IUJ4G8HTLW4L4)& M/?FJ>^E6PGL=,M6FS2SCGT_[2M!*KA//2<#YPD1)O&AEF93U=K>DK,GCZ/)_ M?QW=7@T?)O_M#/_O\\WC/XYY6$UCFDI2Y-N1$.O?(36T.81,+4M2('C7$F;Z M,@YRV)[3MVKI6F&!(R<'@E0X4@L2)JY0^RJM! Y"$$JK5,6S]PK^$-@_\#P_ M16",?.\FO$1+/T*!5A2&-A!B3=9B,= "040/..+(8V^]2S$\WBP'AA!+LA:* MB@@(TCAF[1U"UMY-Z%+,%ZU7./WW)JPNMA]($%P3*FY,*H\]:O8"P?792;HV M:> VR^K=4\40JX 0E@X[ZFC17JNDP1.49=RB[\B$PIZ:$-,N<8D^S.F&L1A[ M5[&HB#W&'$4O*9V=UCU+\&/#%[YY])DR'KQ#/Q#6)DT98SW*#T4+4@5N0 VT M'4%PRCN;@84F:(D'IPH#[Y\QB](Z3$2Q34HH>BH7JGC Z3UYG%W/2:D7M?1G MJ503;BHWEVT/"R%MO %WTSZCP*FDSC@+-3K',77GG&Q1 F6'>4K3%X0$]Y;G M*@WUAZ(1J:=5$J+>LN_8&_29RV@Q3Q_X^FF])*H9>\ MP#2:CKDZ\35-^LRIB ,'=J5*WIV=GYT[)\YV#/Y'.HQ#IDXTQ\YZ,(=OPIUD M./%+?D#GS]F0?X%^+N[.L1<'.$LBN$@?I-(>DNM:]..=XR?F>SZBJPG:X&5X MYD,!#^BDW"R8\D,8"IH@^,H<4J*2X&AJ^]*/34,HA^DF-2S(RX(N"(*[&8^T MQX2YWT&L7:WUK'"&L26BC6HI$_'XG\?U8AP_!;X[FDZQ6/>H2Z88&D (9M=C MM U5$+1]](SI( A($@U)0VM:[=? 0XA%[V8-&J(@R&B;%BDF1(O97@W?PVRO M,J>:L[V:)@@BRF.EK^\N 80RFYO4K)"3):$#A" ..R=.K4<'D!"71_[6D.*C M@.TORT>+?,$3Z1Q7SUD_#+NO9^3YU,-^(K:O[\3'D_1C(BO^YQ_#D&_\5R*> M09=8A"%PD3AM2O,??DI]V"L?F&D-8T-F; MI251\$0I,!Q3WU6&GW( $ Y@[4620QP4N!A[3!3=$[J!0A??"(ZBH+A; M4TBE1GL(!Y_60JM!5^M%5V6X*/;4LJ!"K>80SIJ,0JI/%CB[T_KI2Q+RK;C8 MLXRFZ>=(/+7 J>.@HGK\+C.:1:<03JF:F>DLB 6G$M"/%15U)*P%!KV41/G. MR,!UXT6L>!_)T_@Y1JNRPLGU<"W7T_BY3+P^=?U MCI#?5(^0,VS%27&N?V>+L+/&F ,[ FL!6L0[^2;!_'\*G6R03TZD\[]L\#^8 M$^D"Q8(-NL-H%7!/T;82,A>K"QRZ.,6HG(DJ",Z^BN4: M1WW-*^TJRM@6_2B@#ZL&MJ8[JC&Y-14-?3$]3Q H8 M*5\FU,#V[+7TZK/FNP;_-HYNUF.,0LV+A!*@/GV*E4ILCF$DR+=^(+8>\_$; M,7,U!]3G G4WKN:0;SM>;N4J-LEQGS"94;2<^RX*%&Y: ]N#MU:=XEMY:PTI MO4DB39[*(Z1TVAI8 $[;J%,;*:C)@+"\'-X-!]J59!Z@;P=O5)]"\<<V'*'3]<+;=L;/T]'>,6'05ZS;'EFU[\%"JE!7K;;(E:0WFV;HUD(UT M+7VM)5%(_D^&[/!KC()'\HEB[N/IXQR%'\ZNT(IEZ&O=Y1[]0=B2UU1QD]@M M*8>@"!6/=6O*@MG1NZ_4* M34"DN._G 0OT@)-8]=1/5[M'"0TBJ[V6G)2DP!-1$)!O(J_[FM K$C]%TSBH M8G\94YK.G5+!U>L#1/Y[/7'6(Q!^WN85GF*.K)>E4-3-OWR[5_[E>G G&_U@ MLB&VHZE/K)2@?0>+C0J2 MOY0E)Z$OW7Y X4SE47*_P ?*MI0X&3?NGK'N;*( M%TINEG[OVRM(1+_);BEBVE\VT8N>H<7?^TX/T#&TB"F$S9G"49EBO>9F_45\ M;4G*;[_T_AI,]'>,5LFK3)@NV/4V_21WP"!=D5BT@A#YK2,X:\+ A4-D%PD& MC.'H'JNB'_HF$(+#N]B M[R39>F3"$[4.[QHVFFL#X2Q[)PTV66R.QL.28Z;(V7,G_U*^8%2W$P@S:;N2 MEA#=^AGK)HR<6375^/.&H=\+1K%"/9R''LY#C64C/]1IVM^5)A&@DJL1J M%8$06 .@'0.'+XBQ2W%-.^-B["<<4/_LDSNX&U0@E MUNT8PIE NVK3!)>^FPC6%,5!!#:0E>%W#&@= UK'@-8QH'4,:!T#6L<8PS'& M<(PQ'&,,4'3Q&&,XQA@ "O\88SC&&%J/,=SRYB'#?*FWIG?'V[@_[!50R-!P M.![.&I'CS=SC-O]X,_>X>=][\U[U<>K=NQKV<+;O:AK K7&.=\M WBT[WF-J MY@K:H=YC.O#++2W?0#O>9^GS!D23E]!ZN\)R#!%T4S"M*:WX_C;^.<[L7('K MQ_V2"/(8'#?[Q\W^<;-_W.P?3^J_GY/Z##EM[?<23)^;U/'O)U8H*3#51*RP#>X^8G<>DH#,5E?)^O5Q)7W?U +YW:8 M[1K$0%#KI1%D0TN7'$;HGA<=5EJDY?B:D-9Y_BL*O3D./+7_*$/T/OF9U63# MVC+NK;/S"K,O$5FJN5D"Z'U>J\',$NH@'@#\#AYHK;-#/#[3^F_Q3.LG\HQI M*,[)!G$T3ZQ,[5$TP'WO$.T?&-40T;K/'L\172 7QY%X=O#")]'&)VIVY>9& M?2^O[;EO04SK4ABXR,,+'ZE97H;H\["N'G_+F(.8.K^[MW/K3*3'%W1;G$^! MOJ!KMZHA-)H/N"ES9)2%NF5 ?<^U5B_HJI"'$!6$^UZQ9&Z%]%ZQE5X/F(_& MR!5GG4JUEL#T/<=::[4$=PA*?% +?J:=#S3/LGII*&_/SLMI**)7)^G6 MR?=[,+DE&ZY-U@[Z*I6BCD2H4A0/B<94 ME/_6;ACLFD)XT*"&JIJ$6"40E!0O5IN/O_J8>7L(J8 @>M@F%SHM6 M12L$H6V=DL0E7?LA_\Y'P>9,[!(EZ#)3"'C_;OL+$3?%$L726./[#S:4++>( M#=';P&&M"5S:'D+8N T-J<$"<%=D94M2$1/_')(GAFGR!FRZV!0W?3ES C\) MN&\V^Q>(^2RYK/](4A(SOV(1 MM?4L9)"]>(G?$/7%\ _Z9PJK8'"2!C1LSQM=E00(7CJ/E?982@8()"2JTB$5 M]R$=)8TI)U8@9:BU4(*"$-!4JTZQUD()=0A<+YJLQN_( .$X*-+>/?*5N4E MF,*O "[3592@P,F^KQ7=<:XLXH62FZ7?^[XD)Q']IK1"$5-X:X9*E$.[9+B% M< YL($"]4CCTTUQ!ZFAZ2;'G1]?(3>)(=^A%*-@%H91\\\/9)5KR7Y25JNMU M 6^RU4J['G'@PKU%2I/3DLF28N2-POQ&4?5LFGUS"">H.QNQCC#@(KWA'H9B M%@ELDW"S-^9K(?X#FMF%&?4=0#AXW%FL>M* "_8.1;% [XKC;27(8@,(QW0[ M"ZY(2NL[QL\AW60!9HLKD9KS@+_&/G?\XYBR&/&IGFP.=B[),^8?(S::BOV8 M;)/90*<0#KHL9-@4N>T7[@G#& 5YKS!XXDB,HCFFWWR&!\MEX+MKW_]Y2<*1 M*_(,L*A2/QUR=*/1-'M_72;R9OOO5/H_[2?]9BD'YYD?\!*MDKL70E>W1YH* MOZP&[U2F[_?VRFI"P(EH3(F+LRS^2+S"TI+LVC7;2#G;&_Q69 $3GR7 9\$1M/? M$:5\0A_1!W\VCX8O?+'-??^8+PKPYD>6_E7;OH-!S M^ !..H+S9S'&7YPEIDXRS,&D74D-3)=]I6L QZOJ;L:JX>&D99G%8O22<%(E MI.AILR6T+8 D3!CUSBBA-E,GUI/B(QG'U)US]W))%@L23B+B?E&?^5LU@Y!< M8:%3FVVW%5&]5^V=N#A$?-XT5>PMPL')Y[)S61I2>I- AL7GD"VQ*#B)/76= M7C4L@-0"K2YMN*\FH4U'-'Q9^N(JTDW(87XR>R Y?-_Y!D9=J3@=.1V=1WWYFJAJ_#(%EQE0.%5BT@Y&SLZ$]5),&->0_"R+_R@SCRG_%$ ME(3@H^&:Y''#K$Z1X%5:F!>ZQ MEQ; 7RSC*"N>/T0TY#YZ(PE=8+WI07IQ_7NB?K&2=Z )Y[;\90^3SY:UAZ5M( 1'ZLC+DBP(TMK3IYMBS,UU MWU\TNFD6Y36DZ577P<:Z]R1_L"!QJ$I\:ZAON+-&,[K8$)OZ#%,D;O:"SXV> M0)4O;A-DGO)TGW3K[_S4]/R4]N_B>8*0H44TH5]F;6#($'&3Y_W<\DL%*]T]@F'F** HSOP%IS+?*.+Q,(QPUAO7S7[@+#]KRW0FC1" M$.W@&Z+>(Q]&=QI2A(&3'=S9BJ3$ 0B"4Y HXK:S]*VZB]469IS>)4[HV!(3 M>N, A<;#BG:& K+BD1I P:A;H;Z=RI;5T",?.ODCBR3K"EY:-X:P+FI3_7,U M-*UY L$E-.,$3>'=QD?I+\K;$L/DP=Y&IZC#C?FF!'*+DM*?+9%4"Q'+QA!V M QWHEBT[P.5R6O'FGH3/W/_BU&&S1Q*)ND7;WP5_[DGT#QQM.9?WS/NXK_W' MAK!_Z4 %.^+FOX\&IXR_)C3[2L"ITIB[1@)"KOLAZ[2"K;T>GL5/#'^-1=A) M% *KE[][?B8Y&=MTZ."DQ\,Y[RJR0GM<)07M)PQ00D4?R5%" SIETHBAL+!6 MD0)A>I @IX^PJ.&!A$D,>F:0#*0#H1)Z^J"U'!9$ ,2D8AJ10 I:7,1,%,AC M _=K[#/?<%2NA 84E+9T8$I2H$K%32[[-/B::Z.WJIA(?@J:VW:1%[5]!R?V;%\9L?DAX[O['Q_[^RDCV.H MW]DI_MYWW1O=.SM%3"%,B25[,AV3J,'[.^\PD:!;Q1_XN8-D"MH^2)'4LTB* M_*1%U%DV.ZGJK>S:&81SB3HZL"N=X,*U:T(NR>+)#[, '??YG%')'^O7NSGV MJF!KO2X@A/]WD;0==>#DFYWOLT>2*>&:'LP^4<)4/MK<#$+(NXXG)4= M0'BP9T\K5M*VT_G@SZ MGGFI'X9?_(]_^\__Z6__Y>SL_[R_NR9!XN=;&F?$9]3+:$!>PFQ#'I+=SHO) M1\I8&$7D/0N#)TK(=U__^>N_OOOS7[[^YIN__/&/Y.RLH/3>2WG/)":"Y#=? MOZN^.2^H)O'WY*]OOGOSS=MOOB'OWG[_IS]^_\<_D>7'JN%'+N4Z;&T9A?&O MW\/_/7*6A,.-T^\_I>'?O]ADV>[[-V]>7EZ^?OGVZX0]<0)OW[WY/Q^O[_T- MW7IG89QF7NS3+PAO_WTJ/KQ.?"\3NJIU__3(HI+ MV\J7MH6\*^SLMD9?'3V M[INS;]]]_2D-OBA$A*\MF)3-X=L@JSK4&__IC?RR:GI$NH#_[KOOOGLCOOV" M*XZ0O[$DHG=T3<1GWV>O._KW+])PNXN K?ALP^A:+67$V!OH_R:F3_![ LSO M .:[/P/,_UI\?.T]TN@+ BU_O+O2 OZN0:OH).!8Z>B-Q"-- 3I?\[\:L.BG MC,8!#4I@P,Y 6DBSUQ303OP&P0@,)6''BDK+GR>E_M=/R?.;@(9@NN]^^R/\ M>2;_%#KB__SG><*]<_F89LSSLY*:P/#W+U3?=]0)2 [$EJPIOL?\DAG_LT4; M18LW?L*]99>=1<7O([JO6;)5BRK9)8HO_QD]]OA]2RP-((RF2=Q#ZWR[*..K% ;F,LS![)5?Q.F%;$6'^)L48V[XDXSOZ M% *L.+OQME0!7=,,L;69@)5&IVJ#U/:,HO8UP<+J]E0)D)W(\DK[?^!4%8 / MOD9L:2H@I875OT-J64H13PYJ0&UB0_K?N<PJ]A/& ZM8 M/=]GW,#/DSS.V.MY$NB7M&V]T-NA%>RF:1J[H+96.\E/-. &DP41;$C"2,&* M *])+?O!^W05\ >KD.Y^]P22/7MT5MS"]2F'6L:H[;@-IE/M%U.GC3INPC% MRR#@FDN+_UR',7VG58BZ+7I#-4!L&JFB(6H#-244]CD@=?(S9"%9 J2:+V M'5)#4XK8U[3$H S4IK0D2/&*;C=)K-^O5#1!;%$Z0*55'7Z/U+*T8O:U+D&0 M"(K3+I+OJ9\S;MKOOGE\"+-(%:\431!;F Y0:6&'WR.U,*V8?2U,4"')FKS[ MYLO'KTA)?R(S>V >Y/'>OVX?$Q7E,U ST\=5:U16VJ+2*??,Y<48=\'*^TWLLUYLMUYL3[>Z5JC MMT$CS*8M*INBMDFSQ"?:9DF<2.JD(#^MD7[:9XG+9%V]+E1-\9NG%N"!;1ZU MPVV8>G%/M*B-&[B9]"%/?B_Z=>DQ_]\_0%+$9M@&LLF8T[9 :8ZNXO;-IBJUQ M29D Z:GO I97$??@/O!/5'M ^I:(+;(%WN&5U(-F2.VQ3=J3KZ76[5&0=F*, MB1&XS::K-=>R*U"C[* #LM4L_A*;<2_S> M$\W5S<7ES?WE!>%_W:^NKRZ6#_P?[Y?7RYOS2W+_C\O+AWN'QK],4YJE+69^ MU BY0:M!U4VWV0*QD6H$[1UT!3GR2TGP_QV:WB" ,LI2>CTU*N=>5"PJK9SI MN.TL?$H#\=BU#AJB]S"=O*>9Y*+*P1%^>%V7]>^R#VTDPKJ'FO5$;$'=Y._MZUS\J(^ ML?BCQFA!O(R4O(A@YL;')]:##W_0/2.7XZ_O0T&B]([ZE(OS&-$;FJE3C2V[ M(/=U&\"-0=G0'K%G6XG=>X@NB),]=>[*:^YF9!E%R0N\=T#64.R*T2#,R'62 M[@=T1Z/X)/I@-7W$-(-+>UY#(4&2/V;K/")>V84W^6_O%G_YTUN'0> J?N9J M2-@KUXE&?P=-D#NY"E#=J>O?(W9BI9A]C;0BMB"+SK KX<1BVZ(HTL7Z?O: M=<&#%$S$[%>P(0?+?#?Q:$H54,DD%3I(A [\QB8 EETXFWT0_"[=ZKQS<=-A MK7$2MVL;.H>%),9./+ZTVE$H^AL_75,NWEWXM,E6ZQ]Y= '!- IIZX/0*^I$D%\0P> L69]Q%G+ =#-,3@4[DK!9"3N'&8-K?[YE M"1

[WE\#(^18 -PAT#F+%C?'K$O6XG=?](GB2^(("]? MYRL9.%R 3P):H*5[M/$QVBG'X_V4_H8;OW&.JVN+W&.-$!OCKJHA8A\UR]M[ MP&DL0/>$'0VN(V*,DOCIC$NP=3^,2H3&!0%^1VN".%Y-(G:E P&'31B:VU)ANK0';E3=55$W>UL^R)V MS,X0>E>JW3.JYJ-\LN8ZO\H9_CJK/Q3:P!$/[-(AC1WFX_,6B9'ZUO/PZZ&3 M!VND\>1)CHBWA!CM6;C,F"S3/6Z]5TCUL,N6.FJ,W$/-(%494LV6B#VS1>"3 MLX *ND@RGL9"N9-TW?HARVEP''CT&M&VQ^^-9J@'#JENC-LG6V0^P6"!,E$- MFLX\Y7GFK9V0.[@=:'URQXRRZ(?<7:VA6TQQ9^'$]K*/,=%UGFTU(?JCZ6YU*;@R./ AW58+V3-8N(T!7!B/M9KL/#5*HXW-5"&!EJ:Y+V50M^#U? T:R%$7NJ M2LH!5K_.%[T#K79QK'+AZ8@PVXH*0G$ $85/!FCLZQW)W .Y8UG ;0Z7VN:( M'<]&ZO[#8D5;5LFJ4_]Z%-]\INPQ:1L)IT/LUZF3+V^2C)+OOG):V+AC-O:< M\Z^[95S/,L=ZQ*QB518Q6689"Q_S#!*D2):06P]%BN9D:J""N,L:I+VA.HKQ4JK>,I+D%V0JS3-Z=$CB%,-KN,B M3272__;VZ[=OWY&=Q\@SZ;\3(?4%]NGVDC'S[3GS*_Y]3V%'Q'GGD M\CI%[9$X8P7;XV;(75\'['"276^#V.FUHIXRN=R_W(?"WF%P%9][ MNS#SM,FKVM;(XT(+S$:"N+HIXBC1)G'OA.F*+@'")(Q)0=I1:OCX.*$8W1G' MZ:MQ3NB8=S3SPI@&EQZ+>5Q)E[Z?;_/(RVAP0=>A'^I6VU8=D;NK/?BZY[;W M0NS$'83O:^+993)4?O0AJOX\([3[S6#8QN/?T*8SC ML?&U'B".@$R>(Z:*S4P<)_'*"AGMYZNZ;LA#K"WP+A5A$(=?:]&'K0#C_/1_ M'+!'*0$",C+7KE[2?("Q4!OG#AHA=ULU*.7[IZ(%8I?4"-I_-E20([\(@D?G M@"Y,[YJO2:[XG[KL%&7#N9C@$3BE&5:MYF"*Q\(.8(Y E BJ+FVR>CWJ0\(N MBJ>2CE]N:JGRT9$&4-GY &CFQ+TV2*ZGHA#1$< @^64<$Z0+2%Y MR2-GPKD1P<[9RT;3JJ(XBZX.H=&$ 0$T75;'WU8*4W2:E=OK0.O=_;#';-Q< M*_A@[BTYD#T+#"X](NS"E8\21Y"YM,SIZ:"LJL,,7;D)MLV-9>N9N?"!T$.[ M[X@I8+U<=W"X3;<-E7 =N^QJGT7605/-7C-T7@7L-@^N=9F9&ZLD']J7:SSP M./0XP)M>G>B!N\FM[KC(MNN)W,4[P-E.KNH\,B1;9 /D+;OCINZ3(W+VU9%YO:S\E?AUP8JIW6^7IX M"LP85\)7L9]L:95'TU(E1-\:N>>VP*P[K:8I8G]MD[BWV:YN+BYO[B\O"/_K M?G5]=;%\X/^X?^#_^7AY\W!/5A_(ZO;R;OEPQ1N0Y0VT_'A[=_D/WNWJITMR MO;J_'\ZX4Y;5#)O_Z]"H^4?P0'B0^QE?VE+V'/IT^2D\S LT-$-JQFW P'YU M;1 :;JNH_7<=!5'Y.J:D2WX!R@/F!':Q0I$9+N5(+Y*M%\9Z32C;XK='/<0# MHSQNB-LR#?(.:IZ2=B\#W7II"M;WS=L_?_M6V!Y\4@+8R_]1%#8X@-K2%*GE MV0 $PS.U+G,$Y[<)^]PX\RP-WB'9=7%*T+XW7"MD("LJ,,KO7";;@L M(;O"1HNZKL6ED\)8RP^_)K>'S<(8:MY3XK$L]".8WS*2YH\PQ>4.5)"E 7E\ M)3$4PZ<+PC$G8H=\Z_F;,*;L]>O*+8[IIFDHB2V*S[C "_*89R1.X'V(;0B[ M[%FR(!GU-W$2)4^OG 'U/X(DW6V0L0Y2&1XPCHUF._)\W"O!\EI!%N /4T"\%T)H-PO3 $FOXQ4_ D\//L M8\3!TP3[IXA*UH3S=E4^QIF2G)Z2I-EJ7 I20F@S4Z)Q\2[>9?'4?,L!GZD]Y MK['N7WPK23NO]#\%6%J0=EGF_XZFE!OYAJ^N+_@0&R4[V( I0&OGT>8^R!W5 M"G)SJ6CH@-AA[>3NO[*1U(OBU17]TH==K?$FPQSLZ;NL0D0C3O3I!QKSL!)Q MV,M@&\8A!"LH'&[V9.O.R%VZFQ(:%8RL>B)V\HX >EO 8K3--MV]D-?A?70C-.JQ$[KE[6X:;1;M:QPR.3I2B3HYDS!E>3 MV8]0Q*I-'8V6DD4?(ED!VI0+ZUYPT($(C(,Y[" M_Y+8I=_=)''21%E$F9:=)9M^R'W2&GK=0UL[(?97>]G[&G>=0^7 !9.OG&]" MC8]_E6TH@ZP2 ;P85K]RN2%U%7.UT+1E"^JX%7+?U1W$E!,GR!)R^1OH^&B:EQ33E?!T;7Q1#>=:.N$W.GL0#?FL\8>B%W2 M4O#3Q@GC:.GHG&8*W')\7)"8NMSI[>J],W;<3CX[1W<=SV(=^&C;JG0\L,6^ MD'(2Z]Q=:=:Z-738!KM;JB U7+'> +/[*>7L[7(T:V[^3/D^6_LBUKJ]5SK%4!OP41E-T$E7% 5@[)9PNR3,F"/*I .G3%BS#*,VT!,'WK MF;GC 4R30Q9-9^22AQ(/Z90%;1QN.110E6,&:J 3NN;/%.XWTF#YS!<73_0F MAUN!J_51_233Z-F5!G(W[J62NG-W(H#8Y?OAZ.L?)3=2L".2'UQ<.2ZX[73@ M=J07K]"+7U0B.RI!YGZ@UVBF"*&V!0:[4YEG1&E3BT5,T9&87U1I13)17'$Z M]W"F&XO8XGZN4E7'X['VZ*GFEM05V[[((TDG%2A?F35U1!PUNLD_:K7$^X?5 M^?_ZQ^KZXO+N_@_D\G__>/7P[QB\0NKB/-GNDACJERBJ)MKVF8L7F" KK5_5 M80Y6;Y2[]]);$"5[JH/76>R^4]3$J:RWV-86N?$:(3;VB%0-$1NK6=ZAC/2D M8HL#66FMT+2R_IFI'7+KU$+3U$1'4?/,9)5Z68>H?N[RF?H@""&1W(MNO3"X MBL^]79AYD=$@V_H@-TXKR(UGYTT=$!NMG=Q]#7A/G0#YLS F!0.GE^BA2B - MRNUWHQUK&R,W8#/(YGUY54O$)MLB<&];]?U\F\O2D!=T'?I.2[%/Z0XXNU-!;M8]U7+P8D,7$H@=H2^2_@GRD@_YLN3X M%0F+Z4G!] ^DF$7_ HQ)P=G1A1S$^G&YBV-Y-C+#TP^K\XTYG6 ,OP\_U1-* M.\K")+B,C3=XAH=W*I;H2'Q9*SX;K435Y(O/U'FAZDV,ZL/'>S!J:]JFMO+'8E@ M#FZ]L?0.?D"U>/*12)Y$,EW(!Y<7J_AX"2N311F0%E5$@L> MP0G)U&@9_$>>9O"CI@^)9MM5:$\80-U.[BA?,Z9A1HN'?*2F[ZB?/,6"BA@0 MM!N\H[-%'@2G4GSS.&!V_TWEZ=+]3!=A^/%Z3:S5DGC(C"]C5) MW,1<]*H5<;]0JE\?Z=R7U##-I2^WNRAYI7).?;J*%/%"> MI"+;5:J6$.*0=AJ>$5>K)?-BV5JR)\ ?U;1P9%699X:7][>W9%?J9BYK5ZVV M]*F6?:G-,R[9JLEZ*:LG-;_89(UHC.A4'C*8PM-(-0E.6K:.J*Y3(A22!:Q1 M=7J5B59ARHMI;E&JG9 8P:J/?J6KJ@#R;M M@#57KX[:HPX,%F*/>M'J?'G_#_+A>O7SO=L29 #_EB7/84"#]Z\_IC2XBJLJ MX4L_"Y_#+&Q]EJT7(>2NT%\Y!Q7/.E)![#8G@#FEL@CP)"53.+;Z$OB2,/Z* M[*OK[WF[+\L]O9J$BM80QAJE^+E>O(J9RZK=\M5*0Z7#1@/DD>$83-WC]]\B M]F2%D(-5-Q0'&<6CWK<)D^?.!P4/;[B6X8GM1+R61,I"V&[\=6!E.*X-V#BR M@?.6V \CVJB,^) ,,^R/Q JY^X^I8.V)[D!\$(>D4>'VOTY6"05AJQ*+'-=T MY5_/;:(R!Y6S2N5Q662.?PI_^Z#M7"H8W83G@NZXY*$XB^9_1Q3^@%<'MS B M_DM\KOE5++LBCY)=%%"/>C;]$$>Q3N+W=9$ZDP6IV,@W-VN,W$25R54@W]BL M4<>0_%%4O6TFQ>BVHW2-D?NX&>31%:BCEHC]N$7@(1)SE3E@L#""<;J_6#%\8IS'=HNHHO/\%$(@_3C=PBOJ"/NA6033_D3FP-O>[/K9T0N[:] M['T-'3B4RP(X:V_P@(,NX.+J$;/QX9@_/7("$O?[,PHQ>)"^ZV8FR(?*@I@?7+,QPV IQV#(( MV[]\0$&2")IG 2?JJG#"X.#$GD4*TPM(IP\KJ,ECRD5*?3/,X,9R2F+LA=T@;PP3F*MCUB-[42^X2*08(0;$32\!E.4Q;D MG-$@S(@88(IE _GRCO)1+_4B1\\NCJJ%IF<'!7GB%?11U5"J=DJ+RS(M)RJ= M""!W^.[*,!=-TO5&' QZ@!BX%-#^W*%@Z/S084*=G&]@8R4].!_@D_Q,OND6 MA=YC&#D_*SC62!DJ]V'>6IG*KK.+%'H%F&/$<;]910>#^ /'!<5,PMVKZA.H MH<++:C,GMP_ 'N,N5T$\'EGKJMEG=HZN@&SV\%J'6;FV2NZ!?;K& H\O#XN[ M6,2C\MI;1G=>&%S0-65\*58LP99Q(!Z'7XKIAK6Z+(G-SL^[*,D< &PHS2HR M= (T<,@H>%?[!C K%FR)Y(LGCDRBI5(=Q8&%7"7(Y^/]G,$;W<7R 54 $AJ M0Q(H^L]NQ!C5$/+UH*JZZR"B!G!T)L*PB/VW- %BW&T(6%'2?QTEE&V MQ1@*RF7.K?<*2QS(NO)]EG/][;SV>G_T<9IOS/,V2+66E M1EZME=M&979!QTHMYFAC)#&K,&.'9.#X4C(E+YPK*=DNJM!RM*O@*K",JYUR M!448?:9QWBL'8LNG/A 1OGG[YV_?BG@ GRB@W,$;O*OUCRG=7QE1+4]Z=$<: M ?HJ ER_:U_'/A\D?@Y);*K4]MY0>@^46Q@G(8\PK-P_J+L_ ]9GR?HLAX)' M!\>!7X_B^ZJ@.+EB--'PKJZ.VNTT)RNYR95RIS:&2"@*X;JNPG\-_^X^G=+W M1QI&>ZO",H>DV7E6DZL%1\:*XS@SO1/B_Y2&C7#D\%F:O M4,XX6\8!O$.Z@R8:G78B@#RR=%=&X^J+=6_$D:0'B-YI&P4KJ Q3,",EMX6H M_9TMQ,%)Q=+54?642BF*>Z>P)[8KV @M4)T64,Y+3H[ ^*-%=V7TFW\@CA8] M0$PXWT"UC!E+)XUEC&IV@2]V(_B^X.Y/23:$C:D@L3N*C^LF=+,N +Y6">!6?B M"=83GT)/IY+;NAYJO,A#J0?)3KZ"XN;XV9$VVJW";9$2G](@_7S6WZ M(8V7G:$?U"PQ=T(\9;*7_82Z'8*#'/CELT<%D^J5<4=OBT\-/C0^SB9?8:O> M%T>PJ;M:5Z]#@=CP.+&V2I&Y"W:WMP"LVJI5M/>OX4FS%TP M<+WY.CKH7?X8A3[_:TW%XV^^"K6C8?PZX9,:RK;78SNAS$CV+ ME#'.4PSN2EU,Z/MW=%>%O1_CE/HYE\A0T=C4'KFOMT*M^[BV,6+?;I>Y=SYT M11F,MJ+MM%#Q!&@!;)QDM+I>AV*J#1B[S;15/9 [JP5<]3S[J#EBA[61>H@) M)U!'-\D>%S)4"]\OHS'-L$O,5W&8A5YT*Q8#JV(M8#%M:>N/W;&[JD(W\S9V MQNSTG3$,,Q6M_+]@1B0W4K)S55O?E3X.5N&IJ/<'H2./ \I>6"C2&X(P+6[8 M0VH4[,7QH );?[/(=CCY7!=_/.FNC'Y9#8@C2@\0$V8QH$J.&DLG(CEJ5]=) M7NI$E<'@,'B 5N!_D$GZ[$54U%%-,Q;Z?.8&7RSCH/E!K>4M#Y5)<'S'KGC/ M]_*3+THJW_%9X"6/J]HTJ\F%0![$W/PH]4 XK02(@ZDC19R2+[60(;DFQX+L M191?PNSE\+-&!RDZ4=SRK3_872(@ (%(#&X"_,Q^)Q@DRGH3D$#KB]]-#!MT M+Y?XF=C^9X+OYSI6C/&[?>:1?/# _+G&62QA M1BA4R5T3B6M$E=UG'LL^%Z4]TJD&E0W_D0V5G530V;FP[ M(QX"NV/H/?LLGES=7UX#U]GOU@AN[J^;3*:/^WRWBT1@X,$%MGBC),T9E>>] MY>NT=57M-W'">)VPK;A',.@]E.(&;OV.KUR/P+954>:U*"5[H+X^_9&&AMZJ MV%](Z= 9_9V4/EAZ#[1\N/2JJRGJ"^%0.U%PA_&U>$^QJCQ<#+G(9 M+)F'Q>=X]]CY@AN'-N\H>$P8A6+\+G?J[+;[7%:T:VKF7+XEI=&TKBWR.&6$ MV+PNH6B(.(Z8Y>UOR0U?YR%"$G;CW:-C+);Y^]7<;@;O(S:ULG\$SDJ)C>:S M\MUCH'KWW;>=C0T,?CQ.$B/7#G!]ICABCUYB_7_ZMU<6;@1??EZ5_;JF,HVL@CPJ JK(>/00@CCC7#XNM]B.=E MQ1D5[+._SU.XMRS'V/=>&HJ=@[HTC\K4!%J0ADC"T>M"@;]78I&]7&0O&/D%1"-"-D=[#.A4 M/*,P6IR.A?'3+5>;WUZ^UM@!>6AK!UL/4OK6B,.-A=#],UJV6X^]BII*X5,< MKD/?@Y?7*XZD9.G0GH5_K=9U[^)1H";OL8+:I@ GDD3N$T,HK.XUI]!#[%># MP.KK>*0 M825V7\L&XD1F@GRD'M#>JFZ+.#;CMJ&UK<\,#=DX.!H[S,R4AXO2-5NNT4

[PM Y&Y!W+WM8#;?,M9VQRQZ]I(W=>"*]JX;+9MU&GI,C^K M-8XYIO;SLMOA0F]%'-=&YC28W>XVLIP&U_MWS(N]]S,WD@.Y+'*!W&^CI\6]EF/LRSA80;Y#[:.]DQ>*:1NW!F>"WV5& M4*IBBW\@#KB=<0R@)WBNK'A8R+,@I2_7^,L'+9!G@<05GB?4+[+!]I #':AF!= M6^36:818-TYE0\2V:9;W)-/,2M-$,+B,"/,D#]1V$$TZZ) M[S)/!%:R$=-A*/(H.9$O@==74+B+"':3.7#[3FMO(O-UZY;=V'X4YNWL8^QB M0@T9+E'(:+VH$CQC2_=. E7VP\))HLI)4I )58 80T%%K%@V8P5PA?J[,E), MNNMM>)_!K8I&"*=#K9@KT*OU>;*%%;QPP3L:P>,WXBD;(2/@" VU29S\'CWM?UTC;;L'I5#\7GS.K MK9?3J4E^#E[7@JRWVP'M,^'2I*!.EHQ!%?HMCCUTYQK"%YC.X3FH3,;?F&M M9"W3V&^<'K15/.I( WG0Z:621@6C+@00!Y1^.'I7)-IS$U/G!C_L'M(V4G=R73Y;K*,-S9$'A3:@ M=??7M47LZ*TB][]%5A(F]-EQBOXAR+:!S=1^9N9J'*ZTC6=DL$/>>ZPL5I)& M,-I,@M:Y?Q;770\NM;[*_[>\:=[>&;GG=E."XO9X2T_$/MT1P,DWPO>,%O(N M\ROYI?BOA**87A('D.T(;TQRZ<)MK7C-U?Y1%8?AX<>4KM:7 M:19R2;1O9Q\U0N[N:E!UMVZV0.R^&D%[FV8JJ@!5!/'YZ,B !\Q).0=#C/F, M7CQ:L%J?,\J]_BY,?X7,ZG6MOL-YGF;)EB-7'3?W(X/4 T]53)69TH,&]MR4 M4R#U-?_:]@[W F]?9F0GW1WR5/R&7*(6N9",,"Y:K9QQSINQS MC!Z\:N=#= M^9%>)%=R5^FE6<6E8NTD;67>*IIPRO/ O("6EU_*6S)WU*?A,V1LRH%0,SK9 M]D4:GGNIH#YOLNJ(>#K53?Z3;Y/M*>.98#E3 8920+6Z)EWV0;KT1^[ZG56A M+!?4UAEQ".B.8=AZ.OB67*XUXO9IC&<:YQ3>XWF2=S?L(H)-/^21P!IZ\]6, MEDZ(/=]>]OZO2P@.>%Q[.L@U%@[=^=)C,5_>5MGZ=L[>_;& 7]_?44?$/VV#J8YE8?K WB+'I=!LDNHT'M7(8E<0+[36)Z8';B MTR@A=>P!U%-MI?8C@WTW]4148VVH[N06*7R2)8050A)/2MGHT)!SXOU41]HK MV9*";Z/P=8.S^U [#STYG&O=T!>S/NPF7SW(( W:IRJF/CWK2@/Q?*TWE/Z3 MEQ>]P^";RTVNGRJZ7*5ICC2X0"XVY,K^'&:;\M!H">\Q+N.JAMGK VPKM]^D MZ$,)>8@Y03W-.Q6=R2 .-*>@.>$$5/ D+YQI=;PIGC&3GPL!:O^N!%D43Z7O M3XB$:.[CD0LUUMY%@1?*./?P&4HB%/^&NX]>_/J'%&KL4,8H/(HN]ITP;!UO MY82?K\5%1A]WWM5C%#Z)I0N4.X379A_"+6^R6M_S3],UX$MBJ_ U/!?DH6TD MM2HWL8=A@3@DCH7TQ-WB!:DD(C61R%ZF!2FE(E(LD4E2$PQ-N,2FXGM_0X,\ M$OL3A]&2>%MY*D]+Y68)>:2P3P&;]_^2[V!#Q%WG\&*DVP(8WM,3HT_%2YF% MFJUBIFU?Y)&PDPH.2E:T=T0+ >E+?FHUHE_&SC903J^6UE=D] ^+_7H,YG MD?0#E5%ALI$S!BI\A/M8+N\N%XA6Z^HMFK+NO%9M$AZFA':8LPS&:3:0:6KF: M*=! 7&81[08'.\B4JB84V4M%2K$(& BI"2:J1AQE@B,,GBC5S>-H>%;I.]WK MFS;T#2=-?E/GHA.53V; 4QG[ES*(EV4L?.1MX1?($NBYY9U2*)*\2:+ [;7R M_2]RN=U%R2OEOP9[#F$[KBP072_AO(R$,,6^?GG\QG^5,)%UI>WC]O#\9A.^ M1U*U.HH/S&P6P7PLS"/5C%^4[XL&LJ*KMPLS+P)I%F0ISKX11G!T.JX%EA&5]D8LQ&WRMS; MA+VZ^?X"-)T:[1[>C;?E?S[P@3B566T7">3#Z31DTQ&[&5N#;]AS:R_,AFTO M_$ 6+JFZM/&KV]5'NGVD3*.3^O?(+?8(2MTPJR\1V]^QC'W-C%,:\![[/9^/ MQP&/][?Y8Q3ZJ_6:0GZ+TFZL.B U)'NPU>5S8VOL=\SMA.\=ZDKJ)/5JBZV) M;X*/BU$2)255AW%\]4P9K*'%>R^K'?SDQKAN:H_4/:VAUN.^MC'B<:!=YOZE MVP/*7E@(NS=_(,G.]2$@CTUB7TLL4RU6A8;VR(VV%6IC%JUKC-AHVV7N?0=5 M[&'@61;6 1J7@2;_%%[)__G/RS@+LU>H,L=V MB2PA?\&'2$@ZKWUTH*E.'9'Z:W?PX+SVO1!Z<@_A>Y=O%&Q(@^B" "=YZZ+V ML=.9/7=Q67_G(F?RVGB8!.+L-[VA+^(K_33?LC-2!^BGA.8"P*8G0D?H":#W M'I,8VHHZ3Y(1D9P6,J$M71 HER79.4J$F$@5@AX)!2.7GB_JM;)PK\5#?=0; M8/?@(S -+ZV^Q>R)QT*>9&)$T'+D2L-A$53VR9<#GI;XQY[XH0<) MQZ* FR@^)O,$F:C,5F8J4S&K_$,*N94HLE M+ZF:DMN"[$^T6LY]QHV&CO4A?_[*/!8BE9W;2%Z>+8#-!&%:/) $RW#(9.<3 M$WA$#>N:Y#R)G[G"1?ZI_#L+'Z/:C8,^LSL;HD@C^+!*LU[;M%+$/-,:!MB8 M:Z&]%.(QP[T@_&BPXA(O@QC M.:M,OW);8GC_>"4\6&E*'=S" /:@$K6B(.)RT"GV#G>[+R(5/WZ>%' M6-^_OJ>QO]EZS)0/8-%M;O:K 6ZTY(,^<[)IG>@#6G?% $'FP!'\4C9S'D%[ MM]F9N1JXV%N4\;VAFS$34M45NTD:(AUV+W'H[J4!16][<$;%U=Y/_1&MW:./' M+Y\;S=K0'+DEMP&M&Z^N+6)[;16YKXGB>L%>L3!XX$R[K?UJ/9 ;K07 $&&@C7.*!6-U6=XT>R&69N[8#9M2\E[FW=!?\!SWY1E-1OF_SJT7_[1/S]Z_Y&P MBKEB&J%MA-0ZS:# &-4M$-I>BZ"GFMK@

  • MR(;.@,.A+L]AHO-FT+ZZZZ<6:Z37U_BJZMU2Y$ MRZ:R6X3$=,;T=5 TU:9%T6+JN#3 )3&@PDX0U<2MS,E4NDU%;8P,ROL9CXJ# M]H1RYGRW,8[BDM3KDJ5M@4 7#5*1VK0;84)IH;,3\$P,2W6I0BL2/2IYTBZ? M5ULMTIJBU2A>3Z5>WZ:6CMXT^JR@D?FI:"/X=E?IQB53!H5V"MAL$B,*U7UXUQ@-\6ZZC!F\0=-\: M>(U:%)=D4F@JK*=YN=#7!7ZYG*L#9-.S2J!DNJ*JV=L4U^/!%@VWO%16]K5Q MR^! T93M#36^&?7J#B?M"++@6\)VYU6[,I-N$ZUKJ-(3'4.J;UJ3EB_R0XGB MXI*ISA?BE6\-7^6WPB[B.OFZ0DR+,>TQZ=9W\!9?&Q+Z%!V6'+7O#,7(0Z*X M9*KU>V<8]#>3.10F2CS98MK_VNS*;K:=C%B2,Z*X9!IW M7L; M-P3$R<=UW<85R-.0GOD2VANND:+I=@VBU' YG4K' $5IONS3I0!X(FY5( ML8VD FDLCO*=UHJ:S%JFHDRE?J7I$D0M>>PW,";!G6]KXD-<,UX/6\K*U[X^ M?WCIF(+0R'%=#!98ZF%A]N.*]458Z[A>3:\^ ^_YK<>G80>_]6-Y6"3^A6;? MRC%[L21\\7PW?N;<\N[(^!CJ2%S\75::^"S*P MKK',1K^@U'=?/[VR3OXN_N4OA7:./_]P$X6AX+AD;US8+R0)QR5[XP+QDLUQ M0;^P;YX A.-RFW')?Z'>S"V'XW(S'H-XR>2XX'#>S^"XQ#Q&P'')WKA 'LOJ MN%"0QS(X+@STDS,Y+I#'LCHNU)O**W!<;A4?P]\\90['Y8_&Y1>/6;\;WK]% M)[S,H;F2O,/;L<$[ZP35M<"7__L7^=?O=@C[)7\%P8NWTMC>Z:-KV<55U>-;G%.\4^APB=RJ(?##V+@ MJN9C3J70F7K/$#J*,4,,!P[_XSI.;_K2JAK:H:4D2F>/: *9<*;ORXU*YH-% M_%GS_/_WWP3[;^A2/8!+=9CKTS_/T4$-X7R$> ]#?P[?)]&Y?!PS MX)+#FP\S+U[-#!YMK:2LC%1@ =K!QWSA![*#HC8W5 /RP6_YOP]D!\(ZC)W% MPY.[A)'4;2C@AEXV$'/Z8!#WK57K@/4;+BMX7\K M=0AP)DO99F*KK5:P:DF.LDS/R@S5ENE7U!22TFFG5!+&Q?= MJ#.F@BE:+CIEI^G6L68GDI/SM3%LT'S^"47)R\@O0@!].WB4L6[XR"6#'SNY M\SC, &X51+Q:?E*=-X:F0G1(!^$98=?A;DX+"/$KK/ B>':HR3=:(+[1PD"6 M5OQ(1AUA5RQ7K2TK;I<:H 4*T,*%Z"![.+C%ECY^F_GT"G1 0#KX93KXGDH$ M]L&JSG&I?Z2&;@$U(VNXG$@*QRY#K8BO"+%[66K8,B/#R'-48*Z]%47T^&D? M,0 U,( :J"<<0R$_7) ?J,?D!^96?M!;_)!JZ7LW$%^;'GI:H!B.-GN^5OC( M"RUAI*C3;M&5ZMO1J&R4U2;&GID77MU8_)T@"E&S1K;VQ4@:TM,>1W-.-,\# M@@"J01B*GKPAXCPWET.*^';D)&/=< Z*.)S9R!A%W,*%J+<=(]\N$[:$&^46 MCF[0A;C@+COMBT4&MEDVZQ?6 :"/0]\(Q\HE^,TQP?WOR5=\/ M03P1R!$_W\T-.BH7QD2))X;$+QL+ZJ$-YUMGJ[0A5 MARAUZ^:\H:/&J-:R=%N(:*%:HO3UO??=D^ZN*PM37O:YI.(4* M-B+TZ78'I+I! N_U%[7)R2%MQ5<[H@4WA,]@7/679KG%9+>K[3(>EO+XC/, M65C/ZO2BGB4*R("J3(M:I*V"/]PD_<-Y9J&-!VYMVN@+RF*P%,M\I= )DRLA MR/>=:9*'L#"I." M+A$"^&QVG;T!A=DMEX@=W(%=PW#"T\ J[7L@O&S4*0Q'!;A<(LR'U3'!3 M%_/7W]@3SESHJG-(/UE-GCESE.(.Z =.JY\AX^/,X8T[L.N[CGC<8"HL,]/A M2K,Z%1//Y^WAWF3S-5$'5U&2[\^%]Y=0,M#\ -P>[\YS7OS1,U1P#?PQIR3N MJ<=(';G5$;0[)8-/FF/2^P: I!@7Q7U1]ES?/Y%GPI;' V^#U>=H>UEEY)** MY<=U<+LK'K,$_L02-$PS>90TD^NW&>:C/-Z8WCX?Y29VG,'$%6C']YU"'C4#>C+9Q1D2/P(9AQD*N/@ MUI9QVXR$6[?^UG[*I\?%3S,6;FT9M\UHN'7K(2YNCHN?;*7?VC)NN]5^Z];? M5LSBK#L4/Y&V&"%R6+.&"UM J*58\_=B!75_/P,H7CI4'=6UM<9A\^&GJA:" M9%L->>_HJ-TS0KM)6/YRHLM,HFK!/I$8!34M;I#A<&O W38#XM:MSS3=G#E! MXL-,42 * 2+AJ"&UM98P#.J&YD\XP!3D!YCB_O(:/BS*VU0\=9%6Y,4?YAJ# MF\GO_D #1$P#,S><6EHF>.":8KSGRX885HH3EEOM\F:Y.^*(8>#TIHL_R8;X M@!9O:304.QVQ)IIK3^K*WG*][Q9TF3UJ\1($\91GH*;&>2->689.JI?.J,N; MY79?35/KFGQQ?DDNH=BJ2Z4R@0D(L2=DR2(K03^*^>+"(KV?BR>.$< LX^52 M/$%DO-V9YXFW#S,YO&&URY5E00J1:FMJ"B9=92\LXS<9]0KECA"N!*VY[GM] MAM@J"6:K=[V M_H:(D\=#S?=(U&"+SFX?RAT+2UST)#29?TL.YOZR*Z^FHOW9X)Y%T:AS'VO] M7&,*Y8L>THX_W9A"^:*LV#$,ORBD85QIRVZ4F8(R4]".H;R=6"6*GDUN%GKI08'85S*Z"V55O9U<)]LIR=]HAI-HYPJ9C M*U1NT67D3Z6EWBM.FYNL?YB6(W)!S^D6)W,ZX:(@QE6CY]AE8%^@9N4 M,#L(9@?=;^#LK0W/G\[2)U8(H\)Z(P($IA&!-.(LI-&]"NSZ@3I+B)Y4=X(=+T7+(<=MFD@.IA5 MDU2B-Z?5^TLE@A?0?:9<(A@A.]<%=)R(#\B^R=0E@[6\:E'M1OM)S!+$,4!& MDY?23/ET4((I7%FA#[@5#5.X'B&%"]HQ3 V"J4'0CF%J4$;M^"&R5Q[]!KH, M9:)D^%4=O*HN*]T$[[2#6S4/=*==AI(M;MU-$$ W!] =7GZ7H8R!6W=3 M1JZM.L7I_'A"_5JH:,=[]-#X7UZ9XPZ/:C^_"_?IW>^Y YW M.MP,?7-;-^OYRFC/8%+15[C+WJ>W]HQR04#JB(27:(*M(=5>V(N)@SI>J$?% M_\-.W,8)L?,G<;DL8R?52_!"O?/>67%-PCC_G11G*E'ON$$U"I"%ZI!Z_4NRUQ_"Q06E[X M.":XEEEFER-K4^M;S.A:5^K9/KH>M=#Y6 KSDB:.Z%&X/2Q0#G?J,4\8E;YS M MZI]T?!T;L"$;Q3[U+LL=U&.F*$2B ,656=-I;YA>E?>'W1C0:5""<#0\ W M1*DSZ5#3NA8E>$\NU7LO')&$,O\5*/&PG754#">&7/#U!&0Q_#1@4X')#R)8 M2;I"9B@V/R>F,YD@L9E,DC0E*W-T+J/*;*XQ4T5#&39^X[^4Y[^(.T]SBK5> MOV#G)9&I>+WMW'&B;KPXD_.O2R[0NB&..+DFA%-W+#!,9QGY,:W*&/&Z*,J3 MKC"L-4LFOR2G_&+MS-%J5TZD;WXL:6_'9C1B!,]4I$6@C#BLW;-!R=3K1Q.9 MCZ9T5#6U,:LRJVE?X'I<7!)#7Q>M&_YT1#@JAXISW&E@ZVUSM08/3=<4DZ,] M/RK(.X$N+GIRHTA,69>3B71-J\RB8/7*RZ8Y%,/!N"JNW6T9E"13SPP$(QA$ M,TTR&+O=FE"S8JFFQR53;<*P<6C4QZVR@$?M2E 1:"7,@V>FVV26N^8H:MD] M-"0\O,-Y86&I)D53;2*M_DBN#3P25<+-3ITY+M[9ZS(IIQZJ5$AD@SB]K62+ M+-&>DIO\>LS%)5-M6C01OEQ=XR6AC8A22V5VD[D8Q253;FV[3JS")\8*"J&=>SOT1KF_S4!@]-MVG5G!!MLK=U3-L,FSRW MF:-V&,E4NDT+U*HNIQM^+&G\>*:N.LS"CUN?!!M>F7ZYOA)+AC- Q44S:,]; MCDTSG'QP$WXLNK,[#=XUA1;*LY4&3M.M8GT9Q;R7>CU/RX-=OCZ@S'7(]WAO M->.&K!Z73!G4M#TUBNZ^Z$@&54)7*]&O39>@9*JB3:/9Z/FUEH.NM?6Z5$0I MWS.[<69=CS.;3%95X:]D7%L4B:EA^5=?JOJ\Q!+A0N##H4AW:&3'E'1P+4/JJ4*! M,[6Z4JR9[0;>&PUXM3/H<<=+'5\]U25K(6)O0K1L1'Q]AREA8?!\']N/19>; MTK!7CF0=-32.J3>V$P%SN\F]$*G*RIHMK?#*/)#6J.CD0Z157"X2P<5499OH MHEY=#:ME$W&"3:<]ZB$1IX.BZ)/ENJKBU[N42H M_6AGKEW'\R.].2D6DZ(I&W3Z>;(SMG1<"L?3SFR@-0BQD@C*I(QPWAFMQU&; MVTH\TZ'%S4C'*G24G))/DYK3F2.E>'Y$\;DX<_BE/5C/DAI\,\/$?WEV)(YN MJ>I:EK+RM:_/'U[Z*73L?RP.OH:M;)'$JW.^>:F(I> MIIA(%'?"OU>NGT2VOGJ:I03&1GOUS*/GGKSXN:@R]5TK#+17#;WRZNW%W\6_ M_.A:+F[:MY\7W6N#XW*;<6&_D&\F4L!Q@7B!X_)R7% X+AD<%^8+\>89:#@N M-^.Q-V/8<%QN-2YO:U_ <;D5CV%P?LG@N$ >R^JXO*U] L?E5CSVMCX+'!?( M8W!*AS*W_:":IK@2__ M]R_RK]_L$!S]DK^NN*^J.8'F92YW[I[S!;^9 ?Z[9L!^(:YP*/07K>"M8Z+? M\^3/=QKT4UL AGZY C-"'LB\%5Q!1_*,/-!W@]<4 !VC^W>,;N4'94@@XT^1 M<3AR>E!-2+*WX43Y.5TE<) 0,1PX_(_K)[WI*:MJ:(>6$F@S: *?TTEZ>7CG M__TWP?X;.DP/X# =IO;TS_/(!+$/Y0P=Y'0>1CCJ0T-_+E?G@:7Q"_VRFIO89%.B-V[%E]8#;#J8.^%VN^K*)#@LB^>?\#SQ MA+(7E-S\] ZG"+*6#><1P.+.'WIPITRPZ\)UUR5%LZO?%.I#R1N)V)S*706 M,[10,48- = "!6CA;>(:CW" ML*>MJ;_ +TP-HW%E1$Y0>66N2P$FX;B">S@0 6)B:L#R3R1S0>'=C $C0U<9 MW3\__.3RH4SI^UU()/.WZ>$G*IENW(-8H8\QIH+Z_@IM%:I1-[J22N9>XRUK MTR=1%!\H=&NO35MK%?@.0-8GSSR1- /O%+K!G4+WSA _O07HLWD0/6E3+BN& M-Q7*NJHWUJ@[RK>[EYWU\\%JA9C:T)5"BARI/;-:Z.\213WRK[\Q@GU"R;3R M[3UOR5=]/P3AQ)P[CT<#K,GB5\8=E0MC'LYI6\U3#3_Y[>%K=P6:?+X+I6\? M=S];=/!.\?D+HM] ML3P*^_W^OBLGE_7@Y%,^3\.+>LX9(GP(0GA/F^MKX[ MLF2IC0?5:+\6E(F/"66-YPD-Z#TSEXUL?S9.>%N+Y:XXX6WY$CAEW:5Y7B'C M_4I+K+=5*3[#E,74:L4MIA0PJ3W=C9<$OU\4MW]X-\@?3C,-RZTU%$LT3&6J M1PMNW9^5JF":26X.>6N>>8A$K:2;D*D2=PZ(GJPTQT\&,*=MP6?M4?-'SGUB M(?O!SK-.1-D;4)@0=(D P&>S:[@OE=',EC-'#N[ KF$PX>CE<;-EZ >@3G[? M_PIZFN[B1/23S%$T[A6'0&C4II M(0EU6AX5:OHLJ#C@8B9P\RS!PK29SY4V<^80Q1V0#YQ4/T.RQYEC&W=@UW<= M[KC!1-BS!Z:#8-X4%0?KUKBVD07!XL"]@^1[,^']99*TM"!GN3Y,#&< M'_F#B/ECYH932\L$@5Q36>=\YV>V:LBLB7FP ?8*EAW[RG3W9^&R4T91I5%R*8GV0_ M9;HK,D\P;^=#;8Q93Q2YR=#4_$%!<\9V,7+/+/+QFFS"85"S(C;?%+30Z%6V M,[SB*]V8;([B/PR9UO: C'/Q+*9,P^Q"C/.3E*?[ZHH+Z0F=.4P[K,H1PS8\ M7E!V;A\EY[V=M3^S6_/3T,VBO)F/-E3%ENC=*%JSVV%3ML%""L1J&?*)H@DH M)W2##+/[ MI%!8@RW14W\')Z^6"PKW.U@202O-+ES7&K:UW8,W&9U7[)MLB5 M5!_RI(J[=F?5!\N@@T 1\41@;^D2WE]:V6<6*+I5N/9.76K?]U:\$\ M=CA8$'>]U+[.)\P>N;6VU"WXXC.)4)V#+]Z.DTXG)*)JI7(,5,XK[_:M@M)V M;\L=X[[J"ZMF>8$:#:7J[J M%@ONSZ1K=7H6I*:#=K6)V:8Y))N*.'9+'<3XPSC:'\Y<72:8![5B=626.;Q7 MFXZ+;=X":^5$UXI]:_?O(;(H/ZNP5882)+/&"5 !ZS,H8-TJ;O39 #W7#,J ME76K0,@= #&1FXG)8*XHYK7BBJ$P+=:M7%Y*+0[-4[&4!!+(9D+1F(_/3XS M*:IUJXC+'= 4G*<_@_K6K4(U=P" NX[>W&!N[9 ST_0;6LU<#U2RS]>0A<=T MP=P*HCUO3Z[WEU#U4#I=-XO79/CT.Q3T^GR"7C<+VWQF''S"#;JL*W_=+'H# MI3KJ<*M Y(IH_.:36+DJ![3CK-EHFA6F^U5O6&[7? M/Z3V86FA/3.:-NI:;8+N^&[=;<]G@53D9 P[W'?_1.+I['$H)O9' 1?(+U!U M[(:1F ]3 ZHOETMT4)@)_&S7,VD(-Y >HX2$29CXL.U8+'>VH.H9" MU3&H.G8CU;'SG5F9S5I*KYU?C]'=RK ;]8[<[X_TRZJ.M4J-]DB=&:)IKRM1 M!1^UYZ0=.R/X47:,(IDG#$V+'4*$0=DQ*#MVK8VCZS/-^<_;5_B175$1;BO0 M@2XMU_@JOYET =, W3&H @1UQZ#NV+TRS-LY8VN,M*/R7I#1.C;S+%SI++@_ M/4_W'MMH.\/9*)K%".*JTML838NMD3I@FT1XC'FB<1I2#A0>@\)CMQ4>.W-, M5R"GL7]!1'DIW$["6B5(CZG)#*>QRU=43H>P6Z,.83#P<$ M=EGLB672)W6A\AA4'H/*8S?S@RGGVCZK2/]29CW7X$2#]M91\5P8F &7T\ &\-/ MPSH5H?T@SL_-/K])-P]5C1? 4N-AU+P?!I6@WQS5_D++*2HXGZHXL>>LYQPW M %%V+_[:R1GQXW1/L7(KQ0N 0%RPT'PMAJ(2QGY_(_])\G=?]+EGK^7S-C\_=_XA_/?Z=:FN(!=ET<'_Z-*<%+CM,,BO[C M(GQX'+9CJW#R>7+X-DKTBTHG/__/?[VL_'>Z1U372_^VW^%!8KFIS*A$CA&TBP]5=F_#F\] M3Z^EYH*?6O:A+UF4R16%0947Q,/F7;7%'\CAT *^W2H*+5$HQA_$=J-:Y/I" M4>S'/YM"JR^V2SPG5DJ-]DT;\:V2N9>US'VO9JY=RH&*YN*:#L6KT7V:'=_: M5?VG],SD__-M]_3ZM4QY&F]6N>K$LY ;^K'_YW^O]='X*1S3"#6?EQ4-I652 MS=.RPC":C$TU8IJ?3>>8.CO:C?+M_AV36$P58HQ(B&Z;6[K>#QIX!-(#7I?$ M]6J9=[5-0]+JD4G)@Y'2&'5E/%V2H1UO-%XVNB@21%VIUF!6:$^7DY#WCR5W M_"A8NA9:%(9>R'BM23-2]KI,R.CKDMPXDB-CL1?,=E[C6K)FV.&4KX30$\]<2H]H0JLG/F>UXJ(Q7%'@Y[M<$H?NJ)8=W9A7:>Z*\KZ%HN]P8U M=32;@GX],:YAV,.\I=)WI?JF:>_'J_E&-CD9.S&P X:T6V/)=LQU;[XTUPK; MJX=2\-2;=O=1#)^8K36A?**4AL6A:X7X\DJF,>X MB8&*GQBMTCXRZM69K9CMI8+H!5[ME\MQT1.C-0[Y0#8F8QNU2VY>:^N5 #5C M2CDQ6O.&.+8KP20VPMU\CR][M8(:6Q9^8K3R-7*EK!R^;H8ZQT1,B.CY51<4 MI5/]VN\W*LM.GQ*,YF)@%:3*C6;5@(VJKI*7L.2)2G1XOKK2L<3^&"4>YWJB&1S_MX3-8G;*#H M*R0J+ E:4@)ZQRWQI8O[\5-/V$!3-I8=H[3TI%VU36(UOERS8LHB3MC J&J2 M5 C;;HPBA*+)<437&[+/%3I6(+ M:Z&N4WMOA&YWOA87/6%9?L02FR*]:9ATI1"B^!(KV*6X62?,A1.5SG;M6CT3 M*?4VG5F]F+?%"!1-U34?M5S,TE 'M2F7F0I\0Q!U'11-U96;LN9PX P+:-B: M3JM!?D]T^.2I*=/F!UAQWQ#S/0&G5)91JX2]SL=//36_Z%Q5[.">+BF;A8HU M9U:KQR9%4W6-6I@P[ I\QQSZ2I741@%#TEU0-%77J(*:3("LXX&5>ON@LPZM M:!77]00*-GI?CODEZ*$B6R^)EB+5]UA<@1,HV"V(^:9L>",)6:WV0TNKE\?= M+BB:JBN"UP=EHF0.I?66L.:Q6Z2TJ\E34W75U_N!I0SPO$3OPL5$"Y%^%+,V M>0);K3;)>RIC+E&>FK2U!D58XU)<] 1@AJ.N7J^1/"O19<58"0,%6](1*)H: M+6W>9S$,D0)A/9H[Y;D\;,QJL7MS EMB<]Q [=VD)?'LQATV5Q&R;T6@:*H' MN!@L>X=OME&Q8X_H2KG;H/)=4/2Y!Y)PVK>5]"%*&J^B+67E:U^?/[QT;T% MY;B:!LLR];"<>PX;),M<)0S&L;)L> M&QDOB\"7__L7]=?O-ICX0N0S=1CQU"[/FSL1HK'-->.O%WY.<&;:[-2YM!_/ MI$$L9!0+A\%*_SQM]/CO&CV&?J&R=<+_EXT>1W'\3 YRQWO^F5W8BU-GE*M]ABC&7GR^\>Q.IX[-X+W1'0<#U^49-U3 M3,-FK9I:G^M,49=)D/*!Y9\H[#+R6A!Z$'JWA-XK"2O"-O=-44=*@M%J[48] M0G"\Z>\?NOX8]"1YQ;++-4*;NV I>NVJ7FK601XI'4./B*''GE&^*B-+RQ7Y16\73D'&X9S1V*W**[<:UW9_[XE'H M\MX##F]ZHO^'\ZL7NT_G*JO/EZB*/UL:^, Y,^X%N$[XQ)A/-EI6IU0T=SXB MC]>CXL0;@G-0\7*4RE]$]PSB$N(R2[B\[-+T-W$9M59%M8KNF\):+J!RM8HW MBS[ 9;Q6)?)O*9[>X3KUE8-PA4O)H2+;0Z M/4%#P2CR=&LY&'2Y&,2QSQ&;\-E]CILY&"W72<+=0#G*T_S@V;%(HA%)4#QQ M-D /#3\!8B> TVC'TNZT*4%?%&%%O M[=BIXMQ?2M2$1,.093BKN<:1120SP*VXB$ RQ";$9I:P>5G/X(^P69\H?"#, M2QK*5[@1'519!6ES,3;!;GK^C'=I9S!"T?%<@-1XO..^CMV(3=QCKK?+N> 0 MG.:KFJ/"* 5/ )%-SJUN-'&9,B8779NVIUZ8T]&M3PO M<#*;1"C2B3\0O1"]$+W7<$(^A%Z)JL_*^T'3,,7^#?&N7 M\LXB$S\Z%D#\/IB'5B)^'29JO'"%D]$5SHW.N62(A]4SY;7(HN5[Q.#5PQYGAQ)P93HJ[FD^)F! NPC75L+KY53?1 P8K]*<\ M_MA9!/Q"+,^L1P9RJ;(5W5TQ1?*VJ'_Z\ZS]#J?4/6 M6YM3,SNHRT)H5*5AJ*X'*]$+EWYRP2[(:W_"\V_=8 2EZ] N^Q;BAJPY=]4R[ZO6#)]].2/?8O;.1(=3ULI MQNPY8?T0R7:#A>;EU-#S0*+Z(<0-5S-P-0,C#G_$.T>L%;6Y%B-K)AP@QSFS M-L ;E\#LK1C$QE4U?X(LRD);I+<(B95# M:@JA7'\\7/:],;IS.*^UQ9D0DY-;:$%4X@ECTIEECQ672+HG9[F.C@2:9Y_; M=[BUIP]7.(^WPGEPIR-!)#B?>O#FW_V+,=S9M%19R2*,V/>:0TM:4\[K6S[%N"SQKDP-6'0W[+)"QQIQ#2^F(OH0N4#?CJE"K$*L/H3O?ZM,BG=@ M^QJM/87<^36K,#?#\:!C1TUC7^I' *W)X3C\0;/\CX[$<\PGYVD;S0GAL7NX MOLGN^N;!@Q=\7!?0E*$1+/C0CT='\YZY:W>"N:S>=K&7YL.F0#/N!*U@6K'? MB/V,_,'/(/)O<1>$-X3WYX;WM?V37X6WY-3TM8,+.EI?XEQIL$:GI74"[]@Q M.77;SOV&,WK $A!WCH2^]N*XH04Z#F9DP 728Q+09?P+.\;+"?9)(-:>2[[6 M?L;7^[LCLW%), EZ7D!IW& #HEY@HVE7QA(%08J%&1@0I0^/TLNX">=$Z7)1 M\CBLURJ:[;YK!Y*RWY.="* 4. K4HVH)/B=AO'(77@@3P-7.^5<[4]>;:1YR M^/NOV&J;\UW+F.7^&TW^<\^Q\U>\!?W#8]O<1%VV5$+^26U*$1QA9-M'?2)R:?O;H#Y M(Q#@$. 7]TW. W!$0:-UO=P;F6TI9/+EX1IO=1. @U15^HDE'NW@#'CF](=G M1AHPCKBFUBS^)>C4W-QR(S\W]UP[N1+"?^7"?/W/OZ9P_QKN7V=):?+WI?F@ M^4+SS5CZQ1_9<]87S?$S.Z&G+A2@^N#.@+M#6IKNK"@7S_[/WILV)*VN" M\/>)F/] 5/=]HTX$N"6QU^FI" QB,?N._840D@"!%M#"]NO??#*U <(N5]D& MNS0Q?6X91"HSGWWGEMW:_5IJ9U.[+1 ULHA3 9,6/KABVT.O)AH>RF:S9U,)IT8?A@3A[;P!;>2S^ZW=C 5%(YE7_/ MV,!?P?8^,0_[.US\(1;^W5AX6Y[Z:VN'CGL!#_;=2N9\CJ0#" &3VX%'7XV M0$76,[=%RD!H+'_V0-N59JW>7D3N0L8ON M47!RN0S#0@:;"%%W7E,4#6"L\H/8?3 MSS^E)/9-/\=$640TV07Z:V+*,UB;\H0 (+1OZ;H=^H,@&8^IM4G/S:?&^''^E!LSI-$A?:Z'A,Z D-!#0K\%M>5U MA&[P@]Z#F6(K?;%*#V*Y795F1YC0<=G^LW6OG\XQ,M%T7=NB-^+PA2YN-'F# MVQA)*G&6Z*(@A24)MVM2?9EXXI=U=-0T==83=:6&2 KQH#RFJ "^TU6IJ9*, MI8?]6#*1;V46 ZTSVHX9W.".*& MVJ\5L9-ME&OQ/B9,*)5/OD"8G].+T1%71&L")4#53-&=\A1:-:%5\S7JC#^W M^\*E4,2Z^JHA\A;B7P5Q$L3!%N-T)Y_I#>=L5Q=9ICVO,Z5#>\QDGU$M0O=% M2.BA^^(&5);7$+HZRSRT#]OU_;(4H\K,NB)P,V$&A'Y95?ED[@M?>$5 E^"E M=KQM<.634VI89WV[!44OIE>%J/M54??7!.CMHN[GEZ9>, !$Z$NQ@&9A7!VJ M*VU%I?)=:TX3I.9 M3.=C[D.^$/*%+\L7/K]6]"IF<+%#P&-NV&_,*UJZ7RH-"IT2.^GV'C!70-H2 MD_WLKH=G.P2 KB38TR*@>Q+H35&B/4%GQPVZ*O!:0*='731,7>*A4!2^#]L& M?(TX[JTG6'S^D >P*/@_UB.HCDM+\$5.%8X_\#W90O>E">>#77C9 C"P.W[. MJ3.QPYDB.YV*O/DEDZ+->Y]CAM-K9[>DCD M(9%_7B)_7U7D=HB<'>Z[_*QP_T1QN8=LK9(9Z3NJ#40.P91T-//\8+=/Z #Z MEW0Z^C6])<*9D8F(?JF""PBJ7?#EAY9>:.E]64OOG3U .6/ M$@Q*H1\/23.32F^+F$'@?)1LE&&>\Q6_K$(Y =6K.85>IR^)Z..WUY3^#JYW M1/1Q1/2"9DUD\3H\[K_?)T_E"L>Z-C/SO$6[W786DRS.9(=9GI_4%NGYTK@= M9:?[,&H>ZV80TGA(XW\[C=-CKI ; MM5/I1I+EJ-I.[51BC>W3[&9HOI*H1FS++9HZ9L\LG2E8A@I7 ^DJ"CL;3 MB:]5ZW,RR/O9&%?76JUD$=*G.#DB2 8O:X:EBZ1$2,4ZCF]HB"I 9"OR[(I> M"I&D$J"C"PV';'Z%ZH-//Z7PV*D>#MD,T?=3H>]MM>[^Z!87 7,UD8B!,! 9 M;I7C>00-\\V+6O\*VOR<6OC75;(_LIVV35K^67H5FZXJJDU5+4)4 ?IUBJ^Q MO7:CTF5C3^O90$Z)Z7E\-H[C9IYTXAWS1D/"# GSPSI=7UMYZ>F<:DQ%'5=) M@DFFFIJ^CYC:>X^U<53>EJ'X=N>E29'-:<>BQIP5)TZ#6DVWQ M*1M;55)L/BFGX@-#:&PW[7$%DQA!]_T;T_9R&,9[C"Z+E5-Z$&O-?H#&'%O 54K"0+GR2 M=Y$S\YRN[]$U#CC9"G(3#\O:9MPK%OGE,-';%]?"K)68(8,W2U*MF&@V^UP: M1DC"(0G_I23\+AE6OT/":Z5UWXT5NWTJOR_,9LQ"Y>/Y')"PDTE%OWTFU8>B M:^>D%D 9VJSA='#;"U.EOM\IS>:6%N1?MJ.$Q0H%ZEPQL(G(M$O4[;_ MN76$7Z6\)E4J#J2G5945GTQ^Q(ER8;:> >6E7J"\S^EM>$Y#(,J K*FSF"GJ MRENK ]<^^@W9,->N%KT%I>(&K^56N.$[ZR$-3>4O,L2#&>NU&@O$A5/M66FV MC5)9N4\K"H5QY;JW(CANPA M)JPH#VD\I/$O45'>'>8;?:/0WE#=U4-K=-CGA"&= QK_]8KR_S&AG.9FZ/+- M,8A'=R?JY!-)1>\U?\131SLE4RD8%ZEZ2 ?B>%Y3T*8@"F6/J.1T]#$H2:8X MTY%ZM>)TK"$AE)QEB!AA4J#MQCD7UBMY>!CNQH=_=#5KXR[-SSRGW-$ M0=K\_%_T'^=WO"QR.K",N;VXRQ+@)38CI*C_O OAVV"S3\4D?,T$R!'3ODWC M__[?_^/?O&=TQ'A-UO0?#O/RG6I.LD<9S,=F8FRBB]PRQDW1BW]P\I;;&_8I M,QEBUV+&^,-E@' /D>1=)O.?B/=/N(VSJU2X7 M\YEF2+AG@2[*G"EM1%C[:%4,%5-;O1](3L@D[@'@?[G(7 >F^5^]9OX$Y<@B M\&_$>A!SE/_UI^O:'R%* ]8#-)0''HPSI6Q\Y'X%)X_O-.BR.,PIQXPXB2>S M?&J3>'HRIA+)."/0DV0JF?E&WOHVMW:6G'P1L\E=9JE,I, . M*GFV2\(.E4:>, =R@D:SQW9[S7XCUR]4>FPAWVP4V$87_Z/;K%4*.?1AL=*X MZB'P)LGV>\V(N]>(N]F(?[<1M-U<(U_)U2+='OJ@SC9ZW0\3 0&H[9, SV:9 M?^\[K/X?-V>6K-[[GU M@?^B__TGLN4,B.UH^DK3L2)A>VDP@.%8!<3OMJ"<(/7W[1'1K]N"(J.@)><" MM]\C/BRJ#J(*HO2#12AC[BON5M&["N@'4,/B^XB@7H/3]7&+45N;27/6I9BX M^% L\4]*29I]^UD4)[K%Z7MR0305C3 4S3AZK'VVGW<1T-/LVXH@"'/HN KZ M#K ?R1XDT".FR,]5)/UG^XBMSMG3QG /H8AA2>0*5Q;:GX$4 $N2S<@<8+AE+LED+G58W.72=$MH( M !EA.GKB#+KPM4T=!#C.39"*9'2EAH3.Q.D1V&W4NUAT@Y8):CZZ804K\:86 MA35$62/M/2;D'2)"<8U4/JOH0MP=@(F-EE.U#49R WZ\$N$.>$R72W$/?3D- M355%.0I(B'[J%"E!V;0NB28'5=3NF:+XA;*$Q\]N)7,>F6G(FE?Q=G1Q9LG. MJ[S[\:$-6##BRL2_)N\0+-Y$3\--P TY6*I-X*<14#]A/70.KV\6^GIJPCX?0 YFT_AA15N MANQXM([#V24$9]XQNY ^,:@48G06V6+HKA7$\30"?A\3I=/_&@B\/H$ #T"E MF*;L(S-114>3Y3TZF'U%3A*=O$?[1/K^$1YL)1D='-SI8 UZ=^;0HLTSO!^( M4T1Y:%$$8> 3FH])V0(=_^32NDBP2N#+)T2+O@=FXF*2S4ZF.H>0'.T=B< C MMNB>_^+V%,1J .\GB*]8/'"0J85N@^">B"@AZGNMA[4.SSM]CX\D?2L3%(.U M?+]Q'[ 14!7A[4 #YW@._06X%;!N3B883/Y"&.P@MKL<_MQWR^@P&PGLC&.! M05":, QDMXB()^N:ZD0]='3MR'['\QPP2_'.A0L\;%: KN)JG+.B1NH 4B(E MH5\SN=ZAIB/1518Y&;$,O^((3BO$^T1" #-9FR"\0AP+H1&2SPC;T U8!K3> MPV.FD,S-1KX[2HE-:*Y6@B@:6\M(:CFT1^[73Z"(H;N$.4=JS$04?=@N2TL1 M8QI1-8$V$*Z@*P YM<'7K@"D."QU,<\U-"3[3,0:MW,)(3.LB3#;DFVUZ+FE MR7/P%,SDD*:(8R-0H\/JU@IS-BQ1O(NQ&03"-B.R%=&:G,=%[)1;AS8=.9 M .$8X]#Y 3\XD%V,B3(!,7D$"<0=1-W1*V!:Y 3/J,L)H!!$;4*5S MM^:<,R^P/WSZ.;?!0D=">YI:6"_VG$_@G9)$,F6L%GM< ]BE@%0L M39?$XW"G>U#C^-VN6/#.[Y[=/J9W+!?<]F_@O8C-N"(%5/$Y,ENP_+#EG(TO MJLT0;;B+"$4JT\O+_X_-98/>0'8*?D7T$# PP!I(_R+MOZ.!L"%$0'CEQ%,_ MT4[1A2&A D3#X=$U:&O78FQ%@AOD@"Y97I;HH/G;U.V'&Z]9LN"H(4&$?KHB M.H@UY4"(XI$S+F40!(3NI'N0"'C\'AY3C'1"]#QVK$9L"QMA,0*M13 -9^*1 M9=""2 G2T==@F,Q$X,+&7)J:_N1]X&ZD]ZEIZU^V\O!O1.8F",S&'/V%[!KT M@3,-T!6 ,$%Q;RMCW(9#6BYQ^1*-T#$ST"(@NS05L/Y?GTYF. Q#1')?VXM@ MGN)[(9B+E&AD]>C>A_;B<)4Z8C>V5!80+>[QN='A;-)"C\!74V0VN;@5P9V\ M7/($%='6VR%L@[['QNWUK)+A7$+6V;&R@I15]'\&"0$X38_0Y2+*E8RY7Q/! M'(?;^J[=GFJ-+]BGB<._(4D3?NRP-(*V,G [=',NQ!V[YGA=3V="SWKX*QZ] MZ"Z2.U+O5ZX"[\B3%R@,I!4V&&;8K_K"S\YQ!5V']T[G:_=Y'RHIW%*TF_SZ MV#("*Z*\E3U:'?,[9*\C2C2.+OV8#2"FIO&$\-"'B/3 8 94% 0=SN2R"1&V23')JXN P-(1OOQA&->9(]!CC;K^5&93CRJ'/Q93' MP[[Z.!,;LTOM4I@QPY!Y(CW-_Y?MW!R[GLJ\S!E&<]HU-7Z9VTF&^T0>F_SX M\SJ^*N^WUL20! E10)>3Q:#?HKNP?_/8'ZS+Z5R.7S++T2&1-(O"YG#4<:G2 M*+XBF(O?5<$76< R@\R'Z^([0NB"O_*BMI3/\[6,]VHQC=LHU%!/=)HQH2O/ MU[EO/]/11#H9I:CS;/4(N7JT?OM;S^S M+P#53Z)8&01E7]R!_6JXG@_LB]CJ2#QZK%7#%X%;[]DK'5HB.F(T$ M=K,J8E.9%T4!8]5_OUN[I,]#_['D*_"D95]>$2DV@!-@YE0(8VYAOMRTV;*+ M*BD?JCP>4HM:K5G>L=UTHI:G^G1VTT<<@(ZG[E+GB((DD8QM(8A-HQUCC0]Q M?!'X*!3$YET-ENB8KJS@-<,TCF*V=IB$2(=]U0GNP']BQ[32;=AG>^O]\5=B)>-N^"Q0#O?'W-$ M>Q$N5>@(E3:3ZW.]M+FO5L=Q-7D=R9WNI7IRA:<-=EAJU'+*HY+VD]I@N"EV#70N%_&,K-1AE!D>095X#5[B*%EQA(.RT7#+77J:I M/AO3#YGY4_M!Z+01PXDS=T%P6X&G!5;$?E4@:I?6X?(BSE&NKC==HML*D]XO ME,/3I,_U1\IPL9RTBXG9J_48I^/ZF1)S ;2!:LRP4*!VK>1:I)IJ;,'DYYG* MHH+4F&SB[CSQ]+VT&"(G3M(#/ELZ8R9,9PS3&5]*9T0H;L>T2&CDV2PN.SOK M3?.QR!U U$OB7Y.A=5,Y6$$!\EO5(NUW+<>N#3!:&$V"!.,2%K M(/.?I*J#HW.U0C#""#FST&GP4T9$$6U5%/_6<3@@NVJNZ3@4@(X&+P)_ZA2' M,^WMY;SC.#+-0+ MX%Y#_^/^OICKWKMW@T>.;$ITZXWP$+OV'HF"1[HX^U< Z31MBI8QZYN M%HWX$@HCGF6&?N]FW"%<@=@QR!\G"6["R1Q.(<,.=N@VS=DA*P^W10@.J=Q' M1@*#:B_^D# G.$J@J4XN@!T1\Z)[$+#S4G$@SRT %X6*F1-9QB@'Z! M*1O8!$X#\.+CH(3:3[VK"OJ[DPM>XT=KB##C1U/$&CK0-YR=@58(U#9[]^JL M5DNS\;Z4F<^2=IV'\7MOP0N/ZI6U_DB)<;36T:^CZU*K?9'7*6V;1NQX?"@L_MZ M/:E-XW.N/D=&$\/<,2]>)8E400:P?9/'(:PX35PFB/%@_#RZYV,_RIS#'A1$ M\99BD3P.040213+? [%_HX+W-=??$4F:&\OI*J)2(^>=JD .]3Q,1#/SL$D4 M,\F^N.AE+*XY'#RE ;WIS#- .68IT!/0SIKP9S\1M0.2G=U\!)M_V#P+TH,- M4<3Z DG.N; NY!Z!0.(O-3NV$VXV(KP:1_WM&"WQ=HDZ3LS%^4 XZ7 *-R,2 MI00GF\+JWC:/FAPZ&5?X0T'"H6X[:=(+#J,-(JW: -%,\-$F>KP7G.1C&[H1 MP37$9T?3/QQI99@ QQDD/\DD.=BP,V4A;0A['"&!1)[A3Q$\*A<] M,48_H.[GM+ UP @_]NR %(_I3O"OR6 MGG,)'PB;$PCLR7_/H4#O>+G0VO:&5&RQ8.?[42F77 44S04_]_Y0^%TGC5O7 M"/XK6QA6@&%+BL\:KWBSU&_0T+8MVX@Q%T6<;!VLFN*J.L3QL4N?I"9ZU?LO M6)E0*B1HZ'0@VQP;'CBY-[3><+02G"0*_A0BR8XLV]_J& !^F5.5FN17V@P= M:1NB2%2ME^T=?!5!5O/^2#B^%:_9[ M]@!JNN#586'_F'=K'O1 AU$@#"P<79EA(;%^^^$PQ6R.-U[P"A&M+P;"?-2E)MEP[B3QQ1.$DZ"R*)FR__T5"=W+X MC[Q8?T#^K@V'F[R]QEMRPCT43KA>,:026U84@G$8 !J(4 S6V*%T#-LII,[B0NSQ<\O\L6FB'?*4X9)GAHV;KWY,*<_BMAUI7Z_:- I/5=? MT(8 N]X;P525>?]!L?%L0A%"K#?!W#Y-A!'E(G@=L/=OQ%N);T>'%W" MW^_!V3A2[#1H.^#8%FYLEB2! 6,EU[OA9,M%!Z\HS+F N==SZ(QHAS41,'>DK_KPHX@2.N:7$KE,5 M,6YQ [<+D4QH8&'[\9$Z)$OHV(9=?0TUA1KQ 9+>!]A:DG3>4G!1(I03%$A( M(; .4KL Z_:V]^; GLVW3I,QQ(XKKQ9KQ=<24V:WA"WL%<]O<%J MMGZT:W+<+3:4G"8+4TO'5V/A3 1\ 2>WKT<6EC CR(-U>80@DF'#$U^,/:8* M0UIT/+DV;6''NX^T7-O8H2XW#.'V$'Q-#,*N8O:V"\HML;)QS3JT)\%W@=[+ M(T/%[B#A1B?\!C2DYM@M&NXB3=P/05-G&IQL JZQJ)]KB02MSY"5LVU#3%ID M(X0=^K$GBA'0<'D#P6=DUGO/^U;4"2WJ/KN1L SXB^12H\] IX>@)R&*NTB. M-RW2D<.M=18D2!AT(D#:T;T!9#TF$ZS/OY.4QBF82#\#A=PV5)K3/-2&FQW) M6.94H3GUL<:\4UGIRO%T=C!L:&)=C>HAP_/B762_$Y(W!0 MISN/7PRXA[U:&;I+=9(*W57L:F9@)&XUJXP#HX!/?G<9B9Z<').8Y/ M 2*""C%CG4;K%P.J 3+H-(#G%"@_'YTESI"MYN,J<#[)M(X,99?<3P0$VBCT M-G".LT:4AA2=\[068- >@0N>W1Q#+T!VE:A >A(2EG88&F\+D>S*[O[T);(J",UINAL\[ZL M#@>+2IMMM%^5*N25&?C( 2C^?G^/\&(.XOVH'J%#5#!(1P>[%;8Y1#!PF,%) MC4+ LKW]2CRN<+!_>O:LO=8J/A/RDV0[T<]G2JN=EDD-)#'WVE*%!4.,\65^<-/&@4\QV?IR.![T9\NIJ;>%W+>?[PVNTWRD M3P OM3.\SZ7[0YTMS7/C27,D;O+2[(/A-6+V?:ZV*G:7S?6&7Z1X8=M3MM]^ MTD%CQDX^^ ]H'(KF-:L\ZZ&%AWZ+2J^7T5=5E07M(A"C$CZ,\OJG?P*$8H;WS>1N4LJQZ]HP2PN66!4G MSU:AQ0R1![3:(LW4\'I@8IQ".B):%&EQ#C_&NS]]=6 =4^\QOVRRLVUK*?7: M5*R4,:3T_->9P!^![?/Q;;Y/'>AVOS):#I>9K,GOA'&K= VPF0NS2AOVGIHHO,P-7;H-7A*2&B+]<#?IZMA\,;4,WQW5NH>GNZ;TZ M/^>CIBJ^#,1;P8W";BF7)THL0TGM5E/H6[-)6QTD M.GSU\0,!WBHNZR6CW!5929@GGLI+ZK%8AFX.YT60_\%BWR_BHX[=(VU$Z$-: M?%T$]IWE.OU9Y7KMGJ,;V<%TNVQV"]W,NG'/L\=,X(,$!)4N3 M=Y;KP5SYRP$\^]2M[Q_CO3++9>O4@F[L!T.J_7$ 3\K,W\N:ZT%>7U5DQE6P\E%KWA0M\WV/S5W6SOC/=?PC\Q8:9$MH32>BO M]FT1]:NW2 MX[9(B>GB5GR*;65VB\!N;K7+U&Y\,+F?PO0KT'N#>^"F4Z'?H5**(0N%>JPL M?:2/9C"8%T1S,BXMUZMTOMQ/RW,^A41[*HC>/TR7>R60>UOMIH$\S2K%[$8S MYGUED-TOIOJ]>&]]H,*^2P_2^?NIO&*E56O* M8W:Q;3^I93Z>W2&II-D]Z90"PQ!F8D06U1G:%FC=,$K#B?Z;W%*TR]]ER!9T MYC<$0/&X)ZDOI]"^N&?Z%US$#+< S:DV]R]H9TF2RWCOY@; /]P&@"41BHA7 MRD^ZW[P;[/6./Y,M;52^,]$A'Q9[HQ8+Y!4M/>&\"W"2_GN:)3I^^]S2#] M.%N(^12LXU6#GF8AN:BGE1#I([;1FW-JEBIP>\/^O?T^0TS3([HR7U+57*8[ MEI^&Y>P?='5^#7XT^%Y18YZ,6G^8NM\_->*/.ZT+)L/=>9S';:$"/;@TG*+# MJ9$L%1%@8,8*^+%@YTR#1NDF-QXE59'9A=[,%QARL"7FS-GUW-!8&3IMP.@/F+4"#5#<#T@^MY/\#\5L M*YRD#U-^)-P()"?#V,+9,1%"BQ>#=,_#33V.ASR2K#MG46?HB']96[MQY[3H M=IT&C)*'_$)[/ ]TEL:)D3@O].AV#.<$AMN^UM< ![=8,: _BP2IDS@)W'FY M6V_IW6_4;EN"-37.G2OC=%6!3B(^#>JLH;O;H\=.M8Y>'#/FJR_%J9N< AH< MSO'TXB1G*94?E(7M4%U/YP01I7>)?H;[ARY6FSMC U M'',*3 ;7O_-R)S^,R&YR-$9ELL[*;ER">=)*MP1<;X4+MW'YDC>3=H4YL-/ MR5T8DI#O(G4O!1O*3L1ML+D!!&8712":P-4:3I6XJ&_LZ<1^D^<")WU1E8#W MN$4V$AS*Z_Q)7KN%:0VX'H/#H_V@;1/FQR1SW%)MBTPB3E+< _I4PQ%WC)-R[@#W87?BUZ33"S2 =GMBU[O%P_3\VZ,Z;^L-, M"JB]L1FN_]9LD>)R*_L6_>;TT?FP,@<8]:RI?CKR\'SZ8-0&IET$PQ&LQ35( M *<))^".8>_;!C(5&&RL)HOS^T1BK;#2.J70!6G M_]1C^_5^<<&69&LMRCE!J N_I.)\L%PI K/,3EE?84 <> @VW@ MAH"<)-C#%%4#2M4X=U_[R'<\WE,RR9+_N*5PI*LT41L5#3QZ M1X(K&A688S M!MS1^MQ7>>N2R<>X\8*\][_;.UZKJ I1/(7RQA<=QJ?XG:^(!M0AA%X^PB\=O311XMOO%:WIEQ"^_ MXUGI]4[0\0DCPH1PM1S63WF8D8-T6GLLD]TZ@?@>D+GL]D/00)6T^[J*$(;8 MB+);V^UC;W-D8C*W1ZKYCZFT M$P4_K3EL@5"%J:/_$YP-D\>8Y!U#OOT?4_!__4?;QA/+D.9HLTS,/=&._T7 M,,48(B0>J&^KZ)B"M)^H.:Q-]/GYDZYES M34 VQ/,85BM=V^$F.O!"= #O%(;C_\1U;'.$NC$X?$3E3$OW M-3P*-M"#SG7I6+*&3$*\-IZF'[45^Z/W<@Y5'CUZ=Z%K_CM['^VBC8[7T^R2 MUS$IM*7Y.B&7J;5UB'/M_B:[>@SP.@8_=[M>1_L&(KXKN(7XD]UE[H";A?NF MI1B<;">PN=$HXGS,=?.1%)6"-/++T3?ON'@QIT['SN%S4TDC"!%_^@:VP<). M%^XH"!D8'[=W!85K\TY!I3),<67\B'RG_R&8I7U/VNO[&PKZ&B1"P(P,4('A'A<6QG*<@QEDT@=.8GLV MK.QY#G_\UQ3_/_#MXXP*]_P8RHHEFS#V\-+ACL-O-A1(CW%W):\M2A!(,.,. M7IV$+!U?5P0'##D9/#F&*,O>5&82O+0,!]E/)X;SICNT!2P/>_;1":X0<4=Z@>UMY4.#P>YF1PC(53 SUVK(V:AM1>2JY.]KT,9'F_X(OGB0(VG@)G!..8.VR-S%TE_,=(@ M4K"'9N(0OM/>T(F3N&A_O( 3$?]EXG[KY(AS^7"9Q%N^*5U=&U-M67(+XI(, MZW!3OHZ&B3D,U>NGY\[Z A3&3>O0\W-1MGV[HK%$-H4O?0P'V@K121[)*AB>\;2!C!-!D5V:AUTL&]E&0-T2/EO63@&2X03^=(%D0$W+I M-FI'[4@F.3'U;*QT^29V%=N1N.#1<- $'XE:4R9OA*Z;3MB2Q LAD>WEO7\/ MI#483GN))T-VBG,[^"0>Z1Q'/Y_CGS#=UE=Y22@51P55,C?0-WKW2'4BO34$ M>UHJF=[IG0Q1F'M@)P\_UB!5:4<+JOZ/$NO<=) M:Q'/,0#I1@X%X+[$. 2[5=%9Y](JZC R772&O]F3A'T^/P V#!S18"#MA=>Z MXXYM^C@!:O#@""_$[!9PTQT%'($CK+ 8 0!A9 \1C)1[D'5SP4G)\JKOFBCA;;%HKM#-X/Q%275N6>L/MB(XD MB#+B:TCPDQ,>N3#124Y.X'[E8T!'+W)#1P$H9^>"G3>Y1M!TNOKZ)N;:#B&G M%Z:[$;)13#T.F'TR#8_0XR[1_RGQG+;]Y!Q5Q<=4D)V.^YH2OC6UY"GQ67A6 MB7OX[^9^!3Y#/!@$*1.R;*L%NA]Y;1IW-O%/<.=OP@BAV^M%5B:(-M<&9B,3 M%[=_'K!7,N7NFK @) 1)2Y\M1@C;;V=[^7Z%Z6@;.WD.NSX<[YV'7)ZPFK[T MNA-Q1L"/<X_5&)N'V-/;C%HE=3ZZOT\*466@I5C3<"2HX[&-NF4:6%FPDYA!@-BS$(!H<*=\ MG!SLU&^<]*TGO>U%=.4FY@E$]P!GCFGIJCWLR]$ I"EA823W^4BE/#(C\$0Q M'_/UE.^9I@DGVH [MLH9U0 O%NT+\C6_1IN8V&8Z85>Z/6[YB^:YT6&>6YCG M]HO3JN(9)IOEDLPXF4TFQ@ETU6/T5V:<3/%%3)*BCR9/]?CQ(-M>K-.- M[7PY+*\.VT(Y0TF#-C#TTR7J:95>!BP>8$NS<;Q,77ZY')5 MJK&M>([K,P59J\=3B;XLP)-G;R\\";J4G!DLI6RW4]Z<&>N]U$9/GKW=;!04 MS>KW8^R^T2EMFG4]ODNTQXGSM_?Z\4&IW[&>^@R?IZ;FMK!(#7+CY/F3&3:V M7>PI:LDJK65=[62KPO"^C<3BV9/]^J;#]Y;+59_C#7K3'M:$Y3R'GCP[4:6T MB3/EW7UMR=7BRZFR;54[FQEZ\OA$X_A43 N<@+?:.?-*C8L/8X>EB-^\U5+@C^G=6H0$GWRR3%M=:%X:9* M-0=R.Q#^G?YVWN@;F_ZZL)#77:TU*A:W0?"O\M4AS1_FYC*6GJ;EVM-2E)1 M^#?CQ6UAEIU5J6J[M:.[ ]G(U'-!L"IFT]-Q>R&F6";W:#U(X_:]I0?"2J4: M\8=**9-@U]7D3BOI&X-_F 7!BI>*^8.YR97Z>S;!K89[:;X9Y<;I\[.W6':9 M6>B]13]UF$_WC^MIM]G:HB>=L[\^)S7^JIS4Q.6<^@:'79%(?['L\(=MX=ZYKMTC3P08K5@7 =6*^#(<=0J<=%!60&(; MMN'@Q$J0_KB,?!?O9G?1?P]YY%&M1BK3#-B+B M[<>#1=R1'U@G@/"Z=G3VJ5/ [1F0AI?0!1O'+B0WE'_D*[U>^?.QR8<@ \Y1 M[,%V\S.<\6K0U\5U/![YDL +?>+&..!T#1ZIH<0 MWW&]I)G?DS;<70VO/7$ M>'7"(AA??(-62!VS84!EK^TN.!T+\\M-E/ZDY\GK#:KQI*D\S,RV3B&.T=5C M?'?%/AYUF8S%?Z47F:]/T5ESS!S MB%ZU?IQ?^?_;:'-%"7#HM8R7^Q6,MVG M)W;VRQV"7W=;)RVF7G]=>F$_BZVG&7%I/51W+)/=YNO5W =>EY7)+1"5%V>L M4E'6*T%1<@(,2E#/6[8%]' [H38G[ ,(?AYJ<&<9!@QC1H\%#YZ^/B?Q5SNY M7KC@(OYCWZSCHB/FI]\Y=QQT\7J4V#XOM[+M./[TW:D^(ZQ'PHEA_WCA.6?! M\P%2_OIA8MO:YC)_>LA]$ R#PH-^CZW;HY6<@B<3N=T0(8^;K,EW.\.1MSE[MS'H/>-IIW47;&==V]W=;1@;DI^%T0U_= M"@0*<5.0LX.2'+[7[,4>DO4'>T%T=VD[A$3>.?7M(F-!+*WF( ^V/,^3X:1- M;-U]6'5;5+576XW%EI&(">T/:.]PR3/M13MP#-6P%.S)=5S_3O[O!U@=-.G7G%J=^5"7_LD<\*IUYY!\AF@@__W[?DM]^]C\1=R@FA MNR;=:@?YMY(0<:+S[WA?F>R/.B.)U^+">\)[YM _)Z)R+Z'#=,(,%O21/>#,NO?NJXV&ML10/@^E^6S9T:;<=Q\=Q&-<<33+GHX%"B@\IWG8<_-TD M3_TFR1\.^OI^Q9DU;BJ=A2[J][]\OX>*ZO2_HM4+:F4;'80WO/]JN91CHV M[&7*_0Q0-M)1Z"@3,+#TG\_N9W'J(-W<-,'2G<("HI1$(ZIH^G4:+U,QM,G> MWB:[HN_QO;6>&SSM->VZ6]::*MIRRURI1Z MS4I\4UO&RFK'JA0H?:.TQTE0EN+13,"@[Y"IA$SE#[U!US[N+7&56]+8WHRK M+&6!OI<.NTJ_FI=:52Z[UN)SX"I84_1%5XA[#7W\$(C]A M'+$!&*DHB]=A>V\7\;KVL:[O#/_P8M.W]84/\LU5MOA4C_65;/8QR8_*F48# MFB] ^"L9S62I]].*0LK_I)2?.4M,^:M)_W=5F6XOVQHD!JS(-LL"W1$/#XW. MX\=%ON/]36G=?E+U_OZ0?9A.:/&^MH1N*DASR4;3 2ZF$\W%&=!QVD+J1JCW MHP8I0#=*HCB1B=LCGI5PO[9+E2<(9=8&N$):\W7?*:O)&\ MZ-?43/RA5I%F_KHC?W@H[MI'_I@(WDT=^=HV08C8(6(_=^37.^MN139]6,W. MQ\BFEVH2;KS6+?VYJSK>H;8MI)-; W)8YQ26NX5H\/'E;LD;2,,JG#EYGO&9 M_'@S;GCM8[]9*L!ME+A\?+CC%@MB3GC8E\GG"9'U;T+66]>HW0$<*;Q^4Q4C M>Y'3\=AXT3 ^@\)\"SAY;6\0M&6.2;L8.>&/,OZ?\2 SG,1;FM);BJOZJ%7O MZL-^\753CLVW( MLSXCSZ(_CF?1F&?=-V4A*>\:$I7O]COQBC!0>JN/YUF9ED WXTV]M6P.=QJ_ M,Z948S@C!6#Q:#:5?-.\XJL['@)T2)@_L-6P*OEV.N3?9^KB/##K.K0WN=7XAL+D;- J MJLN\(A9F_75?[] ?SSV4Q'S1?>S("J6D6[PA[+NS'JX6Q4ZI=.*+.:6NQ$=" M/]4S+32^4 7M#1[U=E@L,][MMK.89'$FLMMX?E);I.=+X^,=\W3 MQSN1C*'2'3^,8PQ;?7CJL]1 F1X.6\0%ODBQ_-MLPQ<5ETR$0/SKYI4'U&7X M(^S??N;.QZY' ^<;;^>:+.]CD(*V0OJUQ,%?EFI@Q5MZI@;=U-"^T??.W;RT MH__^(IWXDG_8:"*0CKK.=5?4EBYN),TR2'XNV44FNJXF^ M\O T&JMJ=1D_M)%A<9<-(*Y? T\$X;$,8'FA1P WTT51$?$P=,C[!PQ!&]71 M\\2(MGL2B*K@C(CWH9V=(@_8XZ7'HP<06Y_- 4L3=Q]!:Y<)JX;.J!IDZ+L# MO8C-"M^KH<%+Q-[SW=],5$6$]Z(W;7ZJ:TK$F&LZ@9.LJ;,8@HN"B06V;T00 MQFN\A*&Z19B( 2*(T%(7_T1 *\G:"H!J_RU+2$+O22,+4R3DBIZ2H+T9 K6# M(KXU#&NU@BW8:&+<17H:GFZ/N0ZZ4-]N=!%0!IT779VWH?Y=]RXR@_F0*MX) M>@^O*8A@T,YEP#7)E-#KG76@W^VEWT8C$\L\0KLYA]XK&QKZ!^P5(:6W'[R* M[U7 !M$EPQ$"^.7)[X)V;NY7H-R@P\%1#6NR0%>(DS30PT41:2SH+3E^;4ED MCB7"KYDE8SX0^0XO8JA_B[D._A?][S_X?NU+X]&M3S@#_1<]*QHFND4 !+HK MM"4++_,D@3"ZTF;#W08 M$2](5C;GG(DW SU+MKA?AH1W@OXI&7-8'&^3]"AQ7^V\T'F/@+@_NH>SJW-O ME^P,EH(E82W$U&(7'X](AG2D:X67$JB2L=J!GSMK8P+'L[C-P6$R8@!YH M*0&X-I37J=C3BJG"F=UAS$41'=5"+$0^X@HNTL.'&"'E_3%Y%+4@'#7,&)#% M18AX%XIA,STE3TGE+7PP^T"@,1+Z$#4;J0NP"LD MU>)L?>'\$SRTUC>+EY=%3@>K;>YTMG$L,$#T]QC&>['_(.3MPBJ]C$S&5\U MY@_7X(2+B"3O,IG_1+Q_PG6# MR8G"$O<@\+]<9*Z#COY?O6;^16,E,!T8M_P"3 4E#'#;50NYGS[P7D+*XSL- MNJP3+'=ZBA4/76N^TOIU:M\<3JCUJC!*SV9C>#1![ _T"U'(F2\]G;S\CJ30 MEN;KA%RFUM8ASK7[F^SJD?R*.7_',T_'WPN6/N7S7&@0ON2S XB6#QH/9G5H M!T@?T%2/^T<=Y0=1,19W/AXL:&BCJH9E.1Z[1%0,R021CACT!","43OP% C8 M#(<6 :&@&X@/@FYB*18!K4]6H.UH/&*T4;^P0?)%Q$L[BK00(!?@S8A32J93 MRRO91SMFWXY]@QX_%EPK75QQDH"-'<>80'B)) /^H6IOPXC\KC!#XA@1%)(U MZ-8-T2\!D(P5T34(/EELJUJR8]EX@#L5RN=]XU3!7\4,,A!O&,E_,./@OMV; M!=F"KGIB$#-B;Y_X@OO@P_2N4WPN.;(YZEE04'X78#9)AO_P1+VT5K:"2;0 M+0;_&U%$SH!F>$3OQNI1U%-U,?+Z\4L119,H';PNH9=*W+F)!DT" 1HV2IBZ M)CN"&[1JGU)M@P5=$;%L.)N>D,C"5A+BO03K\<+PEXS>J1)RL6STG',;^UE1 M1??!BYCLL,C!G@!;425$H*QDT3QV#=U%RMH6*/+(RQ01-YQL87,5MRO4-?23 MTYDD9/R:ZJ?2R=[W;\Z0T&VB4Q'%W?G<4[+@(TX"EQ16;UR.93,=GV+GXKY- MN0A0EFP"K0C2%-TV-E\N^+O@EH[U]>\8]BO90MO#BKK3SM%'88H&\^* $HQ_ M".,\G\AB$^BO8)5S&_X[=D0,-C@1H.'_$^^<2)HZYK"!N0Z/IS3ITYEB*V66V >WR;YTQ^'K-6 MY(0.9_0T8F_)J[$.OQ_&GA'HF [ JA%:2BIWD5RA)W97>XQ61H6 M8OQK2\3K@B?()B4\BXAS,&*,XDD$6D']W;J:ENA(R#CS;.G PF8/SFP;9,[.MP[Z&[^;8 _\G0' M/@^\^Y7F*7#.O6(6#V]]Z\C*Z]KUVQ[SG"HXJ&/'4J;-KCS9T=UYO[HJ[$=, MH[V9]&=O&DO)P84U1#,P2L*OI[G>8VDE4,.'A^+C9D W$M/*M%ML95M^IXOA0%SJ+3I43*T+TYYS/CC@7?=[OOMZ,L()/-$O\AW-G/ M/N\B@7L'7H[=Z?"\QW4@:G1N''I1#._(YV:FTXG<60"!U-@K$\3Z>,0A31$Q M=^+Y)+J_N2?>4# UB?J"-&DD25^(5A^S2?^10B88,+G 3Z_I1O91T3.5&+6^ M1V3(+A:U277[[2=SESJCUZ 8<"":V"+HEP.\2%:Z] V9N@[$'5JWVV3:!'\; MH/\4K/IYV-?RR[66.#!5JFG5+5ILMU?&-O=6L$?P.P>_3]F[J82/BT#*9W2F MN(L?"M1P/&P.'XO-KJ*^$X%>GI+FA]I.9HW6*I4K])6GTEAJ*_41U]^"A#U/ MG7*AYIL :TB[B(*V,8<,#;!"COCJL?KI@BO ^3=!O%K2D5IMCZ=P)0>\9"(B MH0EI80&_L[7=4Y^O[03[A5_ZS01/VSUNJ7@7N8>CJS/C?/HM"5 +@F=7/+?) ML^D6]F0+LI;QLG1ZNURJD&3>+DEJ2!4DO51+Z\LA/XWG8UIN0]'$1_$V0R$+\2!H:D+2R74AAWDX 02_(?TXNR. M>UW"YK_M1-=4I-VZ/]!(/7'4<0\ W:(W(LHU(4X#RB^XS1Q%';M*@%D%9;60 M (3M-\-:LVLPX'PF\%'$1$2OF#63X";B)G-I=1<9@@?&CW^._\K.(^ "SQC% M1W/>#VJ[SZT#VW$S">P?8'0$_XO[!3I=#((*GBF"MH+])\&[F5C() '/MAV= M$!S;@K!_'%?B\$ [#?DC,! MN 'ST_%O')N'[ UD#1:[B*G=?=FDW\E;.J1IH4QVSI1]W\H]K3@Z-Z4>]2UZ,GGZY"#>2#Q-*KVGI:@UX_-T6O$!UJ3ITT=C\]I(V:R;-6J_'>:Z,;VR M;M5SX_B8.GWRL5B>/U0$O;>L+I(--LNK\_)#>YPX?Y+IMYCRC-XW6.YAHC^T MF%1'Z6_1DV>'7ZARLSO1"LM^3#*35B.[7 5 1ENMZ=D9) M>VY$/[7'Z?,G9[-[(S5X'&>I;KTT*=;9!C,:;<>9\R>Y%3UX9 >JL%0*DWEI MNE%7W J>/+O0(1732VLIKRZ'_7+LH3KL5EO<##UY=J&9P[0XGPT%C=W'=3U= M:4TJ_%,./7EVH9,I$O1"*L\NAR)CF"*OTLP>WGYRH>/LA$DDLLG4F,Z*B7%" M3*/%,B(U3DUX?A)/"DQ<.",^-;LK";U"?;%4BM/BFNT]U>NK7!#Q5:J[P:%V MV$J4U8XG]7A"&6B#61#QK0K24W%='RZ7S0\FLT$9/GO,3N=^M;::Y:C\?VP_R$T,S6_>PSX C[?F'=B:_L]CF)O^T&F2F MIVVJ1)6U;*=!E7<\ MM!0[.WSZL*QV=MJ49DL-L2N*UD9IQF#.^]GAV^I>'BX[^H@2G\Q9JL ,=R4+ MUCP[_(*Y[S:JV9;*,L-X1AC(A0R7@#5/T9^G!"Z1IJDQ+:8GXP0OTDCVI! O MBR>$=&+"9R89[@P!9;E2;^_RE?Z^$MO,C:=[=CX#I#Z[6"7.,#RSWO']9DG5 M%9.9Y9+U-GHR?2:E1%%=[.6'=7^=$ 4VKM0']S5 _[,UJZ-B/2;UXD6VN5OE MZ'9C,G[L /HGSBXV=H_P?_:XZI>4E;1)3UI;90%/GKV]7UUJF53VH44Q[4.R M;8ZS>[F%WWX.5YX3\[-I2J763#M?7>KEBK8+E#WW^J!6N!_(L7[SB5JI)?IQ MPO< 5<^.Q(B]F6;M]">V)*R%?$5&]%>#)\^.U#*ERJBGU\K+O9BCV?VZDBIG M@5#.CM08E5;J:$0=6*:X)]GA^IWD[4AT5N6^SGYP5F9NS-Q^$P M4$A.=+54');ZQ:6T;>;KLC;LCI+;(/1O9M+\XRXUZ;$I:YZK+N5LCA5F0;)G M6WO:T+,G;K=L,MEQ=975,W52G/DU4N3>WKL72YE"N,-@U8\^2: MQIE)G(_'IXFQ,!&0DD9GZ3$W223&:2:1%K@IDTRGXV>$LMN5!O(Z)B^YA_O\ MI#Q-[\>E0$+)ZVG.2G6FC3['S]:]0BI9EH5 0AD=5"I5CM>7_13B0>-D=:)6 MF4!",9/\TV;']GEJO2GE^+6TJNFQ61"AJ&)!G9M2.[$4*5'013'#B<-M$*'D M&IU#I=9M2.Q^KTO<,)NK+\1M(*%8Z[C2V>CKA[ZBEF0^LY[K@^4LB%#6_71N M5+-*NWXL46)JAIS+K>NS($)9C_9L1TR6V?ZZ>-\<5DMJ#WVVFZ[&BIIE=6M,.Y!0NF.YL&!SJS:" MP..D(?'3VBZ7"R*4FC(9[).:8% I75LLY,P F^QS2RYML-WR4ZY0*>BE82D0_6EVGBDL8ZD)E4JT&MN8S-&9 M)3*5>VN:N..?[ MU,GXW"QM',"W:_*(TQ%759(L /@!/& I<'+#S7J"!_$/G*);52!Q%' ,;[%/ MSMQ'5C*GVH5R9 0W]B5C(]\.V!O/^D0G>_>?AJF+G!).\ Z:X!VC[J@416!?GB(D<>[/^3L&2_\@SK@M MNK$7_6 V6/"+G4D[,/V[!DGJV6U\(B \#!!W" MX0;@D+Y+AP1Q"X"@[]*I$! W 8B0,]T"'!!G2H> N % A#K3S0"""EG3+0 B M?1<2Q"W (>1,-P.(D#/=!" R+\PR"0'Q<59$Z/%[0T#\>H?]WW;"?MQ%9%YQ M$>\J(-\Y+?7%2_ G/4XT67CMK?":#!_^OV_);[][0UG0Y:XX_2/S"Q2'YL1SYCY G ME$\WR4_^E!@(NI__]XP 7,[!_"[GR-QE/K%-^$>*%-WHG'?_L>/%V_")4,$\5S&O/W6I=3KW\\6:L MX-J'?+/II#@;X=JG^?A1:20MZ;9&VI^P\3=3OCZA?CJ]1? MBJQ_!5\-UVRDGA]0NXM,LN]=)])74W M[I.X!1)](5GZ1J<3OU3T\/DG#;LUGXG7M1&TRSV=+^WV@3VA\=0[E.I9=M\\ ML,7XC-EGIG\\K;RH:TI0)T%V!WW>$3AR9#2&T.-V 5.+XX?8=M;:/.39_4$O M36=--59N0\^ ^+>?Z6@ZF7R/T>7O'I@(B?J]Z@6^'E'3?J)^IN=Q,%''YKQ> M+N4J,CM,/;9+FRJ?5Y-_/'S\#XE:KCW0J1W?UECQH4XEBVM%RT^@"U7JV\]4 ME,X\-XH\E-1_DJ)[LU3]MTCJ5S;\O4#4M6UK5Z;'+59,;')R25M4EIEK2^I* M[W$X';+JP[+T8#;J<]'8#C60U%EH4QEE,NF0JO\NJGXI3?WKD?6?R>IY;)_K MEZKS)36<)QEF.7FTLLY;6JZ#%+J;?V3Y9.)Q;+ M(=/(/?2*5EWDK^TV*DX9-M91)EM*F1=FY8RDW$_ZT&PXA331:#J>>#\#\V]D M*1?"T=?Z)V5Z9I6CWN>YN MG*,;2TN.S_?Z0MXW!.B?F_WV,QF-)\]'4H4L)60I?YC8S MZUZA9UC]O510:M8X9:G\M2V?U9)."]*RK/6;R4E%KI;VRUP+FM>#QRP>I3/O MQ%3"!*,K)1CA1LC??O9@6.1S/:?#<,>M9B:\L;?KKV#@KW1=X=&E]C3^'9\G)LQ#FU2,7,YF$[W#UR[=FU-;5DO2L?]KPZ7E83 MN^HBKQ1:1BR'SIJ"Y,(L_4[)A7^%"/_PC(6W=07]%03^.]/'+Q$X3=5*B8?8 MJ$/ME>&B2V>UT3Y^;0(O=[>9=?E)[B[S#3VU:QG36&(-,[\@)RD33<7#G*2_ MD<+#Q*3?(O%9DU;BJ=A2[J][]\OX>*ZO2_JU27QC,%.EHA5&?6Y_7Q;Z#TV* MSN&Q?@S).TR'^4E?(C\)K5E#N*@:HC.>"Z-,F) 49@^$"4E7]>K89(GDA9QT9/55)^I=>ZS^7*!J][##/+X MMY^)[#OZ=$+&6VTF+#ZH!S+7YNQ*+O1 M*-XT6FM6.22;Y3DWR"KK+6(LJ6\_XZEWTD+_5HWEK\HD").3WMB)=9&QY#,Z M4]S%#P5J.!XVAX_%9E=1KYWWJ,5KC_1(SW3ZDMY:MIFJ08W4'&(LV6\_T^EW M=%*'C.5F2"U,4?HV^,,SDVBHS25"G.30D(/\$Y=^URW1.@GBEUR,FA6ZK2R7 X3=:[[ MJ!5;,>G:28AQ:]*M+V:K5I^;=)AZ-T_U!EH.$7KJV\],E$F'"0Q_:.I=FR#> MIY?2U8]U$W0>[!K*]O:]DO8D+Y;Y)"\W'^E49OQT;3J?TLVF-.ZNG_I7/M<]T2I9](]+BR/-2[LUB1E1J- M_:@39U5]S ML3G,1X:,L:UL$F@B^@:0AEQ&X (6=-- ")D33<"".J.>;9_ M3 B(UP'BU_,Q?\WE^G&GSKSBU.^JJ+]Y') 755/4?_D2\%];@NP3319>>RN\ M)L.'_^];\MOOWE#V+GD62_W0K/?,+]S@Y.@E_@N#P)$NBI$Z^F)N1%A5$(7( M@Z6*I%(@3D6=DH%)B% ?A%!TZE,C5%?:?10ZO202/Y8E_Q'RA-+H^LSC3S'? M/_G[> KXY *;8'Z7363N,F?)>I^*2T!"W9L)E??-3PG1XD/1@OXLNL:GPHNS M%/[/AA9OQRW>N=%RB!:?D5O\]:KDM>MJRYPJS$59>#/.?^T#7:4 +;@'P:?+ M4"7D^(N 3V1GZN:K,WV!9R@V]NO?#T$'!JR.P?\7K/.ZCS^ M6.7I29V25OIV$Y/U2>?J0R'73%:KE^6QL>3*JX-+?$14XJ6SZ*BS16TVD]N1IR_5*I\3!I*30]'UV[ M@D9ISD?SS%-AR4K#>G7"5]:US "X2 J&MC'I]^KA^)=J([?0^?=M^$@JN-G1 M7\%'@FMA/XR/S/3QO#K+:VLC-?HI(VZ3\WI_R,0;]R/6U]?N MQO- MS(/C/1)/TNC(3XNJY-4!_02.UJH=*" M:"Q-;?49HABWP>'ILT8+5^Z4^?&78/N\POZ9?^ L^GNCP3%YJ$QG1]:^QA5 M75K[JBP++&U>N\O+H=#K3RATH6RW3BWVD[;Z5&G/T$7%83)P*OU.G1\^3>.' MMVS:]E5Z] 9U:/R[&A.MG;X?"9UK,Y15HY>L MQOFAL"PU5W&S,J3FX^T6753JVT_F_>;;_17*##97;XFE7$.925TW+?IV>,]O M^\_>A/>4:X=D(:UU*:Z[K#=%JFRMZ6M;O?4-U)F0I?^I)>PN6,LH:TIYO5)*4.%O4&XO99)VI M7UN=*62X56&K+:=+J[NLZ/=)6I;;.=#[F&\_$]%T,O%^CK3/P5,^85:8.WX@ MA=>Z5L7!FO?/G7LZEU"/RZW[.I'O0G9\CMS/"^ZTF9+S43V]SFVJ)B.HK/=NWI?95E^')\J)22D^UT.T[B"0A4-/5>P=L;B&'>3B[9 MU6GMXY+-KG[46V(K;S)./EM>CHTXIQ:IF-D\;(>[1ZX]NW9.R*(<7R$#.UY; M5MN)1K,V1Q?+M!%;28%1FZ7?:=K>WZJN7$@)N3JQ?5S.R-6/>A-\Y7>&>%Y, M$:%JI<1#;-2A]LIPT:6SVF@?OS9?R?3%(O__L_>FO:DCV\+P]RO=_V#M>X_4 M+04>VTRF^[Y;,F"&,,\A7Y"Q"V,P-GA@^O7OJK(A3!DW!">Q=,YN AYJS4.M M6FO2J+?:W5YK4Y[4EN,''KLKN-:,NV*F/J@U\Y6T!8K%#SFVCRD6IHHD5BS=.@DU<97+,=R@^ M^Y$3)AK;X1 BL!1EZ&2J!-+ED //@P\V+-.=%P&,_.Z1$Z*YFUBODB_]FCR2S?1_.P! )]0,?VE!P!PX?C79JC/ M'0#PHCWXEEU;O[DJ_I/FYU][%,ME>^)?5\]^K2[77UNA7K8I?L 7.[Z(?NU) M.Y?MBA_PQ3?BBPNVQ0\L4>&"4+T1^?"K7PAHC0W&4=8M^;9=*>=3_#9 M6Q>YYLVE;3Q&C6!X>7J_O[V;JW5B?-X20S+,=K MY=Q" 5T2<[O'7ZMMS0_5)=^GZ7/D-I#X0I<\?S[OLW3)*%VQFY.,')TXD7M) M[S^N6X9]:[\D--1&U2(K-.A9T?;9_;#\M-]6&XG 6A)RR$+_7THU[%W#MXME@[X& :]6 _^- M%.;[LT*'#'; 7W^D.(6"8LGEQNJAW=QHLWS]03?OU[=6G,/T4HEQ1J5[#7<-9'%7]5CB2JT5KKPUZP<9>^W C\\;C?XP_? .A^I:^D'2>2'3 MT\LL[>35>MI^B.M3X=916M)@QKI\/UA,U$T])EM&O"/D<)/T&&F23E\Q2/OV M^N'ETO9O >1K9>/?2)&\/\US+46RMCOMV%BK1FF'KJ3*\65?;=5N/7AT*"69 M7I*KV/3:0.D.TVRE2\4Z*!(.CR].T-=J#AM"]G2/ORZW@:MR[N^9'5 M.[PDRFBJBM>LW;GUD(2;^UW/[-[?&B^^4,7OSPEM6?:/].X]4UJMF 5*MIOW MF5IY68]$4XU;^V6 IUA!SG./@IB?]IU,T]RPG-*/X030M<;0!+5!OI+):^:0 M? BNGU30.[S!BZ@@)9G+W==EJ4B''CM.M]]7%K.;M^$6M*R!%N9P06[%Q6L=Y# ])ML=<6U:S/;, M864UHPT#AVPX51:[RASTH-+ILRN=;C+YCSD9G?I-QCQ$? "7+_3HMY]M5ZF6 M0X506U9IU'TTVWPJFDZQ/,#*7GFVW4_8:"0)K%O+4: ?@B%U']=SL0$A/ !(1+!Y U_$(() M!YK)'W0(-),O")$@/90#0MR<$(%F\@L= LWD"T($/I-/"!%H)K_0(=!,OB!$ MX#/YA!!TF U,Q 4)\?:"PKZFQ0479)Z?J7;_9!S<*4-_MTZH M-6Q[KA<4@9XS=JF?"C&M9>[65>CC=KO2*J%Z:-(THX^]V*;!+@O\=@X;=ZU# M;(%.^.HZX0?["<\?77NW3C ']$/:;-]WV]5J8R0^(M&T!K?V$YB)/$T60G9) M$!ML.J3;4G:#>&^>6NPN%KG6P??;"T>@% )'X=+GU=ZM%%KK5FX]:]2JD]"2 M;]4FE4FNUKIU=]="5[<3Q:;U((2JF6JW]2@DBHFZ-Q>-H>^BW+7::G_EEF5? M8)M)<$QCANZH,L"B(4H0+;66Y6PEJH#AXW6:FR61MI;P 9Q7RHHW^(N]8Q)7$>Y;5W+\@%(-2Q6IFBBI0U6Z9L;UUNW1?>'A^! OOE"< M'RT.PZV&UFJ6&PC96ZTQ?8TDK-B5EF=W]HOBI_'.F-79TFZ^CBP1392+3TPBCN/*W&M!JB!5O&3F 5. MC8_5ST=>W6^J-F34+RA2['[-,OBI-V<94:;U:02 MT7K;D5>@V.AXL#T6"/H9/^C6EDTHV6Q6;/R-9"ZJTC MHTZBJW*I8>F^/9>2FB57LYU9:>G.KN(@,KI>:B:0\Z\JYX%!?S%KDL1E^\:C M-IZD8Y)6[3%QKO]X:SDOMZ=V:A#*%2:A?M/:5**C ?O(>T.HDG=1YBHS9@)! M_]*"'ACT%],8D>ED4VXJH:R@5BKKAT9$T,W!K5,2FU0UWL\GI6Y[CNAER4[> M]W*%O6E2P/U!\8O_IDEY)*DXY #8ITR7(H*#AR5YTE/ 37!TPO"B1EG 5Q89 M!R49TYFIXCE0\!^X'59"&<.7!H??N9.F\,RHJ3@V3 >WZ'!);J%R!W;H52[ M454#A =3&_=/_*!_5!L$6CIM]/,\7U20315TX )$ M_54R+.MO:H9,BJ#BLP:A'2^I]33SC!J)%F7HP*:::%F8S2R\,OCDV!96^(2M M=#+*#+A#!V!4#QAM!PS\/05S0>ZD5(NPO&/C^6=K2E87*GD(9N?3V^$*_(.+ M2KA#!,4I*G"E@]/6^^L9[EYC ]LL] Z_ MPK5*U,S D]!44!TR7KVZ0 <+!5UB68B') 0VB M'I%TNY"ABDT@M4:B&:9J+][NKA4P()JFJ-O6W1:^&=81\">L$M2/A)'C_H+] M!_B>J#@7"-!) X#>,:41&8WG ,>:9V?PH>E,,]8(>8_:WD+--%$/4UE8OHM# MO"YO^-[>8V M,]!]@#5"24S!.QY 3_$ @4&^-[C^;.7 P( )^A9 M@L$#=<-V"0>O!=A'P#2 *3#FRQ0:90ZQ"]4S2T=80& 6C6T?63XK'4[U>%N M(^R]_MZ2!A3%;L?(TP,['Q2K@<^'ZV(1P;??(R/07$1(^;>/_W?QUT)]]M MSN!Q@H;YS]9=W@/+ZXK.$F=)02&W^;DXA#?_(VI+<6UMV^5Q9%2GZXK_LW.Y M,2*H6)CC_D,]?<3H.,$EGE2XA[&#D83N78=#";WO7NG [I'%-F;7H\F1"8@\ M4>#_1&ID8AO_/ZUJ^FQ/.V+N=.Q]:P?FSOL*K CQ,D#S8'<;*&[M'#+Q]QYY MGV/*0YR>0]81EV\=A>RFZ8QF1KM,KZO= 3V?91X2BD(<@/CS=[WH-GRB6X0' M[$*L@D5$6_,R*$_P;"0)>!W>K=1,0X>/$MG:M9YSE6K)>)H6UE**KHIIJQG/ MK^JU3=V/SL\64,J#E'H"E3J$U0^^T-P!^(8J,;:@ARELC%CZ7U@@OENA0"4M M\0C8)U/%,O_B:V4T)/->57?2Z[TSG8&E-6VJZIA4R@$S 2$GU<1?.3,+D$ L M-DLS+#&.V =#&B*6$UL,L!3>JP%IV&QO7V40VHZOG2)X'KQ"M.$+L%+B[A)LF3R; MM?\L6+QJD_7+*E@P$U!.B;,9<(DK?#*9L8N=C9DS@&_)'2!6WE\N)@'A=P?& M>ZEJ&B5BCO&\Q@, =DL2W9]M8(9SSWS+$V UY&6R05D&A=$"H9N#?0G\4(*( M_84AP"5P4O\2]T^6S? Z] 5 M>-TQ6S[#C^$+BM ;A/Y=4O81^U+0J0RH#^Q=NQ@!>4FZC)+EFZDM._+--I:D M9(AAO2[]7K35$E< \U]\,TTEHO3?_U!-%>1"':ZW3O2>+L(<>GB;1\2]IWN$ M_'LK+%@B]"TM@7^\IU,+B/$-A_A_HK4OE^+A^[SPPL;O"S^!L;6B[\;8?G)I M9B(R$@;[6BRL86HL "@)F;8(.@JM).0Z[7A9&!4*TB&:T7"*0I?4F4;URG&GC7&EZB#;=8\SYZ$3%X ,$# =3H)5+'W=\0U M3.P.$,NZ4+AXAXO4Z>YVK"3=0=S6-AYR[\1!D>7&&J!>0D>KO;OJBP"8N:88][ED MH1@5NV?*JFO&2+0C4E,1 P"H )[ *2OLD]D6X0QD \PGO %?9&T+VP#S M+V7XKIRU E7YLE?VG&\FZ@M.6W)-:S*/#"KF=+QQYEG>U[Y9P5.D?G/-P \ MS6 !W1@_K_PK1OCIDA 3N:/^3SVC.#T$_?J=W?%:0;> ' 1&DG=@_TV;2 :' M!N?IL!%H&3-@K@@;_QOX[['(@Y+%CV:[F.E+OX.2+MY#D>P]DQ(7HJJ1J_ 7.,WL)EC FY!Q M!EE"Z@+_;+FKW:T4:>H4 +<]-0O:>4">HNHJR?C G8:BN^Z(#:&A-3(TUT$R MT=Q124)#=Y7?&BMX"!XUDK' HNR8Q/-#8 >PM)-T%'A5:#5SG5K)1:M&T.HN M#'XWED2K8#@.+B!9$#"CFA?!>3APW3$5>]LX*4A;87@V9>XK^R*N]DHE@ MDI>V:&ZB[LW@+,4+F[PP""1(\^)-+M^^U(-W1F^],@C%$'"C:Y*>EH?-#%GC M.;BQ;_9'2V?W!?F]U!!]_JO]E>OS%7>05+$@NS+^XB'J9 L8EYZV0&D=CU M?G(892,):=B/QX=,/SJDF7XRP2;ZD>& BS(#)A:1I5]NYDO<;B6KW28["'6E M$)V>BR93:%CY97F)?9+C*].H4F6J#3DG%!53[6[RT4V^7>^SIUKN2.K^P\M',E M_6%D"G':,)8#5)3X#'X[PQQ?.BY:\=Y:CRITKL=)^>&\/]?;N*,M?7SEQJC$ MZV:D8PC%^01%TY&'6)$T@#NY,EK-U5FS/!L)H?;P<="8*XM(B^_'3J\&5W ML%HZ2!586BQ(!BMTQ%INBM\>/[XRAT;*M#.9SR:AZ#"S&4O20,OP[B&HPRNM MV5 ;#PJUD5#M#(JY^P>GWDO@*Y/'5YJFTEJU"]-QN[N>]]>-A[XRZM6] Q![ ME_;C7"0R9"+ =30C]J/QY+ O)D6Z+P\B=&*($LEXX@1=]\FIOJE81K,=FC2M M2 UU0G:2/\=_D=5TF"_U^8W@/+;GC*PE33O&G^,_?HBZN^7)[5S_'?IJZ79XU2";6G;+-=W'1':FVZ M/,M_RUS],<3VG=1$33=;%7$C"-/(6?X+27S+ZO8[9:':+%?RS;+,X"-K9_@O M8BQ*C5DC41'B^D ;3+K->4RNG^._U;3\T)Y5DANAF9^O8L--)XXR9_EO.)); M3;8M,$*<[:68N2$4>$1"/QN18$HG#]]]QA+BW MW1,YO"XY7)J,$ M$QG(?8F.HGZ483@ !-%]6DI&.$8:@A0S[[_C9&5ON6>[LBL'S5E1-3O@MJ,, M>#G@RSO@9I]&R--[,=5I2WR77JM<:FSU\EK?6%XS0GXA'H[OHLT(^,6P?HH M0)61B)?_%/]^%NI2ZY2H8;^K.4+(SIF&,P.'[12+H\W0>A24P9R>/N2C18U. MS9;BM;#X8MCN;:(,#>RR$N>2Q)\'0=;Q[OX08WI!,#U2D2F:TFCMAC*VM8W3 ML-.JJ2)QTMSL( ZC381W*3!M2%B]]R <*>(P%H)1O HW"/S+];P="YYF_?W/ MM5(9UW- O8R MR_NEI/BP%2<6>B?[8?]M0%';_?&\2:KY&[.;JL R*:UZ-C& M]@MWRYI\<["QO5>$Z%WSM$G-Q\R== CWF3[H$>LR?= GTF#_I$N@Q?](ET&/^I$N@Q_Q)ET0X&N1A MKD>7][92>RU=>3,D<.] PE43@S?%P,E>SSM1(AD:_O+_^\4POSZ(GR@3YF+' M;1\^M7DE-WOA*-YYC X.WKF/P%^_\;Z46ZU$=J?,T+? M;>NS6-;]U,:E1__\W_\;'#<3"$303R)XIBCW[?SB4OKTWT.J[PL;^U%9X\*) M^'<2M1):(*\RD#E!UW7\[8!7OCZOL &O!+SR1EZ)!+QR:5[A(M^)5UJ&+6J7 M\-!NVE[[%&B>E!3]V$W[@E$)9 6 )A"80E$)9 6 )A^6;"$KV-=_X9PO*5#W@^X/F YP.>_^QX MY3OP_!??)B)'LG_]+ALZ6GNMV*@A+,OZMEM&-YCT]$S.XN9#DE["TV5F03V3 MPKLYY&\8#[6/C$M/B.*M?G6XURO#ZX;1QWD#7I?Q?X2G[ $9;[V]A$AJF0AJ M%LNI-^=Z^_->/XW=Q_RVTP2IB#AXVNZ:@CYS;(M?NEDHUM;PKOP1-) K@>K,Q$K%8RVDQE"T;MXZ-KSR/M3$^6,V.OQNI@QL=7 M0X=F.P_C^Z0<4VHT;FT4^?4[$KW*%$M_9G #K1AHQ7=K1:]Y;" 4@5 $0A$( M12 4%Q>*9W;U;@[Y3_"?+^/LVMW^PT!K"W5A/1:+RU"?V[12MW%V2RIC"*'E M0W8BFM.\S*SGK?64=+UD7_-VKS#[=+^/W*$P'6L9]Y>@B5S01.X9!MF[\.V\ M$72-^W:$^+G'^7U&B)_;A\1GA/BYC4=\1HA -?F$$(%J\@DA M7D$T($JLDG MA A4DT\($:@FGQ B4$T^(<3/;ZUH\IT] MU XG3$:8ISYJS-?MH_83!.ED+-+SC6A^5L.BUP3DZW<^"XC]$6)_T=9E ;$_ M0NPOVGOL,XGM\UYBKQ'[>S0/^_>;=0O[]^GH MLPR8-6#6@%D#9@V8-6!6/S*K_[I+/7L6\O4#=N^7$M M51_P7,!S <\%/!?P7,!S-W56_(C&3F\8DUS'[H'6>X/6^U8=30*>#W@^X/F YR_+\U^X3\\7 M]VXOXXK&%FS*7"1;>6&>R:ML;NU$>6YY$U=T*"[92JF5$"=3K2&9G3POCIVE MUZ7G95_TH$N/=UG%F0)G2+Y1*I=O'L1RX9/2Q=,\!;5$)J(6&/TR-5A3]@A1 M:6,*ZUI3 ]&"+X'CYXYAPR?OOAG@#5EW%,B]-*),-#.1!2^D1(K$1Q1#39]8 MBEJJ]DC5R7.'0&CW5=1H&W.%J=8(KX LX\*2EG%,$3^GS_0]46L9N^Y83#\R MG6S*3264%=1*9?W0B BZ.>!?8.Z0A23,X/AL%D!\S-WG)*H+T+=U8P#D6F#^ M<^-($#-#EX IR/)V0I<2+=4BQ88M4]2M(3*M@FX;!*N18Y&HB*;9'X_-S'SU M$$NU$3LK-%.YS;J/>.# ZR*2W4 M(I3LX%41&;#4%34%U(XL"H&XZCBLY7+;'0O?^M"S<2.CR/^]W\=G+/^4LJ4<6VYA=CR9'"?3($P7^ M3Z1&)E8U_].JIL^>#<.?01I AVC_[A>;>U_]^MTB3>U ZM(&Z4YG[1A2? M3 M'N+T'+)$HB[Z<8Z69$E,]&6.D?I1)DKWDTD.W#D6L31",4Y, M91FE5JT(0K,;:^:;H8&@UGBL3(^O-.S2AC5C*J*;VE)^M4 M)\Z@4=[T$W0H7YFKM48Z5UG6X;)J?7?U$(;-H,'F:;#KJ8N)ZTU+WRW9HP8\%2P;PUZB[C(AJ892^PL_$6<9L.QP%>S_O[G2D'"M1P M/W88W=JR/^LOFH@0YA]N+,' M0X=CURTX_]/6'7A3PFO30M]=>J3QBW8@X 6_\<(S_>!231E_O.Z_=?5K0UQ24Q'H MKXK:A4ZL^0"J6]3T1F]](O%");MNFL9?+4T^J2+W:0]ZM5HJ(=41;:&;E*1! M:9P83:R7"@-?KGK=;?>"N)6WTE9!=G780+B<#5EGRET[+:A?B"_@?Q>L**^6-751#47F;99-5=AZ04] M:HX^68!;\?'4CFVT.NVL1Z91H)M,3%J" ,=__8[?L5'V&@),WZI]VF4$^ M$ MT%W#G(14/30S#<5$UN6\IJ]!H:MMQ'T+(%_;Y/HNJO;ZKA(6LX)>,PT)9.PU M55L>KT;EM*SEZ&XHDJ,7JVHF7L%UH^ KL7?Q>/QZOM(W9^@;2.W%NOK\%&'\ M!+_G7=(XF1E\L[K,->AYNF/H*T/3!6X)T@B.3RQVE;CEUHFD[Y\IRJJZ:HV0 M3"F&<:GF1CX RT>AY@U3PG[ R[.!ZZWQ*FW1OZ?8$XI)!7NK'*8L+>VP^!/?V.N 3G+QW*0&&C7#ZLC"M M"^O[TK1TGYG>LQ)6 N#D,7<,&PNR6U\QN_7Y*NX');]NWO7F6KL-MX;K]NKY M^BX:*.0S:CC5:U'.6#[I"C3_2$399,UIUI* M9Z9U5&,AQ.5:U@FA>:Q579[K6.*D'](*UVEDA/5DR@TU M74RT*LJYCB4QJ;BLWU>D'(VB,>E^SA6,":.Q1)B+$4,=QY7)VDD*]5G'3 P4 M_ES'DL0F)\<[#\H#G7:J351H9)3._1+4P\F5JY73T.+K/$NKJQ%JC,N5=&>S M["=.(>*:6J(VZ/QN)BXA4*XFYML-:DF.O6]G4^BRGQ*75O)=M9O)M-6./ MU2:W6 CFV8XUJ")'0\7">D2S\AQIN<4PB4;+L_2O6O(JDSH0>T]'! MIG>V8TUYG$YVIV/[7FBB1%7E\Y%%M:Z MHW\A.ZM;]4']?E)-TP^J:LWRCG26_O58I#]/.$5CDN[-F_-(.Y6U-V?IKSLS M9]*+=^UVURSP;7EER9W<6?I;H5Y"T]:1,9T3.II5;,66C];R7&\;I]P9]NPQ M4VZ+:JL\H^,SG3>7G]?;AIDM0OJ@8';LB9-FD]&!MIYT5LJ-NN'@]BB>PQ(+4QZ(E+": M(=U"UN=VQ3E%\#-]<5!,UG,59R4+\?OAG%O%*D,MQ-^H+\X69\C#6= >9[>P M9]KC!+UO/NOPL!N.A.G84\LZ'QWJ_KFM?VS?' MWW0)])@_Z1+H,7_2Y>KJ-#OF[KGX!)/I-)OFIC(+];%1_, MNM]'SFZ?;CK3C#5"( U3O&-'=C I49>I =+14+6_R4&Q5]CCI[0H.47#=^]8 ML@_K%RL<%CS9;. ,T4$E@%=-<:8PL1 /Y>FXP29I5%ZG)$6>Y4H#K^<0>Y=( M1K[IV:Y O@/Y_G)%QA\1\-6PQ"6K&WTF=.MLI5:K%_.1CN+V)(K?X5(W[<*^F?![)L6*E_8$:N9ANQ(=M>3/B*-HI;6 M1,M2ARJ2G]?6E;8^1SU]G&@[TW6^7\@5'EHCKZT1<\=R5W3'?A:;WUZTOU_3 MHZ_L6GU<9 5CP^7O(ZPFI!\5.[ZJK.%+K_<1[3@3ELVS9CTV'S4QCB(!% M#%W4J"%"0?;K>T?'/FJ2]",4_M5<-$^ :WORFT4OQ=&UW(:6^O5%5%";&F=O M8N.UE.#=%DA)^BJ]3X(TF7\5P?4;(/T(^;Z>0_=N <_4J_'VHSJDV_':H)8W MG7']8:ZX[8T2#!VDR;YOFLS QU"#'-F?:&??-*?S T[.]5OQ90>[+^S D:/C MIV>>G]?OXUI5J-]W5:6M/LJ\L>;;O72F[O9-2B:^1;]P/_"^__7!I5VW0,RO MZ<>]6\[Y;FCB\-FUW<[9!IM*1A.=HE)W6RTQ=Q$N$>3COE\^[E9-+'\\&M[8 MKOBF7?0^N% 7 M][Z>G5=H%Q8+LP=+/U[KQWMQ^:17YW$+T4_K%7=4[; 5F/4S'>,X9]%;*Q%9 M;\ZQB7'HFZ D\DS> 0E3:F@,\UQBZ3^-?"._(8M%WI M(V4,0#3=8RI+9")*M+R63/^D2]&+R M)UV2898-Z.(_N@1ZS)]T"?28/^D">BP@R]7(\MX=EM>\XQ_15L9/&^=_A(%= MVY#81]N&L)%P+/*=VH8TU155AJ]'%B5 C"Q3K[8V"T3(=R+T6M.=Y_OJ7+JG M3OQ;"<=W:KSTB3S ?C,>8"ZA 'VVT^"=JJ,&HB;J$J)$FQH@N%K'TSV,(36# M)QIRL 7[K4].7&:'%>==@D,3E]Y W2[H_&G8,[NHHU%WG7"04YKD!O>9^,I8 M.9G&TFT?=+7#KX%T?WOI#H2;I?N-]B*7$U5S(.0422G-:>,A4:U_GG 7:^N. MF,YV1_2\=N\(\<6T4-%XMW40<\?&7SKT^)4"MCAY!: %BRW0$3!*Z?!,;PM9 MO=2I;C^E-((F&Y?=Z?D6&NB#5297T4?=G? 5+,M!\AG]M$BWG9$E+4L3U<@O MIIMQ8UA.\-MF.4P\.-,3R/$[=SJ^I1@S^V+,]"/3R:;<5$)90:U4U@^-B*"; M@VO%#&\0X\2P*Z3&"4>9L "7(&[H4HKGW08Z,?JE@]=?/"GB^AU-9-L:FB+= MMD@?95$>.Y;M_CT5943)CHGS([C8+4B0W*1&_=N>7WPFBW)KZ%_2GR?HH/[Z MQEY035P337!&;9K5UB/+I8M:>YJ+5YNI7G7>RB_=AC3,7?3,B>:_ \41*(Z+ M.5$^!-Y?>N.6;M<+>H/35JFBSD3'M-I,QI9R/-WK#>M>GYO$:4[G[Z^9U'EV MQPGI\A7VFGZD^KOU<;9/VF:Z-9B^R$M?[3SON]/2Z,%:+JKI=HI6(YO'3%PU M']FZU\@EZ)$<2/G'O)E;0^DK(6?Z8H9_J,<3E9@@TJ65WBB$*LM'Y?.$O)6) M%3MQQ,NTF!$R5CL['19HQ>WBDDR^FA3:GDH]/F%Y^=-]D?@!B[Y<0?SQDW[7 M!X1^$0[_GK7]4(VV3PX 7_G ;\G0E18RIQDTL$]/]3J=%EK/F5!'""GI^<-P MS>F]WM)5"ZKN()FW7[BNCR]CKG0&^*0D[L@&8/[S%&$\3&$P0QA."@-ZK5.\ MQT>1CQ?"6SBL.!F]2^&M_+O]H\K42(0(Q+$MK!-Q9A=LCVDLX9,%6ARL$"4" M2*([5:^)),<$-J)XQ40D2WR'3S #F4GA]%_XN9BQ6/I?EF:2Y$;R-_/OW]12 MM4?PL*&J0_"C0ABDZI:MV@XQ&/NWEO#3S.U]8:JJ4V71E$8N%(P+!7,(!2EQ MA"6HNFW 4BG>6Q)>=0,!<#;\\2(PO?_>Q5; M&NDS7AK $\<^YLX"4,!T\!+YE6KUIZ)E];=@XXO+A'OZ3&[8GS?%G[9-^P6_^LW&PN?VF(*I$W;CH5$FCH%_L.TP!1# M +5-MC.PO&J$=*EC_L<7/DNV 1)-S'3 ?):- WK"83J.\D%EPAOF^",P"GZ* M0MC Q+?_I?[MLK.AH]!(U(;N7S-DXFK=-V>#9HZ)^DJ4TQ_TT-04JJF\WNV, M"W6A4G\F'?3$"*#"G_ZP3+O?P*T,""/@O\JJCBGBL< 'N&9[2TS_- !V M/"6.#&B_)!A=%[G+S#E:9$2[6:,R" M7-7W5\3L."S$[K'8,CHI(M5LC=M3ILBS65R"@)O5T.I-NCB:YR:.V2(R6PJ*QO P]"I[(8!(T MB7:NN:PO*N@\171QLM',NCEM3U.5&#)ST^*PN?SU.WI&YO]#A!W6!=BD -EO M<6V>$8P/X"T^:JR:%D*/DVI7*Y=6TIKEG?HAJF0 >8H/'@TZ!.DOXZN, M80%]F('[]I#BB&WZ7HO2@W9(?8S.LP_IWBP);'IJ+Z/'3ON!IH,%4*1#!U % MS- &].-@35G. +L%-AAK;4W!/UAS/=/F!#27O;X#C2II#O$CL%+4-"396 $^ M70"!KS2BP#K"P\?P*]:-(J4CA9S%I&8:DA6$#2BB#JSP]GKKP.S#S0L09L.Q M*,FQ(!@0S34 LD#@8]C6'2QBNQP3-+%J;G>V+7SGDR<"5MPPB2' ?//T_>Y) MN#G+]DDB%E[,NX!%;$BFKIQ1DFB-* TM$$'3]S7C^/'_M/^H>'FIAK)-?B$NZ=4C7NP?IA*RF 5Z!*>J6"PRY >12 M(8^!"\A6%7ZJZS7#_:0M/'XH!L @SJ$5>, PB(5' M(02!<&L? M/ R*J.\_EJP"&-T!IU^6R=%GXJ;+P&-(WH'L7J&IZ'E$'Z!P)JX)!+*Z4"%Z MD0F2I^($>3 !UH!R V='NJ,EDXML0-_>$^"9;KAH]I[G>:@$72V$J*&H:MBV8:[!B)QY.VR@7A&@R4%8 M]1%6U"4(CA8N-'MWX8'I@#<"Q9.6(W0!W&#=)\KP0A 0]V;W2I"QF:>S]\ + M4^V9QP>&))$>=Q)RNQ\RC"8'N WHX8 A./D=+(,.4@5!-#*WP3]0Q8WV M/,]ZYV^;KH0 IP_06W.0'_:PKJ)QW^)!$87+$]#WW28>^YRD(?52M1 _FP$+ M;[U:3)#JCA;5(>&PZC#C(OF\@Q4?=Z5NMU8J"7-^E(VI[6(['E%^_3X75/UG MS^,UMDN@Q-T:"&7"E)N%P.>IJ0A-W!#V,&Q?BI:K$8$;5;(GZLH54/2<%7Y& M+,*?E67Y]]=O[)C@:-':^D*' NJY&3B\A&#P?(QYD&[9!\E+'V!F!H]$5.6M M]L?"2+#S=/5A' JHEB3#Q$_40.D:;\B8.!:L\M)>RI]ZTQA\C =/?MBAI*Q[ MBBH(:DL?UAK-9=VH?3SQT$!;/8E]D*=LY%E?I*^RPU"JTXBVT_>A1C;IY+MB M#>(-)GHF!-PE&?!>OFE("(&-&IK&]"A[<#9[[C;GV&M!(FD0$>"=HM%1CCZ" M>? :/4B>/2W,1K<;7;O4(A,_;BSRW_]UT$!E5XJ#N_\9YC_;3:L]L+S&+2S9 MOU)0R.W/(@[AS?^(VE)<6QZ8'!=FH]L-L7]V&U\8$50,]WZGGCYB=)S@$C<6 MW,/806]!]Z[#[H+>=Z\TB?'(8ANSZ]'D*+D;>:+ _XG4R,3B]C^M:OKL!@3^ M##P&@Y9P..>]7:[7;Z8 MYO?2]U?"W%Y:_"3I2A2MZRR+4^!9-[XD+M36MSV7)&SM*5(1-"_<"-H4']7" M=^PYBB0]3F$'&IZ#G^*HUHCDA-V8!2MMDAC6#(OXOD=772&2]+>.SHG@N)8 M&YN4 M<)T1XF#CC80G-Q.M9A ;H&V35T"FC/^6]P,UO-^/*/H.EF-IYW$#_C8(C_JVJ%Q M*B&HJ[0TV%0W-2Y2O\CFQ%D.RX<,N70_2EW#]1] M3:32[:9J E-HJY%H"FE.9& <)G OBQI]D"CPPXS!3]C$3$O/M*D:9;#+="Z$ M>,&'>L8]WO>S,;^J)%J4=E.QL:[%@6.(*&JB\AG2P@.[?7'ZQW$;0F+%:M41]/\N"ODECE95 ;3%#U4\';^+]?H[ZY<160K M.BL60K2Z6'.#/3QE3GGOFCS$3K4GI>7B?APODG%ZWB ^BB3*J)8$U<,PSC*U&IV_H\@A$:9OR?ESPWPNC2CADL*A*I&L\Q#[+(8Y,UQ&I43''ADF MV<(YVBE1\9E'RIGASV^T5A8FH]5OMFM<)Q^9;MIB:-K;K(L]!564/RW,+52R M[[ ^-8AXD G&IXGSN(2_+'X'Z\X>T7OVJ.L,I=G R5_M=N PN;)NR*8E-R,V=.$&$Q9-$DK#&F4T/W M\N8DIZ\A=\-L!#+C5JR\D?(=PT9]BU.S#['2ICI9YXRNTULS3GIR<;J'+"1A MVN/VK-;31BC1GA623*\.\7*RAHG!):0'/X3 2ICA+/'7D4HD%T_%T&0]JJYC M C\M6B-P1@P=G9)]8=@DWL,TAF6! T$V**>J34I%\!:E>\GY_4^"$L+1P&Y7XPZ(H>%-*,"5)IKN)BQ^W\ DI LN0HW MV8;Y-:.'?D@]T)5E?!+G4B*O/?;D\K#^<45W=DG5)]2=Y?;Z@]RV M^ ESWQ8S%;-DWM_/6MS;HY)W8_),8'(!5,K5;K&%!*[=+HX-,]VSY5(N_@. A MJ89QM/O1\GZUF+-T6\P; [XPXR=TJ!2S[-E"T(M-_C41^!/TWDH(;H/?I=CI M3#HI1FDWHY/!JFIF&[UL'>0BS)R;7'@L%3@J(!B^>_*B/MD(O!+,X:*YYC:) MUY20CBN+3FDGK&8J[H%1T.&NQ%%YW07HSS7[ ME>"!_[1[\4BTNZJF$2#063K+B>I]K]+E)+H[EIO=WF,]7NA=Q92&=41Z"D_S \&K/.X:7\B068U41"'4D]OQQ\;SFB\YOOE"BBV:/*. M3G!O-TC82_L20L5=GH:M?-I:V.-$5E#+C!.K&+98''TF#5=TLLT4U7%;7786 M_MKQ:M_6'B MZTRS[Q?3>9^:'O.*;;8!I*%K.(K$FZ3(3?IC)V'K:^]%EI@$ ]%2)4I'-DF. M85BT'2Q;IYPD3? & KS L=U@FX3BV_Y6I[=[X;B+,;SAL$ F+@[4W9*_O?4< M^?[[Z]OY.J3G0YC*J!IY_1^L]E-6NE]-/3-PT0 NSI+QZG$68W^AN,+: MN6_P<$AVTL^A#C_$ J6!]XF>&.3LY7>4I>*=H>>@\[(Y!$HWF3,"#%,#A'0W MS2I3*DD5J>86:'P@#% 6VCZ25,<=9D@L#S92$+!;VU['-7MD(D08W%)7%#D_ M8%%H-[1DEY'9JB'F[AR@9Q%R%H/DRL-J![? WTLNNZ-+#QGB/%_=X7RJA71W MVPWOQ.%LFU=Q<2"]-H5P3M-E 0SDAP73-%V:XM)O8M; M^'J2G'/Y_)VH)8<(8$TJX,7EZ2?Q(*6MA\G8N:,NP B14EK#T>0]ACE@BW\^ MXRCNT^Q='MZ]?;5W*E)%8/Q=(FDGG%>'@FCB\0B[[:O33:M5"DT[\ERW MZ&J1C0\'LU5*[?-7VK0"#1/R2LGH\%L/9M-OWSW]JA-MF7 B&8Q0N]3Q_(M. M@@Q&V_F0+@P;IB,!8?Q'F$!@_$D7!BQ,0!C_#.E\S>#_B F#G]!+_8,8.,FS M?'1J9^3#4SMCX23WG8;277Q(9R!"5Q>AUP8TODCPYZ<"?A\!N>SD MSA_,&*ZK\ZT8XP_'>;JJTF=MU[=[/Z3CP+:,8#\'=S%!\!G@-VC%ZNG*;S,4 M[W+;W=L=TC_,JZ;6YQ_POCW63:Q:S10S;5%0TVEN9I:7^5+C YO>V[3Q'P+% MDW3_\6YL2^IWQU/6*%7ICE"U'RKSU43@E%*]'\$G3IZMN@N$^4+"[-FW0)A/ MAB3X2IBKQ@-S+SS&:G1Z*2?[H43EL6G\09GQM82YU!T+]X/[9DX04U.TEHNK M/IM00)BC;Q#FKQ>T56?N(=^K>QW?8E;+JXGV[ZI9;N4F>.SY8CWW0[J=BYH* M38>8+HI)Z4YSP_O02] ,6:NMS*XHA*;M?,-VVL:2J?>CV$L O1*/WB69:PW9 M_#;R]UK>_KO*WZTL^QODC[.SIE7/+]F)V.O5LZ4YZZ0_4@EY;?D;+5F45NM6 M8L).\^M%C F&/7+'1B)WR6CRXK;=9_YYXZGOIUO8@UGU0A.Y@VCD MI=2"G\>Y_1B?8ON.)S$@F@R#9#6:;4^CY6/=438]+(^$>">5WV1ZW"#9\J%' M(3BA%-=/-F+MM3:,)IA%*;F9X0X2V*.(1>^BW&G3H$#4KY]X^&JB3LZ!L_]^ MY3#V\\G_G;SJI268D.VCP MPF)7EV'8.X9F@E#S_?NF@5!\9!2O/X0BV53*\URLF!:JFI82NVA%]Z=+ (3$ M?Q$V?A>/O>0O!:/PK@+(G_:&ZR>E6&2 4*0?D^+)?I1FP"6.)^B^&&-CS#"1 M0'$N=MQ1#25RC:9NQE="7)1FD\?JZ$$/G>TF=U^.S[K27!=HAV\JZ>QL$N_W M>+B2.[YRQBRLTDHQA#;;=9CFN-IFE*YRKN]LKW7G M'>I.UMFMM+K-4'%N3.8VNUCT'SOJIL_#E2=OMQXR'5YK5M(3L2?Q:G_1[ M_':&.;YTZC!&9U"?%FA6RRG1H28EZFK]7#,[9\X7Z7*[VFJ'4J5>RLXE:SJ[ M=#2X]TB+":.7ZSEM32I@S7("_(JOC>Y10EJUQ5*TUE=T-=?,8<-\ M GPDQ3^4HO&'Z(0=9N>=>WW35VKXF3O@KWS&ZJFS'^E5A3O(DHJ!I+BV1QN9S4)LUT46ME$ZMNH7IF,.+YZ_PR&)$+4R13 M$"+04OL(^=P#;\)TIAEK!);17*@2>J+ _I)X#4C@V<<&D@S@LPV94*4:+N'. MS*_,/%;0PIPOA";*#))<+6%9L?J5$/^><].['M,D7QER#U]*>\#NVAOC8Y"X M =K^>=QM!]6GDY[;JW'W0<4P5?>L)YZ/+A1$ (/Q"""7.!U^0/ M0C"!L?8#(4 U!>ZK'PB!-[\#0ER.$.\L_7HUZ?IY4']:GXG7''5?@[QKQ1+[ M:"L6)AF.QGS=4.#?5SH(M$BOS+)!>F0*NQZ9+[9C";CE@^ GPO&OS2U-=?59 MO/*:,?,OKP1FX_:*X&0;_?G.,N=$G/VHB'-^;S#SFH1?M-70R_L+7YC(\>17 M)S+S54SZK8B<""<#27YCSNL+$YGS=R?%3Y3DG^9PW?30'CP3%Q_B*CH3+9#N MH(OIXEO#=8/3AZ2TY]9P_^\%('%K8_S9O^G=QVKP',:0>9]X+ Q+W8D8J47U M4)H3UC7^F3,UT1?/0KN3C';CKDI>5>_!668L4]5A4]20Y9U?SIBUQUDJS9?I M:L0<9=9I,WVO'+1:"D7>NKTVB-T>[@MI ]^V9OPT;?!,MY>/:8-5 M>;5.EU=9;L).[?[2+FL/]?OEYVN#>$86)VEC$FFG8_6QF<@^/ [C^#!1_-=O M)GH-;?!S?0-MRYDFP//WJZ?81JJU3[0:WGJ3- M4;;+]+N)]/(&KEY>'#PZH_6#V@ZMN$6NANJEQZX"2(C\^AUEK]2'Z,K;L'X0 MF->.4%T!R(MU5WKMU-'W$_8_<-O>(NR"TZV7^IE61"CRV6FCOC07<_4&PJZD M5T6]:DXMNEE7!]T*(&.TPIU8XK]^<['K97F^O:R_?";I6P#YVGF?;Z04_CRU M\Q:ET,Y76Z/!C&7H7"@7C632U= L?X.-H$ZR6VT-4TQFTFQ&#?UQ,:PUB0>0 M_/4[SEW% [AZ^88?!.:UXT!^]@!>.T'S_83]RAX +^:7#P]VKC()E=5LO="J M567Z!JF))_@,GZ2KZTP%]]DGJ9SH57R 6]?Q?/_*G2;2-'C# M':4@'9FB1G(ZHCQ5==6R37(TZO)IG5L#[:.RGEOW%/=%/&%@?GS?)(G MWCE7N,',\ >B[6G[[:Z!,6HGI%B6+]'-=4213U[.%IGP#C6.N'F6%7XAT.UUH+I29S753A@(:)_[K=^0ZXU9^ MKBOT3!73K070%UDR'^+%%XKISQ-K[U-,BLR6'M-FK$-/%6MRSS0&1:-R@Q0; M+Y M0F7I<;&*IJ<+.KZ,6)N(GM,6^BWJN=FA#F^^3PFB8XWB"YM=T?4Z:!ROPWJWA\H4A.)^%F\HJFD?+ZZ;LV;72[V$,G1TTTO4=AD%]R"C)XAN3(N>943.#^H#NOF,G"M MHWBWALM/LGWDY,4&G6JAS$PGDVZT+#9[1K864F_@BB7+B5E,Z51C=+'3'.F) M9GHDEO&HJOBOW]%KU5?\"*M-4E"WEH!K':N[-5R^D.R/3GK]',GFEV/S(;ZX M3]+IJA&/JJIBZ6,%%IHDDURY*Z9UOK]L^\&Z7>N,W*WA\I-LOWM@[>?(]L*< MT.52(=EHK\M(7-=G=FZE>'9W96>#QNL;6>(9+9G(J6A8L6;: 5 ME@P\D1&_S^)U]X_JC,Q0]%*:YCB=7U8R"5&8]YU%-&4C1D&',7+L'1+YIAF9 M%4-?P *13%9NM0Q;U/9_QV=E*X;=0_;3!,W]I>\$.NX*=$4T<<'U_;J=;76C M[5RH9R\ZM>@FOUI"@,V%3^L>W?P\<(P&?]U1ICM8E;(-H)&[-/ANBT+*G6J) MJ>=.GG3_-MS%W%$@\=*(4BU"?,E[S@!1>SR"FYQ3(N4V4X._1?A;5! U(W-! M,8=]?(SI1=C X5,=R5@6\Y-IJR[.FYUX>SRN'Q ^9"'I']DQUT@T/XWL[N#4 MK&%Z7^'KF#VJM[B6'>+3YF!2-.)%;I6-(KE0__6;#2>3QXJ+PBNWPF=G;[MM MV/>ZRTL:7(QU^LC3!SN#CO7"-=K+/]N7CXT^F6S/;.-CV8O*SQ!(I*.2VWA>'\.9_1&TIKJUM_U$NS.XRC?_L_!>, M""J&.QI23Q\Q.DYPB2>3[F'L8#BI>]?A>%+ONU?Z_WMDL8W9]6BRYSD1[^F) M O\G4B,32^?_M*KILZT%\6?@,9 ?[6#]4<^N<7IQ++0W[MD5C?W;OM@(79]X)U>>2@UZ"=$E%UM/T\--1T]:878#JEU,3IU]J/BHE9V34ZJ<3P<]?YY>)X,DP MM0<_,L\ZJ.[!:5Z@2$JV+KNM%M_5X'7LSO3&G,HE_ M+6IF@OMFKK=#M6&-&EXC90S GE3MO$L;M5RAV\O1##$CN5>99&!W\9P"+:> M(J$.'O:= ON-O:DRN!ZB-'(L9-O6OU3%,.T1E19-0U-U\5]"KAK2=6NM+41= M%>*VJ4-!*!G2SLRMEGT.>A =PAC#I\A:6N MJ*E!9A6@W:R"7+ZJNZZ5YW^*,N#)]F8;,,QVMH%ZQJ1X M?/CKM\M4NS$(ZF]OK0 5AD;' MNR9/]YS-L!@]R/P6*MGWI(= KJK#!A(U@3!_S<24M]>[^)'>BR3ZJ?HPE%7O M%T+NODH7Z4EK"B$:N-J1NPA]FA "6NHD/T)9

    4!_2W6DB&>W.&[/$X/UU?Q?":"X57XS&7*;3CK/T/#=;C+(Q6,UO M.GRN>?CSONYN3\@R))7HAN7+:ML](([-##X2;F)1 JU@'8UUN7MIKLM63Y^< M[]G;RL&V<^:Y$Q=5W,\?ACQ)=+VUR<07WU](!OL+P?[":_L+(E$]?58:BM$D MHOL#.A;I1Q.BU.?B0[K/,'%1Y$21CLF17^Y;G]F1>#&#?2XW[[ZY (J!+8,? M[16MXZ(?Q\*;?:!H>,^]-H99[^6?GOK&ZW.K;-DP];3.G8/^M%ZB&;LT5,=A2A[!59C1W<]!F*M\$,=771DDIA]5\4 >:WK%(-?CMW( MV0P$ T.!- N1\EWWO!NL__]G[UV;W$:.=.'O&['_ 2&/-J0(B$/PSI8]$;.: ML3U[/)9V)+\^\7YQ@$"Q"0L$:%RZU?[U)S.K"C=>FPT0!;(VUG:K&RA455XK M,^O)_TWM"%0:^(*_40[\ M6DS<;J$S-V*UO//#\"L=+W,VX*?*X"'T'_ >0_R5CPI,QD\AO(;JQW+A#(7T M\3(J%8_ELTY68ZE:E&.?C Y9^L<>VE.G?Q4U]$>"1I^D@?.">1E2?1D(BD1M\#X#+^E*!)5N,)T51>(\1I33X&H2/G)-!/WA\"E*F8AF5H_)3."TY7TV#G[%$S5+\ MB/60>,^%Z@NQ=(Z7/1AQ0=^N0ZQFC+PLV 8OKRDDYWM+V!O'PVLF<2$RN/!" M$;JC4UBBI1C!"N("4Q^%/NGC47PJC8>S>?\K"H3SPA!?#?8(Z*W!TSEDVC\7]'8$V?(QQ"YL9 MH^81NRT(C].7ZY%L0M6OR,\^XT%+F.42[T8A=(:;.J*8A9^@*78I:A&D*<0L M]08M*$9+/(E?DI++@-L3M4?>B**!#P;5<@@:?PJ(L6C(OJ<2F^6,8SW"\I""9PBYAX!&W!PY4:00V M&15 8OBH=V/#,N$<:R2T(T#+\%$PCL^ .7Q@EYAQ+2)U;5&'9"0DH[%U8_)NT*@SNISXX@JC:/1Z@+TE]KC"H#!V8 M:L5L/UF5OO_@)1P1XPG!,@S;#X-[S-/@4%AT3BX*O@!LMJ9(@>(7*8*?W9$6*8OS M):EA(:+0-Z%6"+=-SECZ:*"&R)!(#U<\UN#I3WXYPEN3V=V27__OO#\SX0W8 M17KW__AM_T1*9O32%\]@+"4W+8AE\]>!2>CT2&V;YD*CQ>L'7P/TCN M$-T%\@_0U E)DW*#CI&[RW?)#7_FQ1 _Y8'.XF5\$R:RD67-<;A,J, =#!2P M6N&H"&)@9QXM^EGW=N#]6\X%%K)VPQ4^G/X>V8/#R07PO(=CJEDR1^O7"JYI!9P #\8"5J)&-^1HAMGQ'G M;8C1H@PVE'8\!.?HD2X=\U2@']JE:POPD,F]-G!YJ,;D4 LA"Q9A]=OR\=?S-/ 0:A/:\L+\7!E,H$F!I.CD"O\RZ>/9@F1@8>P M'S'5%:GO)A??#'FY8>+GZ C48I7 MIK^QR/'BS-6C+<,K\"S*[M1S\%5\+:] S"&/^.BD)7$_27<&<*C,=A)KPZSA MI#?)POH4> 5)(1, S)1]5)[/T)K&LIYQ[<6\:#Z_[23WCVM1(L5?41#H*O18 M!B%*5)#7S^7U_BU*G$2!H6F-^P4[XRY1 :J+ZZJ$97 H M<8H7J#S&B2TJ:'!OEZ#JQ'OD!O/T,6IXNM::TBD/Y 9D)Z)-J_I5=.4^0G/I M_=LN!DA*WH2I',X3EHG?( )@)$H!-, M7[-FO4$&LH2;PBLFN,/-B\KY81=F6YPJ.#6/PCPC7>ZYKB]L?&X=BOM.[FDH ME#QF;V$^U*U0^.<<HUT&#U?^H8S^EELS4RX) M?[T7EXXM,0XG4"?HUP2@EY?.H!LL^(X%*UO*"?L&ME<4]@@>^R-_C B1[RO? MRX+JWIU;S>6);N()9>9(^+I"E%$$6Y[H$%L<&&VZ+!+)LJJ%XHZ"L'[/QHJG>B=DFI1+?V)_!)W^U.G/P^G/%@SU?S/'3G/',<#R M BRWVY.>V%(SLOSMJ DE+4-140'$&6;1-;P>"J;,X M,$(#JFN)-XHB4Y@H# 9FGD?A&/D<+Z2BP'F*D%7/2A(9RZ90E2C6P;57SRQX M.ETD,M,H\4U%;@IT/!QO/?P ]U($+E&^ZW@D9%4U3]M)2HQ?5N+WI,E(E7$" MRGB & 5%J\'!5Y?V0QCQSR#\ 5$&/6G?[QF_++?ISV>2W8G9GD#QN">B+)SD M_)N9X2*O$E\JA?==D*PG;MJ9@0H6/T$^M'1,Z/ATJ@LH#3O5VW*>"OGU]**' M8G)FHSV'YQV)X$?1(G2^,M2R,OG;C)3G83$1"\]\$2I7I^W 'Y 1'V S\Y0V M%P$Z9$M%4(#G,KE "N3=E'PB9+:*XR EVLQ8@7X#_)E&.R"^B/DE %@&B;#D MO(;XJ%R+!+ )L$[A7Y,H<-AJTB(42>.WNY$4 :_KW$A)%.@.%)<14?W'*$0W MAGB0B>0G^[:RL4:6LJ-9XDFN(H\MQ2%PC,@%9*J@9WQF&33R$=AJ#_; 125 MP.UB_-_D^)CS[(F@7=VYS],RG1\^_G^__/1.U'BU@^=2">+TK3G>I@N @#[I M1B_@IWP@H_W@12F75#EQTP .B^YYF/7OZ0HAJ/Z<+IB'6 H/>(8UC0\K$%S, M9%*YL1W0=0'1%H(38 [^=JLPYZ\H_4K$T(7 28Z*X^=Y7YC^5CE\+RJ%B MGHY.W[RFP(YY;3N"YD'+1JF4)AZG MNO?#!8HVO!RNGX1YQ9!^G(4KQ0E RH\XOX'10+^8!GG$'6Q-50*792$IE.'( MX[A\M+=H _%NADCTB$P41E%QQU; ?R:_U"G,/48C(ANY,\L)9+B'M LR'VD* MK0?&C,Z_4M%BJA!,JSR;$HMS]P!+9%;>1A2=A/S(B3K:!A?"X<5+*:)'" M[+1/5U3S,RY:5,8D@@PQ8-:[R?;C,(-TQ4OF;OC(+Y:0F%3O &1\G7-U:R5F M1<\_/W?=_6Y)_\=-HAO2!8HGEAB8FA<6)9%B2!9BY[IR?T1P0 ;WQ%D[P&'O M4QN\J(1)2%\!5L31=(NU- &[I\,![X7 ON%5%48*)F/$O#XZR+QD>3@G-$SR M-9''L*=B@F$O0;L:/H$_) M=7YD)=TD+B8),+M$5(A2M0="-[G_E+9;P-08FQ#SNSP\1W*8!+L#$^#"R[T73'!OL^C.\DAPGU8> M4(+\;7&0(G[#\ABLB$&0*@SIK HI5SZ<_5A(E\M$9MEC1K35$'/&^++<%#Y' MKE%#+,^,."ZV8,KRN '#D"YN&8%?R?@=JP1M^2$D5]VE+^#I->E=H=RS31'_SM2[3,\4(MU4^)1YMGB?KW2NX8<)MXJP MM9.W^+%8.*OR %K:@ R+R781CS>7T:"22MQ13VON*:8524;N8/0NW(&RJN__ M#&>9,,(2!HJ=E_R4 AXP+QG&HA$*#)NY&I2652"-% 2L<*7M7RJ>;K[K<&H,$\J8[/%KT>_F!E-(O-B#POD3]N_/X2./",EUR(0STG2- M>,9BFV+"R.:#+SCH!XBH #K*ZEZD3,N#^X[Y MBTHP=-<6[-X+1 J!E@VF,W@JJ,",]K#(C(2;E-S[C2]Z5E%4629X\*(OF=<- ME6L&UH=!528PX&^\2D*J#Y'M+BHG( M!>^022\'AW&\R$G7&))T<"BQS((EL1/J/D,$R!DOC,3]6LE#\A(!CT7#1^#T M(' X\U!0_KIL#Q'@#0*Z(!O2]>EZVS:\J/3Z]XO38OLTS*L?1%F\\2/Q"RX7 MD\^?6$3N'^SN[[]?M&; =D7HP@8_AH);3NWO*H$K(>T^<0V%5>@H2>CL MX3W_S('-#,D:??8\A5\H=::@<9F\Y8L4_D]4MR\NB,*FHL71D5AK*AZS7>.#@B$ MN(''&L*HSH(CF?#XS!JV8*&2.\-YD2NFY2%Z.:F3S#K^*@"%UVH_8SW_S,\\UKL(?>!KLR MB@PR*^#+BTTJUTS)3*@+_F"93C%_\HQQ(EJ5.676J_U3!W"%V*H(4 MH:.P^V92M0CI4$TZ+[Z\QTL.>.4KY#TD MHS18[PNT%&D,47<&I_=2^&?G[: \8D/Q2?!\Z0ZJ"5SB9C5KZ$>#RV3'MA=)S*GRYP UW1P&IF.D>)2X!X23C.A5/<)9(]/Q_ 708[ MP+A6HUIX3,%A%%I@^-,]/9B(,(SD4XEZ>'O7-&C78%>%.).UDF^)U$7%#I6* M=63? YF\6Z3N/>K%94 %J^"+O>,_T=1* MQQZ*BF]%A/AUNRSN0S<_L=AIP:(B%V4!AWLRSP+TK4WAV'4G+*>2Y%>*P)4N MK)GRBF91NSHV1NWLS&@5N-1Y5O$+7JOGBGOII*B1BA1! MVQ*)QZP,/[\"490+ONJ<%[+-B!@KYOGW2CEO959B E@FCG'$1P8ZH3R1/Q&?XFY3?$V<8(6R+VQIL?B>561%2[T?,Q/E/^73 M*^;5=XES(7=13B@6KF?'JS3AZ>B"GY#%KG.7MVP$

    SQ/W*A+1^JWK1+;J< MN4,EX??@B."*_18>W[;7SYV7#"ECG_^?JYA"XJQ8_ECTI>AA0P8PR;.DGN[" M**V$2YR+&Q6[EK*"'W;/(Y\VF)?!_#6_CC'BX-X<57N[Y*UDW9*C3=3V7/'@ M"F9[ WDE?P9A?MI,2)@+JIM<*#RZ""F@P'X6;2?=(+!.?RQ>B)7U)LSE6\X/ M!G03MCI-2I8;]H).3HS+>ZFS>R$%P4E'$67@T (,3U[.@.V2GXI1P5!T/B-X M<^&DTY?;@RTZ6E/R6_'D2XPAW?*B&!1H]92YN'S_2[=K\'RPFSVJC:2E=0:3 M"7/'Z^:"ZG29C?M'*U _0 #ID%5=CC<'CE=O927<3E_.>$.7AM\6R@?0+S=X M!^QW*(KQH[W@$*QDAA%3!%\1,Y/U CX50,KCN.>6L#'D/=F$HS/@?PJ^QU:F M-LZK=_BGA(G.\&SISR+S(_N'%<]*AXZ;NUXPOGJR0!4S<4MF MTDSO44OR#"?_..$,%Q+2HO2%?!-R4Z@+7;!U%VAKS=1F'$\R\A9DD7_++B(] M3Y>;L'R-U^WG)?9B!ZN3R=C[ MK5UX66Y0(?M;V*NBHUWRBK*(O)WYV*6.J71HYX%+B:J.D3U<#F^J($.8G!EB M;O4+[AN_VKV/-#*'3CY8!A6&^Y7'OF-^13B215\X7ND]F39P\?XN]\*+Y:&9 MA>Y9>!_9FY778G3\CSSVLB=<4624>$L;\>(H MR959S;;- ^P\2+035A)%,LF!I;#6,%F)?KM(.U:ZI5Y.D9&39WL$S+^&+25T M.PS%(,(C%8?$5)4K"I6$AUI9R>*I2# >VT),?\3="3.D\"6UU1*5D'LXWBR4 MM2R>"KDLPNRJYIJJ U4FP;&SQ!TL^(>,M!%:#R]1YP>)<"% *].,XQI*M;S( ME'V2VD\HV!;#2;)0?V=A="S5==$2E$JJ$=(F:\Y-J%[\#FDY/R'[=60^>5YB M"L]B_@RO*&+*GH NBIG\*/PGOWJ %I*'I?FTXM*\Y'48D9:1.1C@0L\/$Y% MQ,+0M3AO\.*J^(ZV/N%2+1Q>PMZ!C^F@8_H(VEK.=D:' /+!Q73_ZW?SR73^OCJO\D/;7F\- MDGG09>:<0JP^>%^\>A/GYWT6W-OW\KZ]@#CAUZ6_B9]E'G +I>8+WA5$.R!9 M$\$H0402NHO\X$6$Z.NR-=K5J "!;'/IR(K6\YD5TA7\#"H@7\44,!T09+>B MP0.A''12V/4\N":\32\JW;-B IXB5/E7!D MPLQ)+6;=0^%V'.?C7!QL8Q&%-O67RZJWGW)D!*HUPZDP?A5NE09N)!#M9+VA M9FO-UCE;_Y1YOGLUN\!XS-QGH=]->4'6+CC2Z <%''(;;](9>)6._/U"R8M# MQV'.\12!ID:YQAOF\9Q00A?1N"\D8A!R&#PBX$&U -)P2$_O#N-:DD$H[JG MD>^9MV+^#WLR9 ,QXU>&5Y#BEB_"Y(4'$ ]OY M1&Q\97@EBQ9(128\=,0J]U3$I2WN9>35W68&LRW+(.SL&E'E"NWAPZ4I*EZ^ MYK6X#C5^B[/82NDBD*A3$?/FS=+$!1R^6.$152NX"PD_C)H%XA*I1'K@Y>+I*'">7Z#QD(Y1K'T MI, K;] .Q@2ZG<,PPUGQOV*!6).,SH.#P3)&TO9"2B^,CSEH1("7NR;__0Y-\AU/ M.6(+XZ/9OH)CDCTJ*V8:3OWMM/[\P=,YHY"JK3H:>[9]KP?3&\TT(10@Q*PW M'6M"*$"(0:]O:4(H0 B0B)$FA *$T#9"$4),>_.A)H0"A+!Z,ZV:5" $2,1 M$T(!0O1[(WV@JY$0%. L1[Y?=*"^W*IGSUAUHVY)PX74=6^"$_KXRS^\&KXZ M=T/FO;%,GF3QILTW<6E#%FTWN&&S$_:K' 0OA[R_4*3P5QXA_#F+$(K&V'W1 M#3D+@FOVJ9=]IKUII]GGL_?M4LQSS-RIJVZU86E?,YS Z)Q;M_^[AN7Q2&.' MY1R3137)\;%@7^MKW<\'M:R?Q]BZS0M65QR"=L6>!X^Z3>JZQ/Y8_*;UM38L M]CQLTFU>J$OL;\V5*P(D. YCR^6%%W^(KO):S*>LZ..N5NW>^N*+E+^(,RN\ MO5$32]D9P5^\F&6"D( /4[-WF22K&*DYC\B# M^;6%;6IV@:Z"R%;=3I%J1.Y 4&8+X?K&3XBMERXU% #0X1LEBI&:H6Z-I\LN MRV[K]4=-10]T\$>)DJ*&R%N[&]1!GZ=5SRUK5C"A\;]0RYWM.B%]X#PY=%06 MTB$(J1NF"#7372D=Z.#2LX-+5\@&_5J-\55I@[WAI^MC@T&_5I?[-@)4U\<& MUJ3&.*7"(2P)@ZE(P5,+T)1?CL%04@>S4E/KW?V,19N.K,4U!RW\=P'+L=BF M/.]L3%TL[#4VD.8-;W:WFK:Q/U#L1-X"H0L7\$BQ+YMLM.KN;/&Z-==#"^YU ML@W94+WV-H560Z!9Q%@<:0TL%0EA]308%R #RH %@52"$E@HEQ#-3/T<= MIBR\>-NBN^(7N#!_V46X.(VS K52'D2,T)MB+KR=JU7 )U= N6I#5[[24 MUPH1=M@O;WVM#6,%=9\3-%+0>0J^[6S70;I^R*.SS8$&<27?^CZ:5 MNL30RC8(9U>37P7R:T21CKGL=2&*7.80WDRYS>%8X@4*9\XHFS%G5HV !HV[ MSYIZ9>H-YC52KWLEZXKXKG7!&:CA@=8;5E#*LSA+R.J\ :V&DZDI7*+PI'9( M&-4(W $'LHG;SUUW)I6^8'>&)IW7>O>YVZ[FM=%V4B-MM2-:P]W)@S%3[:R> MZ,JH?5/FC.M2IC6J%4#T%OS9:V,"RQP/^S?A\U[E=:FM!-G^RU(?PO4F#.@. M0[@T\*+#;RQ.??'/#1/7F>J>' UTYR7 /\YSIOL;>V!!RAJ=SOZO2S.)U[T^ MLPCO!4BE_%H*75,3LXOX[/@%-[R9$MM^=G]-W$BA M%R+FI%&$-U;VOH)W7-(UBDM<_$;<,WZB@>A!^)/C@(PG>'$MC(RI]9H>GDY> MR\\>G">\0M_TOAGKD)HWLJQYHS'LFP;6)G0\5.7W3WWEL_+U*,T MDX7?X TW6AG.X9UO/X5I-.V* MM:/MAQD?\!)F6P;MOWXWGTSG[ZOSJEB]K?J.&K3:H?MY?P9F73'?E:H +9(U M>$^YNO?(R9EMVC*8FEUNCUU^8O%76$F%6RBY06IO*T37V\\_NZ^Y3@0YJ%"] M%7,:,]\O64?7 ]N8^$]X%;Q\XSM9@3=[OX(GXB3R%FD21F ,?[:=5=G""L/H M1F )Z/:Y%Z8QK"UB]IK\K&WCZX!;%GDQ&)>2XVU>-+_D_$*&1/!+49=\]1+CT4M6AFVL M/2<*EW[JN9YC.&AKB)D2^&\[,J M4%3>P2R^,K#R&XY.DZSLA :68]HPBA&GBSCQDC1APCLBP?5B_@@>JVWXYM(+ M6!'')K;7&YSG&_A[E ;Q6T+' 5T.$5,?]KVH&):4PP3V3#WLDY3 M(: $"[+]..1'\@JF$(S#PPN/=A390?)4/3$[RL!CX G(DMH1]3Y#]'CS\W.() MV+]-QLMQI@Z&S&"3O< !U0CD]0)CF29IQ#+^ ?E""G@!<(_OX[+PN?LH?.2C M/7+=09('(V6QROS$0R>9.O?A.0'=O\!*@YAE %Y)9,.61"V$=+B]^\8@Z&OCID4GV,AC*#V-\AT6<-@M@@GYG?K@A.#(AT0ES5D'H MA_=/R/()/+FFQY'=O2582!CX/J+C:F0$L&Z<'' 0_ ]^ K@>-EI E%6'],2G M!>O T194A^/9/H5/[0I][15PU_E)A:+ X^.4WCZO0 M6-MDYN2@..5LH'R,MQ1 IB=B1'Q#APC4E(B2TIDKI 7Y-KAK4K#Q^RCU M$7R=(JL8=,6X.FPG_*_ D7.9[ST0Z!Q,+87E1](^T6EB^ZW5&C1H1UK2^*?#'NME=1J[[0?"'W8MZ;#KO.%_7IBQOW)MM&V/FT M'SWCKC:Y;WN1]6%)855!VZNY?#L!7EZD%BAL16?7YM.V35W-JW44G%P_KUZ9 M7E7!%K;!K#>A5S6O7@&O\J3T]3/KH&W,WY=05_60=@7/N(1"6+S#JWBT005Y M/%+AW, :OZOM*-&BRC"&O?'ST76GYG1<8U>>QL/GFD&;*EA7E$$GIC6S.I3W M4X-!+Y[/K8=#NZA!K:$YF-78E$=SJ+H<>JQ^5546[9O]>8V-%-I.;EQY]J+: M&^4P*M+5!#):Y,=;2^W=GTW,&?C8=V'&BT>JO!+8^*Q M.[_2]G+K=P?,Z7!4M\-ZB^*QQU-HFV&:DH\;L1YC&4%@_%&*89\=B; M16I[N;7+Q]"T9K7*ATY,7>(P:7&H]B]A8ON'>DOI$):J68":3X*=4SQ6WYST M:^SO%\0+T'H\YQJ34S)T.=MKH=-NUJ[FIH M#J8Z=]65W-7[/3TC=+)*1^-ULFJ7@AO-:S_2:.%0A5MTJNJ%L<9)K:;_5BW' M347B;R91-9W6'F;0PJ$,N^@TU0O3N*-:_2J=I+IXDDHGI,[P@4MB/ 0Q=L,4 MNU*UHK;JNUC5^KKJ#VQ9IM6?Z&R6YO'L0-?VNFKG\9DYF.H;Q3O*X.%VUO:XFDG# 3>6KLJ,['+M/_%_M\' M"@4-K]+3UX??1_:]A+T0O==7\.J*^2X-X;+X:Q)NL.T[M8''W\F^X>VXR MAQAC9W$6N._2&+N*>T&E9;II;%9VM 9F2XD7X^\77EAH)H]CVH[MLK5G&[#0 MKPS[N,>B\W"M_89?3."N=A*>ZS:1Q6';;/!B334A%"#$M#?1G794((35F\TT M(90@A*5MA J$T*I)$4)8O:DVUFH0HJ\)H0(AIKVA)H0*A-"J21E":-6D!"&T M:E*$$/W>0/W"S5H/^Q&Z6:LUZTVZW?WW M@LU:C^G^*VZO=1UJ]R5-*;=2[)V2DEJ;#QX.:;>^ULLV*^TZ6]37>[!A6]LI MMAAUVTNKM[>QYHLKXHNZ],7-.U-MW^OY4U;#5$^)_+3])=53,3QIY])5 Y!0 M_7ZM-<+H][5-XE9N?R@@K9JURVBY@^F\UEM,"FBO5BKB%5AW/:P];&*C%7&:.DHFP[,2;]V;^GJV?1P5==5+/)8Q92B M_#PQI_UZ6R-?/ZE;X.<:U6XGV70$;%JCVFT[&7#]T?X?Q1WD)F/];:.YM6YQ M]H17V]Z7^IVN6CTNG590BEN:/%XHN-SZA:/64[,.WBK%+:V;F#VAX+;WI7XI MJC-0K,5(,79I\BREX'+KSW_7"(NELRB701F>T/B7Z81)![2V >&:JE]I>UT= M:#%Y,[F6UIE!,_G)U8@U-ZB\F2:R55C\II[8W8N M]W-[L+Q9EQ3!)W]G<&KQ?4+:%4>9&'[PX WXN 3)_5O@(<+NY\1.6/S>6(6/ M"-5K&H\<7==#-%\$U_VVP6,0CG7OAPLX'7$D7SB"AA$'RWW$[\'#",CKA0%^ MH/1I MF-8Q;'T: 6-NW#.^P&S6]C_#"/92(@1[>/4IL'&\[)-V!!]9 MP2GX?F78ANO%2>0M4OJDL[*#@/F]&K><_Q,'NO/@4.@YV[>0]I/@0Q@GN)3? M^*G1-/X4A;#\3U&X]/BYDO_B5QJA+4;Y),ZYCIBM!''.>07QEV&?";@9GT)D MY,B([$<@&!#(P\.R'>4T#AV/<)N7$6V3:<0K;[,!=4$/(.RSC_^@H4PC"I]L M/_$8_)@UA85%IDOX(8U8))\#\L-T! 1T",P+S,6B.$22RV?PNM2*V6[A&=>+ MF%A=G"%* TLGJS"6@-3P1'@?P/;A]+.#?X9FS44%/N:%;IW,]2PR?:B0!TD@ MPA+Q'EJ=LF.PWP_,+VY,8=#PP7.9:QI "M)Q8A<+)'[TDA6.X05 45 ;=A39 M05+^)G\)YT,C(^G9OU)O@]?:#!!;&[X.E [>)>$[)'H8/1D+&U;!^0EHE\9@ MG6"D&)05J(J=?81/8]]3MD0R=;X[IW!3CGY>X*8RZY".\T^9_*,'FOO!YAL! MXZ2;D(^4/&T8%T/^I@F?;/R667_[5A >TL;#Y81M1*3P70>;!X*V /^.M]2,H-=?J3<>_!T,8&?I40 M_6$C:#B<1IP@"CY,G&N?;*S6]I8;H VW2 C;;_M.RKG:CK-=\M%J5_:\9Y3> MY9_ (>Z+OP;"1? R'\[F6020!KS4+'8B&PZ;"I3>A>&6*9H (3\Q)S,G"U<< M#RC,W%_@FB,N",2=]#!@FUV"X8HY ZQM\'_6&Q0\[J*04C*%,5A[WPQ[#425 MO0B*?T 7XQ[Y@QXH-"8P8:D.;A/I"D3[8@FR%RP.ID76+6-<<%E2LFTD?KFM M(U:#M=I\KA)>#'GX(?33-7@0.+JT3T+9PNH7X,3SET[?QJIVH=EQ!XIO 7P) M-RJ3I,JSNSRO.&/T38CRAIX!>H\Q>N->O +)](!+X+>Y 2@O/QL(=\:!0PI8 M%NHE$0;P<-8ZHM"\80.;! ^O0?UYSLIX#%/?Y7)I&SZXLW(W.(.JI,3N=\@/ M+GM7XJ&BX,#-H6WVD0M!<:]1O'!,X2/G7(+4X'JA70?7>+U( MHYB1$%0, *T *.CZS(SREKP2+9<$*Y*XF, 7W(E ,1H5\&>?MP;B*&_B? M_U$"1,SREMBJ)(SN9%REL"P!Q#B@V,(]>\?Q%NTE?/G.]A_MIUCB<\QZ@ZPE MWET6F\&-,,:85#'R'W$[MO82NZ 4=JS4"(6_56Z%(GYW!/11D"4)-\W1I*)= MAH6@D&VL(K;\PZO???GX82>(!AUA ]"3ME\ZPHI?O?KA"S66 2G[$%*'F#B+ M7]@_G,"4Y3W=M5D*',@_8JKGS.KA=)^[4+"1L;0CW'5D=\_MM/0R@9:ZO/ ;5"-$ M.YS#.]]^"M/D;NE]8VY1L4@=R%5 N;Z"/S8:]GC?Y&K\]T73K@2/B<%@QH<0 M++="QO_UN_ED.G]?G5BG]K)KX])D;'61[6T2U->'2NX%S30;/0PX\[[R4F3U9>Y%)8]ZG$ M='G\-X!YEZ+[>0A)G&*2$,-5FCTU>Q;9,]-RY9!CG&XV<(2+W^._-,=HCLDY M1J0?R.2Z;!,Q]._0HN:^7VZG2YZ9'2D$$#GR5V70I1Q0KJ]ZH(4];X' MGDH_FB(++0"X^;[#N]G$9FM\&2SZ=O]V_29 M^3[%E.[!FXMLGO6QW348SSB)>"2V[>/9<^:X^Z1V2@+LH! ->5B34X>_@./+CW]4/^#[(ONZ!$X3*7]QRC/! M/"!3QG)@&[P4(=:.$Z8!'>JS3%4AJ!<_9\<.\B5^'5VK(%TO8-?X7N;9 1O- ME\/W*-Z@BO*].*GLT*ZOY]M_'X6/_(5*^04H)G*T6,GI,H7LXE1=M@9J)Y$X M:4TEA]&02"_E>%N/E:ADXB;@0@[R8MY0J-CO)9TS! M%RJ>WZ0+V&F1'L%$24:_K;-_%N_![)-\$>=B!T_*E(E\)"G\)8!Y,>.-B$R] M;4D+_H*Q7F0JL:EM:;KJ/$I9?*_ZQ^V@3Q(G-D_>@C\&7 X_Q48*'X^$Z;(# MD6 !=L;2!OL^8J2-\B26O0[!I?HWERGXK,N6C,>W2,UE-2S"6"X23(J1-&RS M(M=?F+#C.J\U,\>YS1/<)C;PK0F:)6F+U@>FM)OLXM%E%*Z)4!^X1&/AG35] MCUGLF'LP] -JPP?0T0$5=P"%0*G8 0O36!A ,9ST5Y"ATJ!0W,$=)K $>7)6 M&>7Q"8_SL33,0HE\L;]=SD>IG@B*M]26]'_4KFD<%ND7#=P=14^PID<[2I)^8P\B+&5JF@8#Q)M]!MTP/[@@B08Y^'0;] M;M;OC4# P.$2WO]WXT%O*'^##@$Z1NCT^$_RH(8E!C#!?(=0WI;+F"72_8(U MT1\*4KI@F)+E=:G@22!U!OWA@/X&JQE7/P63XU_[;C3I];,IXBE/K'0G4[DA M[1__R.&M(Y?IP/Z=P'$[-G34FY7W<]";UK"=P&MY%OZ$_9R7OT4^(DE;+LDP M.M64^*DXF<-A^Y&[>_=PKHZ3C($_ED[?9AFB\:$D%D\6 MI&N,?_V;Q;(H0>YYH=A2NH8)+6S-%\8.+.RN+?_Z?"W_C-P)GQO"(0@]B0+G M<$$M:[!^GD00^FM;&R61_&JAW^ZK4^$@)N/>U+K-?K[=#K:[HH2!?K9OM?JTV76<_2=%&0+EJ/J4D7KLQ->FB M]9B:= $]=K"=BJ;+B^CR3-3'H\?\AN/,S]F6V3.VI5&5KMB>;,4.G[E)6?ON M\;GMNP?]WDSM_MT[-O10['5/I)4GMH=]:M'EO9%V31<,T6E?LE>8:5;:NE$S67-,8 MUPSGU\0U'PBOJ;Q1PEQ7CO;]/9:NM*]6/]O8RL*U(] 51T AQ['(6K-S178X MZ V:[991LTR^H6+J,(WMP(W?[I1-Q23HT%(%N.M=9UC_T&)J:_-SF3/RR3)[ MJ2/O9>,"6UCA>^A9&U4U@VH&U0RJ&?1J@H;G,NAY;DJK_=N*2^-MSCXUVN", MBZ(R2VZ+I:WV._=M;T,=K5.X,6EA82/5$X3OJQ^^A(GM MZ]C=Q8YP;4O')JMO1#=8IM7?5@]:@K0$:0DZ28)FYF ZU0*D!:A^7U2] MU3<3BIP-YIT.1?)/5!I57T=A7%N2?RUBK.N.-(-J!M4,JAE4%\8I'$_;7QCG ME+T:?<*YZCJ)YD, 73RAC,SAQ-)'?"T MRH 0W,VTD%B+0 W6RXWWE$HVJ4( MU8%BN:85H*M!1T3 K&NF9."\&MU\R-Z\I(*N/> METKF=%1/URWHPI^71@5'T]I-I18@+4 JKKZAJ&+]MY2T -VZ -U.Y=QX.NIT M5%*XI'^*L*WV)@J77J+/G/K,>:N!EXDY&6X+M)8#+0>W)05=E;L6"2:O@?W!ONVP9QT7-]U"<66JM )\%KD7;W"JCW+K;F, M73&2:L[6G*TY6W-V1VL!3^3L+@74>)G?;RQF=N2LJ,[/90_,#S=K%NC8VDM$ M\UKDL.7[?N?'! 8[\"HU'VL^[A8?#\W^CC.]YN.;Y>.6K[>>72IM#H;;N?N. MQZ:X^_29^3Y\T#3N6< BVR:F%I]7>^C M)4A+T+E0<]/Z$Z-:@&Y=@&ZG8,XRY\/M*WY=BO"5;G&$6UE4?:34Y1*W6C9D MC:8 S:W1 MMOAT*2;)/_$Q6;'(\ (G7#/CC0A(OM5=,'212^O%6GO6IIL,: ;5#*H9M L, MJKM@7(!LO/[OER!A$8L3F5359QI]R>EZKN^==B:Q](E><__-B,;]/F?4J=X1K6TYT34_M6J)^6ZG%1XN/BJMOI/!<=XO6 MTG/S]7!G&Y]A79.#:$@L?D&8B[POW"?1%Z[%97G[U_3J!YB?FSH) MS1B^]. Y[/??>TW-=!=??TPC[)Y7G85L[FQXL>&$ZTWDQSWOA@%;CK/>P8/X0QET IN27RWZ2>[Q81L[^^>X1- M>+\)8P]1!.Z(^-X#JXPI=IH^+!^U%W'HIPFK+/3"7DCAO=.YX'M86O;?+_1/ M)E--%Q7I8FFZ*$B7:6\RT'11CRY6;S;3=%&1+M9$TT4]NH >&VFZJ$<7[8\I M2A=-%/6(,M7&14FZ@!+3SIB"= %YF6NZJ$<7JS?6SEAS='EF^OY^+TC?+ MJ:TOJX@QXU?XPRHV?@Y=RURCLYEK"C.[)N[Z ML+*#>U8;]QPVGAWF'FVXE%,E-4M"$8FJC$JUV*-%!N=JD5EO=DTZ9- ?#&K3 M((=S!ZHM_;),8UT9UUA=\5JZS#68O+X>KOEQ':9!4A_?7*>V>4E,ZGIXY;5V M:T]T:RLAK?Z>44HJR1IF.JFR']?G,+\TJJ&H65,T]&/US[5VPUEOT*RHUJRB MWKA8)QK%AA<8R2I,8SMPX[=:;S5S'%?L\O..BF]94UV;]E!LR6W<^K'4VX8Z M[OGP\L) M*;8']3!^2Q+="$"'.9G7V&B;AW,4(WIMT"TB.G,=E*^SK30_YBA&]M==3AWN M.I@XXF)MW0>4&S-*;8?C+ZFOZ'QRA;A2(W,XJ1&8K?&6]"",8U']U;-@4U'U>Z2%&KUB/I)5(P MC1Y$E#E8#?DW.)K/1J#YZ&A9PVF2UH'$6LNCM+[R)I3;Q!R,ICK/JQIK0E^G>OI".7'.M>C M9*YGQWG*X$_J8-X+SE!7HH .8^LIK&UJ]<_:SLR\KNUP=F*YAK#Q->4 M**F%+:^&)R\A7DWP9.WN>-=9\C(Y"]6ON>G6#\U!QW=JLAKG7D-Y M_:!Q56^ +AKG7D6Z:)Q[->FB<>Y5I8N&(E:1+AKG7DVZ:'],4;IHHJA'%(US MKR9=-,Z]FG31./=JTD7CW&N<^]N""U84[$SCW&N<^[HE4./<;W&7QKG7./<= M-5Q=!I_6./<:YU[CW&N<>XUS_\RMTSCW&N=>X]PW=P37P/MMSE-VP9"@]HWZ,DJ(._-"(%EU8MSJF'MVZ;II/:C2J?/)-1FHM7Q/ZRO7 MC8V5.%)=24+HYAH;:_Q-FFR_,S,=S'JSZF1W-7P6QT[#"YR(V3%SC<63\=V@ M-S5@#KX7!J811L#OKTUC"3\D*P;_P2N\ZY"N\++L"B\<<4T#+T^9AA.N-W8$ MOT_"4]ZP>D:I>-!V'+P6 4_A)Z?#US3CZ>PU=J8.T^C0^7GW+ O7]POP!([/ M[ CE<_6^3#HZK#>!3["WNG0PDE*8B>!@6@4=^,__*($K9!H#<5K#Z$Z:TL*R M1,'[@%3(/7O'L1OL)7SYSO8?[:=87JSAI<;<3-]EYA@WPACC@ M(@1L8<=**+#\K3(.K/C=$0 )098DW#1'DXH:'.84^+UM !,M__#J=U\^?MA9 M[(L_@S:/UK9?*A@7OWKUPQ="U06V_1 2/&Z<2;W]PPE,6=[379O5R!Z@ZA)[ ML$.^2>Q0;$T0NGC#')R+_]0SOJQR/8(EX&Y1J&$/O@,/1ZH5X]'&=B0>?!EF M;+@@N: L8'^S <(E*4KK/;QF9:]5AZ6]X)H&-<,*YK9BOBM51.D;$R-30; @Q0Q-%)87>GKO[$%\\7[O*8") $8FT6& M#=X-:!)0N_ ]6#0,ZW"E6_YL;"S(FJ0;F)3KQ4GD+=($'EM[W_B(09#"7OOP M)S&(G$'<,XZ4=%2L59$_MED*]V=6V)\"WYXXJV1 MVV%UN%\@U%X"9OS?\G'#M\%TTO<0+&G%;)>O!Y]>I!XH)'A(2@:J :%8_I7" M!UBD%.O=%UM%5?W"08GOQN@7XKOWV^VERJ^2730V+$*_!Q7()O10P9[*M*AT MG\NVYK8VJ.@"R6\530"R9#^$$=ENR8JHMW"R:&5^_;_S_HS6?4@KQMGS)7UJ M[F(O6(UD?1;%81# \\1-\$]@,AB26+HI/MD^UW@['!WB>0?^^A=81Q!SDXFX M_Y'M)+__WFOGU+4]P?//8;H)@L9YJQ=_3X/NJDD7W01!1;KH)@AJTD4W05"5 M+AJG6D6ZZ"8(:M)%^V.*TD4313VBZ"8(:M)%-T%0DRZZ"8*:=-%-$'03A!M$ MPCMS!XIE#+KE@6YYT*)TZ08'6[RD&QSH!@<=-4H["A$4Q1C7[0Q:;&?0$1;1 MS0NT&M&M"I2%BK@,E[PD3G0]G*$;$^C&!-KS53T2RFWIZXMC7/(<)2CJL"PMZ(!.AF!-?5C,"R:H5'U=T(:NY&\*<":H^.DS6>&VD=!+FU MY$GK*V\FZ#+5V17==:#I]$OK*V]$=JR^SL_HG@.ZY\"SVW74:G-T@J\'AZ;;6? SU3EVU-*V]ODP1'=08(MN5\N]E2Z)KX]]9 MO>4R+6NN6OCW]ICW$@)[B'D/;\(^UGTS>WM-V9(Z>/CQK?0M^$4%7'H)LQ6/Q&KW.]K=H%^(FO[GV$$>TO],P[/ M]<1Y8,>18G<;[$S$.^_ ,1?;-%!#")9_@5H%N5[$G,1_RMOS_*WWN6?<(^)7 M@&V >H;Q4QI1BY^3NDX<7$QQCGE["M&^*$X7V0OV/7P'/\_G9>,NKUGD>+8/ MGTUPXY*5#6L(?1<;$E4F75EJKV6&/:4&LL"46QQI67:;WS$%#MVVT=]S^_9BUS/GY&[9T8G&SJF_;SSC8.^;&-XHIG>&\"^F_&X$\J[F[ MC&JL-KT*'7@%Z&0U]W!ID\^4,%%M@XZU@C;7L3)I&_/,Q!J4Z=B, ZRV:"\%^( E2"_K(1[VJ: M#9T][ 'I;1\>0^ IF)[$#>.@/S1].($^(M;-BMFN@_4D)A]MN'NT)'2^OEL0 M'%+A-D+AMH7CPVZ@!*\JS$5(UTU]0_.=_E.Z*9&=R MA)T)HSM9^U%8EJ@5&)#>N6?O^%44>PE?OK/]1_LIEO5&/$O+RTKNLOH1W AC MC)Z[D?](Y0/5O41$F\*.E4!M^%ME6!OQNR/W8019DG#3'$TJNG.84P 4!S#\ M\@^O?O?EXX?]^BD(H[7MEW+MXE>O?OA"($%PSO\0$MI/CL]D_W "4Y;W=-=F M-;('!4PJ1 #U6#CATDN2>(&.R4N1^W"!^-TL_%1F@LHA9LH=%," "OHGB6H MER3N&6I@5GUFL+#@WC3N6< BV^>+=M=>X,5)1/M>2 ]K'"N-8W6=5_4T;L+5 MT47C6*E(%XUCI29=-(Z5JG314",JTD7C6*E)%^V/*4H7313UB*)QK-2DB\:Q M4I,N&L=*3;IH'"N-8W6#%R?;OB:I4:LT:I5&K=*H5P+V"A:NK)KH#+J,Q MJC1&E<:HTFI$8U1IC"J-4:4QJC1&E?9S.\!E&I%*(U)=-R+5\ZJ/KQ.D1(-3 M;30XU2Y D[XYM?H:G4JC4]T@.M7,G$[G5XY.U0+O*[<'&L9J"\9J/JP5STC# M6'6$\AC5K_<:OF)DUS!678EA:!BK*X"QFD^ZD"'4,%97 &-E]>OAM;:5X!7@ M6+6">Z0!KS3@U5 M!@T?[@;CWN @^Q\1\AWIWH^TA[\$ M0"MFO/F94^!M4;Z;UDU;:SB(F/0+9K=9G*'(-8B*=%395.="HB3NR2J%1,:..'[52:S6"HD^'J81L90G6$KLS5L313BC5L5H]&=3B9)8^DM_ M.!U8%\1/W%IH82FT ")Q"07PI;B)_2IN8KCUS>+#M> DYJ8!#06P6@AF1*'#F%OXS5_#![9>P"CX8>/C M<@DD --AHSH&A0W_*[[B2=$!(XBF+Z I9+]=,)N_Z)#%B0UN4-(-/ C:&*>3 M:WJAE6%%7UG2ZR3ZXERC+PJR:/3%AM$7GV&(#]Z3(D/EQ2BY2Y*_S]ZW[3MX MN65#E5(JC+\,'"[JOF6(?AWJ$P$_F*Y1_?T;%0]'RTW]A/SO<,,BK-]"P&0K2 M9=8;:KHH2!>MQ]2DB]9C:M)ETIMINBA(%ZW'U*2+UF-JT@7TF,8N;8XNSZPZ M/7K,[\Q=P<84>)=VH!;4LOE504#L#)@V UJF-"=M;:]R56AQ]2(3W8K+#"[,@"A&N'';H@%KLJUW(5B M^A+4I'Z=J$G:NJKMCY][LIN=C9'4[PV:O6!:-T;2 6RD\X1!LU ML;IBZVOCILJ@G9&\D=U('<=:S^4%VP)FMF3H;3JSV. M:QZNK?9,81X>FH-IC:!CFH<[S,,72+LVP<-CA*Z;3;4VAQ4>+3P.!M+97 MWXBI'W>VALF\DOZ6!> MH3Q;B)%H1GN8K7* A#$]A""X(6A.HSFXXL=*+/0G*TY6]?0:"::F:.^#I)I/NYZK=P$^'BB^5CS<3VJVDEJ";EJ";BD).S<%,QR&U M .DXY)D"-#1'T[K\TS:I_Y$W& _N#?9M@PGSN+[;'+T7&.Y96\VE MZYI!.\J@[5<.*D!/S<-=Y^&6JP9/5+(=#[KQ?4$G3K$G0[178ST^I;G8Y2"L_T+WCA M8QF%:^F=AD%]7NE-BO\MR+KZ<!'@+T'"(A8G,N&KSU$O$,FK MD#\%+[">=@X:ZF" 9N*.7'+=?YBW-!=K+E;FFNO9$!^SNJ"&E7%S)UL!*=,( MF+X$>]O%"9??IINJI!M9VS4,6LYN4,YT&=TYXF--M/AH\=$U=.=6H8ZOJ&%& MN#.56J\/>Y.:X!;$7OURNK-/JCN@*+44:"FXJ5JZP7BDHXY:"JZED.YL:*/A MU44M^2?^RA+##V-]F_?2I\ AR(4;I@N?*:$#OKM<_+&%E3=SVV)LU6\;M?C< MK/B<&'^\$O$9@OC,M?AH\:E1?$Z)/UZ'^ S-^7S?S8[O$QM65^ODO0#8-;DK MD[$Z6?Z7S.\?P!,GLGS3,Z5=Q@GMVF,^"OY\YR5 )8>/^\B05,!UOOL>@:ZI ME[!I?!#-A<4O"!F1=Y[[)#K/M;@L;_^:7OT \W-3)Z$9PY<>/(?]_GNOJ9D. M9KU9E5L^IA'VYZO.0C9J-KS8<,+U)O)BYA8:./,KWK'MPV3@MR[#EV(:(6*^ MG<##3AC$Z1K9/BZ-;,?&,O3]\%'T7VE@G>/>H"&I(#&6PP@EYL!J[$W,[N0/ MQ;EA'JT=SY;)D4E]XZ4$?U&V(Y^_S5./XGD5\5H%E_6 M:>?<\: W'!T*\KC>PX[Q0QAS"9226R+_33KO;A$Q^^N[1]B$]YLP]O"J_QT1 MWWM@E3'%3M.'Y:/V(@[]-&&5A5[8 2B\=SH7? ]+R_[[I1Z2IHN"= &73=-% M0;K,>B--%P7IHO68FG31>DQ-NF@]IB9=M!Y3DRY:CZE)%ZW'U*3+H#!=) MTT7+BZ9+T;Z,-5V:H\LSRW*.ABMKSP$Y#)$5SMF6V3.VI5'75+$]V4K8/'.3 MG-#'7_[AU?C5N1MF]496JZ5OL^=OZ*+TS7+"Z[/WS?@5?KV*C9\#E[G&_Z0! MXX6"P[XI*P87-\ALY_+6Z&S>ZO%:;GPYH MA.=S=!'5:2]V62;K@W-E?_GF,4>"Z&Y)N<:2W.- MYIKG;=V/ZS -DMKXYG!02[7%G\PW+XDE70^OO.Z*^WEN!.7%QV+AQU8B4?T] M+F!)(UG#3"55MD-[R%WQD-4X,UO]P'_WV05 MIK$=N/';KBBLRYR7%;OGL:.V6E8OUR;LBBVYE:LMZFU#/?IN3JD=US?R:^7YE3?B6)O#R5SG?&XQYU,CV77.I\DCE<$?U#&]%UBR*](_ M750VX]K/-XIH%LV6G6;+J\H;:K:\$K8<7E/VXO7>V]9=)>L>EJUMA>TG*,[V MTAKN7Z#!VG<=531XV^$+;&V!@VJZ*$@7<' T712D"YCU@YU%-5U:TV.:+@K2 M1>LQ->FB]9B:=-%Z3$VZ:#VF)EVT'E.3+EJ/J4D7+2]JTD6#M:L&UGZ!?$3G ML,"N>$]JP6:_*OSLRT*S'[1*5\):+X%F'PZNB;>ZA\U^#HSWBRK[KEC7*FI_ M%$9KGXZO2?KK16MOUG)HIK@<4]0(QJZ9XBJ8HF:L]6ZRQ4LB/=?#"IV!4J_- M6ZP$?/I['*V&,=&U'WJ;<9"78*(K)E\W XC>QB%5L>MT/S$"'HQM'X:L%790 MO;6V;/1V-DF/)GV\F98#+0>W+@<#TYI>E1S4 M3/,NTG0RTP#J*N96.-K?ES"Q?43[:[8)K4H+5R[2=:Z2HH/3I=I%OI-HKV6)Y)E0#\+^= /3: 2SGK MS:J3W=6U5YSF#"]P(F;'S#463\9WX][(@#GX7AB81A@!"[TVC27\D*R8$7O? MC#6_+,JRRZ+&L&\:>-G'-)QPO;$C^'T2'G_>ZAFE,C[;9VV#.YS8876)N7U8Y MC> 'PRUN&GS^NV%O($EF/-H(U.\!\8&/#!>^#J0 /LT&")?$A-;[[ZS>-'L- MAEW!]U?,=\OCR[DGJXBQ0[.ODO[("[!*.TDB;Y%RK%.*+R=VPFAC_=#!H(8/:FT-0A+C7W&:?X/OP=0^ MXX- >OA_W/W4IW[62U!SH,YH#@F[?UNM& M18D7-%_5@,&7X/%^;MTK6HEK%J5'=XXM@@:-P;:Q >%CN93R$?KH&Q4X4G>UF M -N'#P@>DQ\IC @*\A$-QHK9+ODV9LXCUNX1D]#Y^FY!&XW[Q(+81JGKJ<0; M]\56167&&%8]V_EKON;[[?9&Y5>Y+[-A$9HFL!;&)O30ASB5JX#@SV,L\!&+9TDO__>:TK='3Y$;D_P_&-E1SL(3/J]P5@C MI.UECA:1Z^ @KNFB(%WZFBX*TF5RI &7IHO68YHN6H^I3I>YIHN2=-%Z3%6Z M:'E1D2[:'U.3+L=:@FJZM"8OFBX*TD5W$%"I@\#1<&5KFW QG+QCCFB7=N#E MW0&L^36!<5ZP-\!5LM'9G0"L<6]R50B_W>L$\)QB8VTUE!/WTTC8.%+WM&=9 MUR3'-6+ZWPH+6/V>=55=76J$\+\5'K@V-5 S8/_A$) :3/"2,,KU$+Y3\/QG MN'"5V$E_CS_4(!B_=@ZO\RQX/M#^<-(;#14#E;\9K/WFCX&*W:C<51%;(_ + MEVW%UMS&U?N^>MM0Q\UZGF>]DNO3TVF-U^8UYU\WY\_;6E@CD!&C6B':-.=? M,^=?E8?NYCK.%M=5N5OQ%_/GE0.0M] 4X=(6ETA.@G[?7X#T!FFX6L;;_ M&4:P9UBWYA^:)W:)*/2&L+$=%.\U! =-%E$[I#A=9._9]Q&C'B.\%Y&-LUNS MR/%LW\#>0 D"]]N)L0I]%[L<_:WWN6?<(Q!40&]APP&636.[L\7!R9[8X-\2DLML$MH& N623-(N0> M^6#<'[7E%U- M4X[WE-MJFR(9@MKI[& ($Q?IIR[OG2981S*8Z.LFV(YSVZET'1C@EC@KT4T. M_@@SL T_?(21=NTQ-)T48\N&H9<3;J 'M-V7T&Z@!X;:+JH1Q>MQ]2D2[\W MU_*B(%W&O;GVDQ6DB]737904)(LFBH)$T2UAE&H)V3_!4TF9E?5,ZK&7C.MMYC0/*)\+QK-(UEL?W95SFBMS6J.!*8ZPB1G M1W^NARNNII/-"1Q17JHZK6ZT.WNKH9(7=,,94SN][B@:W0WG.(ZB!DL YK?"^>KJO)MX? M7 WO3\Q^_="ZBA']\KS/2Z,4VX8Z>)_7%ET)[P],:UHKF(UZ6(/U 2M<#=6' M$PV6IF[PXE-^M39<&DF8V'ZMO7 N$9I0RQ8=NS;5)25TY*:1NDIG--"H/>?? MB.D6BS8;R3N'14^9A& MB MS.+-@/+*(&=_-]/K/FX95 M@1!#/#/$Y,D1>CCP%XC 3N"OV/;A,42;@LE)]"\.P4.3AT/D(V+(K)CM.EC@ M87(8L3VC):'S]=V"D(D050>69R<2R,@NX<"5WLN1@/#!.-UL?)Q3 ;ML$X5N M2J!"A?U;PA8E<:]PH:!P8<+Q8==1-:PJ7#M$[FCBQL3>;.9@)'5"QIM#JWH- MXC__HW3=(SO (W!,&-W)TH_"LD1)P8 4VCU[QV^3V$OX\IWM/]I/L5CF;,:3 M/E155C^!&&./>;/;:R'^D*H/J7B(F36''2K T_*TR,(WXW9$K+8(L2;AI MCB85[3#,*?![VUA%;/F'5[_[\O'#?L47A-':]DLI>?&K5S]\(9B?<&E\" FO M)T=8LG\X@2G+>[IKLUI':?K,0%B#>].X9P&+;)\+LKOV B].(IIG(4>KD9M: M0V[J]Z;Z=IJ2MP9GFBY*TN5P>9.F2SMTF?:&FBX*TD7K,57IHO68BG31>DQ- MNF@]IBI=M!Y3D2Z3GJ71:!2DB]9C:M)%RXN:=-'H34JA-QT+5]["E<3#"KQ+ M.U +-!-=2[N:>\\7A&:Z2DXZ'YIIW!O,KXF3-#23-AP7%??32+@+_J)6?)19 M;S2Z)CFN$6=)LT!G6: N&*5;88%I;W!50(LUHR1U@0E>$DBY'L)?#1#2'@^N M$CWI[W&'FL0YTK[A51X%7P1B-&L>;%"#&+5T"E3LDO/S:F5KDG7%]J"-N\36 M=>):\ J2*T$X&/3-T7AMM?,?]W,+XZ^U\'\ M8W,^&%XY[]<=]+@.RH\LC6JD;JBB:50CI0(1%[1'5Z&'CE6OMZ)TK/[X*CCS MM>8US6N:U]KSKZX;ZJ9MEM/$4B<.KW&)5,4EBI^1+! 018,BZLYY&$7&=^/> MO(Q.]*R)X C6Z+G3.!6C:-B;UHA19.T;;0]&D0 VFNQ\"7;B@?G91AP$08(U M?64)3LAV8/N\1$Z=)F5E[P0L*;UG^[X1PF9&?&VT:7&^;8(--C:H&'CT"8BQ MC&&(Q5-UM2XK#1H^VH'#B%0+&Q&H%@GLHH.5%2ZM#6B3K"+&#E&P*5D9]P8' M9>6(W._(H7ZD+?PE -HRX\W/G&)OFQ7Y'6JVN(:#$#N_8,J8Q1D<6(,P.D^K% M*\(E RU)0H;:LHAXE@F=W#M4/[;0L; J^.T3LR-C X0,W9ZZ+,M%S!,B)GCE MK8D:K4WN/3"M3(M*1AZ>S3"!5A-T/O"1N(\-U'H,.86?O/7\(&M%S *3M3XN%RR MB'P!&XT-F"/X7_&9;!K KHR8'N>0_78!L^,6CPPP&*]+&8RJC3C?$[0-S_W# MJW\LW;EC67WVCYECL7^,AOW1/^;N>/&/P7 ^FS@CYDX6 ZQ0LSNVO'HFNV5P M]XOC7SQ@1A>F1>SYP=Z@_C!^8S%PCB-*8!J:U+/4QK:+4<7Y^^RA \49WF$; M[BT^,F,%-@=_E4812&8,1SYO"<<_- &@PVWR =%&,'3F0L,%TL*B(+CC!WPN%SC*T)JFX3,9!:^CXZMF;1YN$7(I@!+,^^!YN' MUDEZT13IKPR+')Q35"K,3FK,''_R=RU)_O56,_XD595T>.T_^Y>O.BMG?!=_SDU>R\L!:P@8B]"N:$SN.T_6&"P'M\=I^0E(_D(%<@.&, M0C)-L >/Z#JEOFND">B]?W/1M!]LSZ>MEOL8255CQ&$(AUL<-\"7<8.=I&?@ M07R9TCXC89 :I?TF^KD,J8%3A"UY,I; S&$$U *Y]U.*UCP7./)E@9R2[A>_ M0@A5(@A.XIUO/X$3?+?TOC&W>+E$^[R'X5W[0-])-8G]E._4G1B9 M8X&;%()$/M+O,KW!7X_O,KGLTBQP-;G+NX!"#""(/ F)* M7XF/R%U=6+Q]3S8>__@M^V/@1E@"$0\?:CQ/R M+,518!F!MQ6!S* #P0.I,7IL][A,+21:2/8(B>V@CTE'AW"]\8D1[>C)6*2Q M%["8S@)2&YOY&0RC304M#">9%>.=%;RE]%O=]_NYKFL=$@:Z0T)!9'6'A)V; MI57I3:I2L/N@$C,7-X_%(,5APX4';(MH"_$0E1'A;01EQS M7H7SX-S%'#+C5#Q 7)>;94<44(C00.' !@YA(8BJ #OU-3>USTT^,HC48L\I MQ>GMYZ3=_@-IC\QS:2,[&QB_8B2#Y_TMBV='*1Y/.IF.=I@+I2,7Y49P_;_! M88\*?OY":0SXS6?FI!%J\Q]E3L,T1":6XO^_L8?0![81Z8+/P#8V'='^VPZ^ M9H_^!3\!S\ 7(P9G2Y'@&?2M^8F?$@_R_&[IRR*V@A4_$?V*$D'@VY/:@)5Z M";]Q@;__;C N-'VC"*'O :[6 M3@Q:7I!BC)QB0/_"'V$G<)1[FGN$K[_QWG)JA0%[M[+])?_7AE\=,=[T>^/7 M;\&X4I!^Q0NZ&!\2=NF-)U\?]?JOA5HD0H2[6&%46I4=,6Z9$Y0$X#A*W,?I M FL[1 $4%4QE45>85?)DPF[)X (NV/=!6>/B\@= <3@KPXMQL'^B*J?\>\#N M11V&S]Q[MHNHXOE8I'(>[,@+X42S]'>?$KZ"^C!HC/MF MYDZ7$.\G.1"X6I0>#'VLKPMBV^&957AJS:)[&@8>(,0?')7$&=_G57(P*"X MY3$49VK&>2+:P2AT !>)(/C>OI?UCY(^(D!L+Y? 0%@,8LJ(,H/- MH#2L+ W9DKZ>\?.#S+&Z;&FG?E+07V5QXXP/GKCM^:@TD"MPX[*<)X4_7$PI M>P&Q6N \&>R!S[[P%@591#X]%RRB ^\Z"12&#X( \)?YDR S&Z$=TKAG_&T3 M\H-!Z/!XNL,XT_"7B@O"W4B!B7P>G=SZ.ZB> (O60 2(OT'^4S+[%,#G:KE4 M;L/SD MFC$F/9NJ6N./1B[.P/W(%OM!8M>8Q&X]*$ZT4$7B;I#)(Q1.\NVU; MJ7ZOR!O2+B_0T&ULSY7Z ,E'%:[YTV7[US-^=+#R#D;$(H*=UH<[(BFFILL5 MSC#*=L'! :M.D^,JQR:L-TQG8Q&']R LQ29= /-2X01H8F$$P0

    :U#\1?EL[IID%O,[C%>#UO#R]WRXQ<)52G%$$9%91=%:(9(F1 !'!"^,*%* M!- << CB?/J8"R!)&- X7"2V%U371PH<@#W\>T[7@\B#S2 M3BXHP(2J5_[(2QS*NVEBU#BKF3#I;2\@5BH[,ME$:>'E8$OV6.9AB.1(H:(I MC*K^QI99Y=6RP DAQ@BYS48?.!NN\++8>LRFEQ 0/@^Z ,VQ M^&"5YS*"Y/*+ ,@('J^566#1#P;%T!4E/01,\R\L2@9/ =UR/'W&DHC%3(*< M>)YS@%_<1UC')DJYB+./[X!^B7,M]^*B6]PV).T?LWWZY*X46N2XMC@7I.'594#-QO)[^>,H6T"^1OY75# M\.U0-* NU7;@//B5FHS/ZU2X)]QSV*^ /^!QX(]^^%AGA>5!$R ,_S+$NR8D M1=P_3==8ROAOY!X4"[&GY!Z)RT1T=,':-6:#W1(^ R]_QU)(%J.[ZMYUKY:X MHVV$IZ/><':;;5)VWS5JK5_-@/*1FA"M$\+J#6^TH9-BA)CVYIH0*A!"JR9% M"*%5DRJ$Z%.C"DV)EMK)'75;+[?JBT&]']/"2B_YY0WC!L/><*IT?XCW1[#> MG]\A3DM%^U*Q%?FX4!^<.0=$[BZ[U]C^ZO)$/KBR_1RPV*/USN8"R^JIW0WI M!"ZP=BJUBGO4WZ,P2MLXK;-[C-:6'5MR;3Z$PN+RYE@+F/.8O%4<99FBH%R[ M%Q1NPN=P6;7Q=MLK;0.%>-@.A'AIW?7T@)@K!X9>)>D^[/,W5M^<32=OZ];5 M;=-5\_.+HT1=9>B).1_.MAFZ VY6R=SPZ\,-F9N;D,6++K)&F/'#Z2-U)&TR MF]=N-S1C*LN81Y,'"G'F8%R7 6C;H)--0'@IS^572]X( _&V4 VH#R1-.G M MAK$:MS,*+O=@!XP2\L)I?;WF4WVXT;)1TPFH[?7681T'\W[WCD<9Z(JX'_Q7 MNK6>PP]CA:ZYC6Q9O%7(./*E]E6?)?,EAA\"P[MABC7#K4AXC>&ZMM=54_!N M/MD1Z]",?8N,+:U6VPNKA;.GYFP\W&.FZFWG\V)N;.HNS:ZK,^(JR*L?/F;9 MJ!_+A[_+W*/Y*>]2<:P? 78U<(XETJC= $("9%U_S +$.%CPU*_',,'^F9_RUCB\?[^!P DB9>LAY0XVHG_NRNSSY5-/V^.:,J66YLT M JJ)>^@9#A3!K_TK]0ANH#4,E>A<>D89MTPE(0='[15)31C!!Q1H*E(+1&*!JD&BD"7H74D =T&2)N M4!LKB:U!)@&4,N]+$2$:2_@8@$DIH,_MA?;*C3PBN83$G=FT8#-*:VNNE=S+ MQ;!46?0B$EH9"8AV)1KBRO:X K'DET\?=UO1%W!!S@3<5#.W M3$ :<:L+V387D#LWKK39HLW,AMKN-[P;^BJ#W>(H+>P!D1EQO;M[@>Z %>L9 MGZ@!IQQ)-O(DL$,)!QI+.% [AP,5[<36MDOXE\ &P2\*U"HY#<("+#\NZVV MZ/N 8%*(6?PC=WEPGSZ%/J+R<#_OA^QGT;OK8M&Q75VT04!< M]++<(DYD$4B3L&/%I"/&?5F.-$M>7N02UQ.JD@#=1;A(@O!BKG0$A?PA:7V6 M(83_+?#PF<\)QT $WOG3CS]^XL"A_#LE>*)G3;70Y]KU8@=./RGH3(F?)Q%( M"0Y1]E#C;_TSHQ'':>)@U1P6"T&.<%$"E0Y/#<)/+YQ#S-Q=Y@J%MZPJN/XX M6#XIKC%HCW+/?^MP(PY!S]@#WG./()80PBM;)&SH"E1B&!';YG!GIO$U0 .4 M1(212;-^R#938K7R8XMHX9:!?U$ M$T:[R %EJ5$2_@4F[?'C'- '62>GB;T A2202*/H"?_X8/LI*Q!C:^M*>%LP M.Q=M@+U!-D;@+#HDTZH$OA)M',-A"5ZOM'ETCBGTV:,C-/SW?4@*$B?.F^+9 M'+93+A*!M%P/#4VF@.,BY_&=XD\(+LB_P MWH3)=*1.+$I_42?FZQ:;@=BY0B*X:OD$!I?[Y+_\(F[R_@)\;4Q-X[";^FO6 MF CS(=;T?6S\! .G<2S#'3\&MO^$# 8<\\=,;C[('9:0V9(W/^9ME]#=%6C. M2P%U#2;TC\"V @BS_^[_E#K_"HD]+*L:G**DRPTQ2R@)'KK#397 M15+EU)'A7EFE(9FA ,H(#%3BV+_"F)P-!E(.TL!.73)QSS%= K77Y582/O._ M*0@#BV"NOS$.LQ>4F>Y_>0LC>C6,-@B""*^CO,(0"XP(DE9QFD.U5;WG\LOS M^AW+7XUT_DKGKX[EKT2[]L5@.ITO)^[_:^]:G]NVD?B_@LG,=9PYF^5;5#S7 M&<=V6K6.[;&2WGWC@!1H\2*1*BDE\7]?[ (@H:=EUWK%_!1'$LD%L.]=[B\, MHM@/7=MVP\"QHM!W(K=%'=_Q>N8;\51Q!5ABAVLE&/..-^/JA_]W(/]WH5Q; M>='6S1;0)\> &$2G$_6D1BFYT$*#,W0M/PK8F;NT_+(U5^L49SZ#ATI)R<]^ M@ D>A6L P]=I]H".10\F\PK3<#<92'MCV=&)+?ZL'>YN->>87'Z7: %G G7' M:CLNWHT*D)!C63E)2^VI8H2H\'W'#K6!T8/0]6@4MFG0"R/7LMLVEX4D\.;XW@5A+/(!O$I^ M"TF6'C!/&'BNLWMV=PVBR,.3JPG<6=@ L5 -%GJLQB\SD5*#5(\>XI_W4Y9P MAN7,B_)Y _.- 6R,+T9\5WOL\KMC'I.45;@F\5XP:. YTZ552CD!B#TT2RRQ+^K(8Y]V14(;))0B3D,WE87$]O!O2, M-$E5)##%1Y@_5$\]SX?#% /<*N8MZA-!7!R^!:6AF;NE(B"C#T$5&$2<(D_' M*IN^\*)]VGL>_DV&$Y'Y S(A&3_) -%;/%O R.+3JMW2%52-%@3/J?/1K%)* M8O'J\SJ&RX5"$IE,?H@EA(G\7]@#N%_)=W) "QC5'DOT!1#\$50#"\"!010> MF ".?#" P>UQ6F*T6;![6NAH2'I:4V2<-$AFX+_[#.>&"_G('I9*M$SD *9- MGS\94Q?5>:+\88:M)E6J#R$?5 &$QEQ7?Y55F[0@.<(^\;VK M\20U:M7,?9F6&V"ZD^^]ROH!4TC]K@I!D%@]B;AZ3]*QR//"+O73$=9VX7+."*QA/). M"448'<@Y'*^[P&^0[:OL*,)O+#YNA,UZ\=']:Q9?ZJ:1#D3$F4CD(1X6'(+F M+=PISW:[(_WY)N).9OEL.U.J"(YU@AIT[GY]-OE7>?Z MP\W=Q[-/G9OK,'!MUPPV&[NN&N VJ].!3%7Y00?-/D6:B4:T%L5#\&M=<>]H M<"M:'J ]@2^J[5O^[@-RRR!(&]&(VV9:"2*\<^5:EYC%D1VF7+]#!(XZ'[ZM M:GD#I'>T&7I7;.*LBE\@7,^O(BB9H4FK;7MQR.6&AJYO1F% *0W]R&Q'?N!2 MU_/G,C[6&20#/XB*-US4LC8L+FMQUIF!24HB"=LF5SW>U74S#6 V#]>0+5WZH'_0'P@D6/V@5WUQ#3 MTZEP$KE3GN ZJFQ8]_*\0E4D$E#11D\-:\Q33\0&F8+)O.S2*CSL2-6H(3=, MOE,P67C;+;>?PMN4>U4DW+%RBBV3!2[S0\]JN:%K.V88^;TXY';>C%VG[7/S M/J><[,]9P>[A=08><7;I@)5YT:2 #E\T5:)?C5^J6DZ@LY5O!6D=NRWOF(=DI.Q3F:N>O9-, M,98BLT/:TQ=\8^).^N. K&0R&%3]P\KH81;T&V MQ*174C?ACQ4[I!+XF7N47&JAYOF-B5:MM(!$>AZGHC$;WYU0A:/\&[*$9?X+OACF M!5NHY\1%$,'+;WGTPR46;L@%HWJYA@M3S"K[EI:RB3(")30HV;>^6!_^0D9" M&^RD5?&4"L$4_C#63[@14N6_^2!)Q3Y0\U_2AJR6,1K0#&I8$V$O8=VS,/1T MK.V#O SB5,Q_0/EU/)F2Q451FVXTH Y.7-L]BMX>N6^7&QI1^'=F"O^U4B56 M(/7IOGARV !PX+72=F8<"L7LA\VV^;3AST M:#S?T7;!$@J\^IF;O2[+TKRHEQ8&OMD.=IKW(8Y!%(D$:"2"2.T =F8KYDZ@ M9[LFUQEQV'(<'LQ&03MLFXD9>D[+;GO4MJ)H06_5QS1C79JP\8/6F!>Z0=L. MS)UNO6L0H(T(XO2VP3W8\D.KS?@#G;JYJ/0Q4A7@&0;*(1MZ-0@4W#\135J$(<>)G.<5IA.XAZ4"CGSJ!GN6$K,GM6''FMB,T7 M_?S+[_TT2L=E:',59+O;4AU3:7/?((J,E]044SS9LF=TQTEK]:M<]B'@:6]WN!QR_"= MPSCE9RXP:!_H\M:?(+]:@@\8-5;:D0KZ:R->+RF7!XP:U[4K_/#ZF>A,A:C&_N/F&3N*:]I?/>E57GE>=?+>F^Y?F$UR(0^5/Q.R:L MQZG^H)_^FN3CTTLGF7TQ\-%?ML35_1H M#.I8AC47=C9BMR]B]R.SWCGL.@R!4^7.92\ZRU+UG6SQR,90*9H?^WE."A\M,P@MTV_,*=O? (!^44FLL\B$KA%=LCBW3,CK7W88C M]XHC.]D 7B3ZW_N[*]+)!" .NKY1/&^6Y1\KS_.RJ86'ABD/29=> #1CNJ8F/21N;%3I(7/M MZ]:C;L.->\6-YPAA=TOON6ZD8TIP5/J10)>$;V!0G-"P8WHOT&I@.&^O)R< MRWG!*?ZD)[7K6V.&2W_&25=3HVR>NZ*V42_I1)N'HT\_,ZPV&RX8IC,](6>= MZ7G:$)_YV\$@.M/PF1I!8O-=K:;F97G&JIW'X?+$)"8\5Y_,L]X$L&H0WYO' MG'[@Y)6>OQ5LELNFH%_D1[A/^*A_+Y*-G5%S"V"-.&4\$1BELD62',$4\0?@+P1Z_VF_!#'8QKW!6B!FDI(X#4E/%YHCY;H6W$-S;T>^*T$LH)9[&R( M8*;30]8?922!BR%O(N"E4QUL(0*D8H"; &Y-,SDO7P); 2+&7"7^6L:*_RA M3A8;3YW>_@RH]V]]AA-AA[3'.-$)SO@O) X"W T0>RL176@LO M.N]9Q@HZT+8$MFS 29N A8-)BE0!N2-.L-B89=*Y+U[]@0VQ#9HAMIJ6:8;8 MKAIZW8O=ED7C((R=7A"ZL4W#-HN3,*"1%22TQ6*O]^87;6)MM_/K]=FGSW>7 MW=#Q/=_>\+#\I\"YUJ3M:E#^[0R25L'^FJ0% ILL)0GE"RR)_ : 3< FX?VXM]S/"[[0 MGO&BO;P?0?@NZ)B](V>3^TDY)FT$4[0;"=NVA+U_>/=,J=GA M//O54O5S^3/Y@WU-,_*[0?[(\M'HF-SVC0MCR=SZ?9*BQCP=DO#,,M1SY <" M\5T*#[_G0F'9%/C/DAEE&WG[YL_[JGO7^;&QG''L!4<]L5&_V:G=[M1$B M#ZWCK/VB'6?ZIHEV+_F)W@$VV^$UWZ;V-4][2[K4ZO[P*.\]\'_ZX^'@E[\! M4$L#!!0 ( $D["566K G<,0@ -@? 8 ;6%S#,Q9#$N:'1M[5EM4QLY$OXK.E*W@2I[QB^0 T.H.PY.PT^IT6+O5.SKL'1VS_D>V?SL>'#CABZO!^/?KH3_T^O;= MA]& [37#\+_=01A>C"_\!'9OL['FN9%6JIQG83B\W&-[J;5%+PP7BT6PZ 9* M3\/Q39C:67889DH9$20VV3L_HQ'\%3PY/YL)RUF<MU684^Q,L3T(YG[YD(F-NVU M6ZU_GA8\260^;69B8GM'P?'QPY"6TW0]IKQI/2TR;N5-,<-V+E$U/ M'Q^P;66Q6C=1N6U.^$QFR][KL9P)PR[%@MVH&<]?-_P(_ANAY>3UJ9,V\G\" M6\,\*^YMDV=RBLU)UU-O?P]SC'[;'?^!3HPV3EP(9UNDL@23P_M41M*R;CMH MGX41G%8\@XHQPE7HFHY?4FLPO!F/WH\&_?'HZI)=O6?7-Z/+P>BZ_X$-?QL. M;L>C_PPQ#(GAS5^HMG/MF]T\>WU[\^FV?SEFXROV:3APAG1;'3)F_/.0?>K? MO.M?#C\UKW[[,/R=]0=CFNFT6IWGL$?F"6SIO6D'B(O/&S1JL%_$7.;LWP'[ M)0>C-%@LM)63);,IM[T74JL=L!%+^5PP#>W$ OQE4VG8KR77 "A;LAM1*&W! M:NR]TC,06O-7IB;LI'7,+K D%N:G5^TWK=-1'@>G+V1%)V#ON''K M129 T@UOC/8F) H*Y KLCI,XH.#YDI6YU:6 QN!N1_VPC;,9OFG),S;A,88T M4S-DLE5>[HE +N &P_621&;\3N#RA$7+ MNAM>"J/NGV DV$3F\ (Y],'J!@"".*9U;5[F$\0A)_+'YS@K$^P)S]9,; 5 M2;%;P#&$*6&-RKT&K?*7>70TXB)Q5:5!$F4& 2"EX$YWG''ZQ-RD;)*IA5G! MJ,54&HLZ;1FG0:\WM&S4T# K99YH^U* ' 9LO*']3Z^..^U_G9K*Y14]49"I MR02)KO?-@3-MQ+@6SHEPBHPR0<8R >2B3)J45I#8##E&>4;?$VGB3)D2ZRC[ MM,J\-PNMT'UAV+!]."\10,-[:'B/?B5'H]5'8-^4&23:7=YL'^T+KT7[*/'? M#MSQCY& !/':.,\O,\//#=>"(.B![M<7G_9%PVBG)B7 M9OO-JJ, MHTF)[( N1F4R<7VO*2,C$\FU) .D)SV7YSGM5!HB(A=:QK&6RP*TJU (#:A; M5*#HR+C,."4OS')*/! :5GAZK+,Z/D6"!)%?6"^2Y\JGG1"/#M@FV)+ZG-R3 M"^'&B)1KG..M@/Y/,-]YY>[0(USF,B%$N<$#!64N-X@&*D $,]?)RN4( LDC MF4F[))[;=BP%H$/'.=['SH9HK8 Y@KBO#"I*C?X=0! OQ['2B5/ E;*IR$&W M&?#'C"@HL$@$9=ICC "4!SGE6NN G/XC)!$4%SR(YFH&GQ6%- MKSLDL_^ZO5XX9+$0B6A\58I4:3^OP2YTP]?2@DKNY,MM!(M6Q=P%J_">@#ZG MM/E+@I.L2-?;_=1_U/95M<7-; 7I*[*/B%3%<:G)2S76VK+K3!F+<7KZP5XF MQD9_^$Z;[7]FR01P(R\>25>*HQD1KF.E9C8OUWH=>*U2;M843QGEPD,DCFJ< M/RH:6*(OO1-9U;X^DF]\LXN>,R2^U.4F<]5-A?$/SF?5H_6NDHZ,2LRM1287:3*IQG?@!K0?!=R#KZCTS:N MV"Y@;8_URVD)%CAI,+KL?:ZSSFAR8ULO2+!1<^=#K)?*!(!"GMS4ZJ)!(EE_ MWT5WJN[B[>T>7'\L4LW K3WP#].!8.4BDF;'@OXI*>7-B5[\+^AN@OMW"#REUUJ?<) MS?:V-F'MA?UK_VB.ZOL$RX,?#LRO,_6;00Y=M5V]-GWN%F%7]9PR_F^JUZT MC^^F6I5Y0NV TKU5L:V]B]V#,Q9#(N:'1M M[5E_4^,X$OTJ.J9N!ZJ2. D_%@)#52:$G5S- ,N$N]L_95N)5=B65Y(3A^UC*>"L9-6YZ#5;IT<-9OG9]AJ4*U1>8\= M!R=!M]WMLDZ[=WC8:W=8_Q/;O1L/]ISPQ?5@_,O-T!]Z<_?^XVC =II!\*_] M01!AJ,;X/$9NE! MD"IE1"NV\<[Y&8W@K^#Q^5DF+&=1PK41]MW.W?BR>0P)*VTJSL^"Y7\O&ZIX M<7X6RQDS=I&*=SL9UU.9-ZTJ>OOMPIYB98#I)S(/S;F,;=+KM-M_/RUX',M\ MVDS%Q/8.6\?'CT-:3I/5F/*F];1(N94S07O7=HU2P74O5#8Y?7K II7%%0^VR5,Y MQ>:DZZFWOX#L>78X&_?'H^HI=7[*;V]'58'33_\@N1U=]?,2GZTM(#&__ MBVH[UQYMY]F;N]O/=_VK,1M?L\_#@3-DO]TE8\8?ANQS__9]_VKXN7G][X_# M7UA_,*:9;KO](C#(/(8MO2.@7#R+E4>#1@WV#^1FD; /+?83=IL0M8S^V6"1 MT%9.%LPFW/9>2;M.BXU8PF>":3&38@X:LXDT[.>2:^"4+MBM*)2V(#=VJ70& M7FO^S-2$G;2/V0661%!ME$>MTU\%D;[OX.18!.9 MPPODT$>K&P (XIC6M7F93Q""G.@?GZ.TC+$G/%LSL0%4)(5M <<0IH0U:O<* MM,I?YLG1B(O8U94&290I!("4@CO=<<;I$W&3L$FJYF8)HQ93:2PJM66 MT+)10\,LE7FF[6L!&HJEU?,1$&FP%?XNFOVG&DCQK5P M3H139)@*,I8)(!>FTB2T@L0RY!CE&7V/I8E294JLH^S3*O7>++1"_X5APW;A MO%@ #>^AX0,ZEARM5A^!?5NFD.CL\V;G<%=X+3J'L?^VYXY_B@0DB-)>BE,/ MNJWCP\WNW6^WCIR'=_G>#V\Z1^W3"V%0]F"7R^NO^Z)!E!/QTFR_A'(_%'!@ M=9)G$U5J;( (G$GCXAI2(G?[4,%YS(AZ5OFF"J!5=/+HU4:5<30ID1W0Q:A4 MQJ[S-65H9"RYEF2 ]*3G\CRGG4I#1.1"RSC6 M"NC_#/.M5VX//<)E)F-"E!L\4E#F1K!P6AS2IN_)CCQDG2] MW<_]1VU?55O,HH%QXB=E3C_%'1P )]Z;U( MJ_;UB7SC#[OH)4/B:UW.X1_H191ZY1G?O3]$U]=&R4TF3@(5:.FH.(RG@Q(HA5]W+7/![HCQ?4ASIN6+H MGMR6[?LW05,U&K[/W9 E/,9"(U9)\D48JQ**)< "E:[A>=> =$V9P0_PDS.F M(J>-#SJOSJGA$A)0YT0C%!MPD' )!!>[1](*BX9G'IG/5#H31#\YGU9/UKK* M.9$5J5H(S,X3Y;.,KR$-9+X+-[>^H\_6[M@N8&V/](F/@"7ER4WL?_1')^@LONE1U-V_O=NA.EBY_7?-7;1HB M+H5N1BI->6%$;_FAKA8%0N+OX>@RECP/3->O>DG?]8M>&JG=V]+!&K_Q\N09 ML2_J6G4O:%51B1]"NE(K5-:JK-V'AK0U_-D+70VC*6G&&!@W%[*%_:PK4P=)E1I[AFI_LTJ3;" M]Z<#[IO-^NL".DBDF+#+50VX]LT<^S^F_[N6[][XQWW ^0S8O;\ZL($KXLX+4WO.L35:=!+DME+IK5]V7- MK[]9KD;J+Y:?OK(NT($V0_3Q]TT^0>O8XS,EXRHTCH];W8-5L^''VNXMMW\5 M[MZMG_\&4$L#!!0 ( $D["544"^BRK 0 ,@2 8 ;6%S#,R9#$N:'1M[5AM;]I($/XKE34(*YJ[] MN-AKO,JRZZ[7(?37WZP-.9-6NIS4W%W41H(D\_[LS,Z,=O"+904B)2*B,;P- MKRXAEE&QHD)#I"C12%TSG4(HLXP(N*)*,<[A7+%X20%Z=NO(=NW>B66=#="4 MO]61PH.NTW/:;KL-+=<[/O;<(QA>P<$\] ]+X='$#S_=!)73F_GYY=B'AN4X M?W1\QQF%HXJ!UEL0*B)RIID4A#M.<-V 1JIUYCG.>KVVUQU;JJ433IU4K_B1 MPZ7,J1WKN'$V,!3\IB0^&ZRH)A"E1.54GS;FX87510G--*=G V?WNY)=R'AS M-HC9'>1ZP^EI8T74D@E+R\SKN)GNHZ:#[$W^15)LF3[09 7-4Y03S>ZHL5VS&G%*E+>0.NT_=O MS6RGETBAK82L M&-]X;T*VHCEV;X-L\ O(;0ZQV[S7XRV+(*3I]7 < ;#T>0F#$90![$+O>>>F R$ M;P.8#:?GP^M@9DT^7@:?8.B'AM-VW?9S0&,B1EA>Y\3^+=/[F1@WX3V]8P+> MV?!>8.MK0D259LD&LD+E!<'VJ&4]#S0R-_'UJ]:)VR^3 20'$LO,=,.ZSIZD MP2X3T"F%&5$+(FAN3>XYW< PTH9CL#>13W33**\V<"ODFE-LOLU2[4-!%*:& M;V!*,ZE02<"%5"MLNM8'8Z'G=F&$6"(\H+&(;$BD*C43ED>$P^?* % \C1C> M%8)"!Z,O&W=2<#0MXX/X\ $> MC0J%W0K-!/?8A 5.CRW&5J]S!$3$I1P3&-^*&'/H6&C"!(:%FV$L3^VK]C.39/SO3&2UF,Q8KRKU]UVVZG/W",;'4ES*PH MK^EIPXP:,]/(@M.=T854,556)#DG64Z]W1_UL/ F]]/JTIH98PX>3W5_@IEX M]^>7H=3&D7&L\!/O/-^9*X,UMFTB.#NWXL^AE3NY\=?EO4GM4E8"CXR=#_,\@[!75$ZNH!.:4"7QZ M$I\;X5X!EG>BWKFMDK)WG5Y&XOXQK!\WH7[*:((C \>'V7!ADB38D]7/E+Y< MY "YUX=GQI>&4SU MG:J'%9%$MTLE"Q&;-5$J;[>$U=X>]AG;9=$<&<<-W=K^OUO;ZF\>6TK]R>/Q M8TI&EM1:*$IN+9+@_NZ1.\GB;6ETNW;[Z&%?K&AN^?Y2/=*4KSYG?P)02P,$ M% @ 23L)54+QL3>F! '1, !@ !M87-S+3(P,C(P-C,P>&5X,S)D M,BYH=&WM6&UOXD80_BM3HMXE$GX!DA0,B40=VPAETXX',^B-D]%&K#Z5EC M1>229982N==Q<]5'30?93V0>K#6+5>JU7/?'?D[BF&5+B]-$>2=VM_LG2;)E M^D@3%31/4DX4NZ?:=LUJQ"F1WD*HM/_4P7.:^4XO$9FR$K)B?..]#]F*%C"A M:YB)%-RL*/@LJ6?*^;Z0+]CM%TPA/T0=E$\@#_6ZUJR_: MXV+/XYH:; O!8V0&#RE;, 6=MMT>. M,6OX*(4:X7*FLQ?AW8?G!+!R/QOXP M'$\G,!V!?S4.1C :3X83?SR\1A)R@]D;"OGV;C:_&TY""*?0ZL*=/;=]&^:! M;R"T.B=N\S^,UBR"TY>M@>$@]]U17(+P*8#Z<70PGP=R: M_G8=?(*A'VI.VW5?9>VP+$987N?4_BE7^Y48-^$#-I$\A2L;?D8+B>Z!XU^: M$%&I6+*!O)1%2;!+*E$O!XWTAGQWT#IU^Z8F0 H@LMM]+>L\BS-,XBVQ(A#2:"2LBPN%+90 H)B6&#V5&H8/1 MF_Z=E!P-1V*5,)^D-R!.BD=7(8'SW"HU$IL6FA MF> !>W&&0V2+L=7K' /)8B/',HQO1;0Y=)PIPC(,BV50E%%:0Y80ID'GDA8Z MBJ86(3B?4!4+C[B0D6-817,+-L-)I^EH-#;-T[A$J9)7($1.I?%;/)>VK[@& M][>^9NZ9K02QS?;O68$]E#.U\5(6XYI%^7<'W;;;Z0\<+5OM##TRS&X]:^B) MHT<;67"Z,[H0,J;2B@3G)"^HM_M2#PLW=#^M]JX>-3KQF-7]0:;CW1]CFE*; M2MJQQ'>\\WROMPRNL6TOP1&Z%3]!Z6U8.-Z46'FM_ $*P5D,!ZYYU;.T];K+ MV->IPAXVD^YZ;[ ,9:]23N$\WQM,$1P5OQCZFX.VMPA?N.H,8,<4_!\771^F MOH&*?Z_VOZOVFT/NIXPF,'J&UL4$L! M A0#% @ 23L)56T[#::G4@ B#0% !4 ( !BS\ &UA M&5X,S%D,BYH=&U02P$"% ,4 " !).PE5% OHLJP$ M #($@ & @ $DL@( ;6%S#,R9#$N M:'1M4$L! A0#% @ 23L)54+QL3>F! '1, !@ ( ! M!K<" &UA

    B'6J(D$UH8TB2 UB5U@#":0PU.V+*0?8ZV$+ NAG>TB M2VK!0JI#;&0Q_'M8NT]-QQ7)8=?M*IM_I+5$=C/O =8XSE.&)T'84@6)LG'L MYTF?9'@FYI#9+IT]V;E=3[@"O^OIC]#LL=",6[WH1)7G\TDN7C(7=OW#B9!# M_.'0]FS68I[:S!Y2\[(NB"4KU)QTRYT)@O@U&C[#%NKB_EZ%:KI1)2(9 2NDE)&I3&B='$.DAXTZ>R"8QU))LXF_,/B!!8W>JP M)IK84G1A_1X%]@EP5KE-1XN-:&MRA7;Z_40^,VMP,OC]O^VE<@LWK/P]/ M%6VLZ62@_0)^FCFFY8A@"^$:B/R %7$B%6Y!TD@W-$.!)86I+H(?KYVI M?ET*WJ1;B11X'%!27<<'4)XE$)9= +V?:QYXO*X[^ %G5.],J[47B]AR..E: MA980?Q@6-PR8+CI\6K6Q5;V8:?;\87MD&HXR(NR!='G+*3.1I',\MX_2@+\M MU\SO:RA\)EEJ9JVR1 L4$L?*/_HS3SU^1O%Q]- M<4&\TYHFZGZQ 3LI#&'F--6!0YC;\I8Z@Z4"IX,"HIJ(T-D%91\LCZ(%;$VP M,]WPM%?:D!$FJ>H]1L)B;U&6,\!.N W* UP8^(="7F82 T, MT GX#QE6+=F&"8^&6*P*'\%.45Y<>!B-P=H /@EO@>A;W)A8X4)0!-Z?8HK3 MLW:'7 %(?*.B F."^DJ4TQ_TT-04JJF\WNV,"W6A4G]NOYK>V[!^^J/0'(A\ MZF&NM]?Y;IZQC77<9@^VQ]AW.(49EQW3>WC'\N+MGIAE#"2PYL'OKA6M#LF/ M.T468OT_X^0I],CME M+IKK R)-#4<_'ZH.EI/*8W>=VDS49B@E,;59KHJU#!T^4PFWOV.R7Q&#+1&I MB?GUY%.I^O.6*$Q1E]_<^2.GIP#<,]75H>J>)J/XG:]V*[>GX*:6(&)4,3D! MF1!*D;!EX$!XABSKF+W7V-8N5!FG[0^A<3/]:Y(IE(R9ZZ!@YY10!7P?&6(AV. M@ -(&*:I4]6-%^%=AH53[:*IXEB3,APRQ@SO5H/NA4^6@Q.J3QXSQ'Q#TYCB MR!]I&KP3^T0S+_6'\^Y8)[CI7DD358",R#MQ.%1P:+QEA\'IVZ51#Q%XDE\X MQN*Q_XX3N6B%)(?T:G+W33Q434DJG>2_\%6G/I5K:)8@*UL'<7\M=Y0(6DWQ M,&YCG6O=47M+(FX4]C4!XV#OM[C7GL(G]P68*3"*"2( M]:^8XFSIP[!K.>K MPMJMO27N-H-,+\[9&KF9@2,AO/L@$L6"'^D%I+L ]- ]=#39K9TAH)*,P52< M(,]/AVNM4Z;=0[<*T!/6P@\CVR-PI\=-L#1PGB'&.J4FYKE=TL#S-[U]()*= M),$$L+"CV3N6.UK%482GN@\EC]1M' PL<:2-TYSXUR,(/$9T4Q$RN5.4)-/Q M5K-/K;U4"EG&?B9$=?<,0)O*;C;D]:T@\;2^S3?Q90DIL-B::4@(8?WP:1KV M*)8\H256$63'Y8!5-++_$2R4IB(Y!H=,+EVP"+, MX\4%WZ(\B@O*HX+RJ ^61[U8^W(ES.TI/=&Q1X8)RI+X"HH#REN7O'0YL(&) M7&](DK NP!H%;Q5*^^4OAX9HVQD2:_J=B7/+!+!E.S8GITILIQ .B\*N7.#4 M= 86^ "XU>H"$_^TEDFHK.\?8X[(MYL]LW'?SHK\YI$_K64Z?YU?:ID8.DP] MP4JAQ14CB4C\M3H*WE$<\!(C;RBDL'"-+]ZUD4:DA@+'"6"*+)*;W!54X*]Q M/E)#9!,<.QP2>':N-.YM;5\L >5N/7#]R&%Q=,J+4_BGMS^52;?@Y8C716UM MJY*5FPY&VZKH;9>00V;<%5D_\[MW]W3>R'7&&SXNY(95N=G/S#DKO?QHKNL, M!+7=#EMUV#&P B!Y:K#S[E5 K?-YKOMH56KW[]GN)+WDZ)HPK,YZF=<2AB92 M5,ME 9?V(#C8I\._MQI\6J!V**0 AWD(3:@<1(ZBO@OGMGXLR0,3IO+.[Y#R M,5-T=$L:8;FY\^Y<4W\1XOQ]Y]:LD+*!)]=GQWTS$R?02;V:C,Q=*'NU',Z. MOT"S^8+7'N]U?FI-]:J0X^O2=!A*KS/ZQZL7MB" [ _PMA2ISM]#;LN3=& & MYFRRJ#Y>]QJC;*E'JZ5"(S8N]&J5 H\+U\]DBZC=00S,%C@()2'P7^K?P$(! M#3](P^T6:,OPE,$6)F3E3 @5SM)M7,J-T,*,12;=1:0VCT:L;C&/3]'$7J ; M2*]*Y!$B[M$VL*=FFF,!#8&(S@R[%]?99-Y1SC+M?@.'0@33^"\OU7Q$FUM0 M=B 6(K/NG.Y-6'FSF3T68L7\Z-+2Z3J ]H&<;G?)UV>)S:_5NI 6HHK0Y$)+ MJZA,-\,)?O4S6$*X2?BB3> MXD1^&3%]O<*.[)P\0ZDV((Y_PEMUF':Q5MXAS3T*M2^K:515IF*E.%&C(:NW MC)>868?'13WP@#6LQS'=+8^3&CRW].5J%;NO^)F$+CA1(>(*0!QD;-/1.(U( M&;H&- 7/$0AGP576&KR.J5L2.5 -7 ^$2P6U;=X-^P[;PMJ[PZI:<#[AR;)# M6!C"(OSBO0IX\HM; 4-*;O$; &&J;9!M(]=WU6W3(#Z.Z\:NW-B(!&$XW:;+ M#CYCAYT1<(JF\ *'' K>>['EY5N\P 17T4^1B ]HN$EH0W>3S!"X=4EQ)*X M.?22RU[9L:NU56ME>+:KE9H=MI)BXW 3GIP&. M;5+67?13M?&U2I=>8Y$S^5D9N44R7ARQM3E'D? 1\L*4>X#7"VR2^X'-#&)? M=>KNF1QYDJ)[L!QC?R] ?HXPF)=5?1OFG%;ZF A+LEOS@.&?(8($RDW\X2<- M57-*\HF8K]R4^%!437+%K@!-Q3>I0]6-P<#4J23)![=X]2);17ORVY9-\$7[ MN63X'52"?+!1:H\@=G/K4MZQ9?J4//^<(MZ7C\)^S"Q4BM5BE^]([$2D<\.B MD(A$UZ&+6NF]]31<]L5*B4%TK2(S0U>1FT:DKQ2%M*K]^WV:0P<

  • <)PKLDS+&FO8O727ML(J8F90569@49 MH+ZS>(Q/3!YWE&7%HX-94KW52CC?B7/UAD=)"+',%)7JL>C*=Z]KWG[@?ZTS[+KG/VA8'F'.W> MX'X>HM+%Y6^Y%STD/S#*5PGL8>/%W[V]\%[30CO&:9%5L1F MYE?=,/6><@$7V-Q)&'F2K.!9[YA\]Y8$G!O9@5 M=K#&!)+K.=1W:Q=ZR-MFLMTS$57E'9[9S1(,PD=%@[0<&[\"D.UWP% M%6?5'FZO! 3=L<%1/A!OGL(3;7S8AF^\I\-[EEWZ(778SM#WYPT6G= ?073! MT+]\1YB2XB<@;']$ 54WLI*?;%#Y_*YB3W)XQ8H/;0'E+KJ%*)#6/(%QH:<^ MQ9A":<(!KTPNR"-=)XP2>*_G!8KP$?[/!/!1/)A)UZ<+N- L>=L]YAR5VK(7?]$-:D? M8>Y$"G'H.!51[^)]M<>;2\X+(G@OB. N-CL=U;B=W7UIO$88 H:RD-'OBMLJ;O. Q5_M_A=TA-4PFA MS(*NOD!H;&KY^E<+YN:49B+)^2/UTIR)+'\WB?@"EC)9Z/A;[&9UG,AS\!5F MTQKJZ6>=<0V>Q697#"",PVV^U1K8X?>(34P)I;K]7_\2J9FI9>QK: 6UR8M+ M?#+;T\'WF.U)!65?3>(3?GM2RMC;GB0U?$N$MB6T13>D5M@5N,5R80Y+96O1 M1U@V&!;#T^Q.CPZ^A'I'_>0)7FGH]QBF[H4O[Q6F,P^4;=,/^YHAM5QFU2&Y M52^D3MH1]OX9K]8NV/-;.B#H_;R29$$@4RL5QT=E>D/M?"6=^KTM++A=O*V% M%?NT62Q'Q9'%W:0;FFFB>DL7I*&M"^"#+!9M>\3S#BNQ3TCJ$,1E5E9)?E%> M:O/6<-L&V4GY- KQ@*)3?][ _LY5K()['7J/811FK\O'5'RI4U5'&M@]OH]* M&B&@"P',,:$7CMX^(;B1,":Z<%'Q)+^47%W=9)I4,_?Y=BM?7I4/M?I9^ Q: M*/Y]GFQW7@R/M ;EXW2L6.<4%8=1(L-.W+^_C(.N4X?A@+^7"74I\3)" MY<5&*=6(@.\SCV4X(#_2IS".B_>G1P3>:X(X@GE'!4G%"ZQ8XG2QJU9LJOV+ M!GTTIB(RYTBN58IU:#^B,-=8KP1H9P!A[$?Y0&? O-U19&*?C2*P"1:/9*<\A M9VT-FRY);,K('HPXT@ ^CA(5;XB>2!GQ+'E@@">Z+\R1"T%(31*R%V5!2F&( ME$944:K)@^".T52AW4UQL?5P-U[_L+(B0C M()K[JKPGJ_FZ)9-R4 :?N_L?*7-0U[^>01[G""#=NSR"%%%\>CTUF11+ )0K M1ETIH@')?^[![T"1@X:^@O;G'/@.(;H/>V79]9E&O*$46M2>#V/RL@G]#6&5 M7G2A9#CEM>5( M=*.*. @-"&[H7 IUF"*5(# 1*$5Q.D%"H,.?-TD4O9[!XR$[CV6A!__*X[32 ME3K>N [;((\_2DCU4-)H@#@JJ.7L?>.7BF3OU'-[<^Q>)IT; M#>ZP#7*#4T)J%$*L-T!L<&HY3QA1TGPK;BK6KQL,F%SU0/U-G$3)TZLT[@=. M07%\U]86J7E90:PRHG0-L2<^M4RC@7U0 MHCOA/*Z#QRD?NFQO/3>O.W[(LJ7I'#UOH :(P-E&Q7=2 3.-P_V#CYP; M&@7*^9*Z!6;'4L.IG*GY-78'TDC;UZA*]7Y@:HS9 M)UI!5OZA;8G=5]H%[VMS*_;DQ>&_JK-6R+Y_$MS@A,4KN<%IMD?\9+O-8_[/ MB=UL//A[RD.6<-MX?.GHTUP4J7T?)OO5H][[;#IA]D)KT/OZ;6T]L'NE/8#> MV1(-#F\:+*:NV>84[(#>N?2]@&Y#3^^*1RTP^YT:3N5DS:^Q>Y1&VOXO>4AR M$[O*2"@F+D1]D[!LL]Q2QKU16XU:V0BINYA!E76ICUL@/')I$;2WI4EJ Q[P M65G:,@V]6\^'!Z2UAJ9J@]C.M)!*,SMJ@-3*]'+V-C).D10D'9XD?_!"]I,7 MY?3]:U$9Z'Y#:?8#2_(=7_J8+NE:=D5JGGT44#^.MNF'T)A[B=_7QH$)$5P6 M<'I8,"*"$RE9(;CW6E-&[2F5#XS^EM/8?S5<9K7K.1\7:(.O\0!=MWDX0*OT MO9^ZJ+W+4U%V?[^S@JX"KCR([M9S+N;>#E]I[OINL@3"&V;CJ(.Y#&///0B^ZS[Q,+%O.O9VX[W[=4F1Q ++([7XHQ:FW M@OK11.Q+@T$;XCA8?1:\()4DOI6!;FE6*>HB3/TH 4$[ M+074_9$'I,ZJ:%_'*3HC#C'=,0P^Z^0A9.\B>X:.RNE,KP\?_J![9A@F-K5( M!86%?HR31ZAC 6D_G*ZYNJ_B+!'; M4=]VV.D=E"GR-TMO."(;CB#C:301\B.E6/35#U":KRTBDD*0I)919+.0D M0M#BC7%2R4I 6"(WA[]U/!_#^1/(,I3BUJ!075;P8*+D&U=>I%;>S(/T*L]6 MZ\FC=)/K[S!,*]0^=IRNL?R=!6H5E$+U4DNPM!G%ZR'_!E,T;K0WWSC M=?5_#:_D.^^OG M-"$^UMUXT^ V7K^;$#O2E-?(Z'<19%%-;Y51=LXSVG'UW19HT#E_IY_IN<_!S"^D'\/.2"Q%LL+GYB#JH@#\!;8=.?KG=1]KUF7',Z89$%J/!:D MX.+&J\<'O_1]EG/,M. $Y81W5+QO!J\VQ@%YI#%=ATY3MXI7LW[V&//B[%7( M[$7GD9>F(3S"9O9Z^][(?;^C&A3OH[5U11P'NB+H7?!6\B$E(U)PZ[MKF'H@]VE+P4RVY3I\ M \>>/!'L71WVFCI]('*5;2@K!+.>K+=V0N[)=J#KGFSN@=B3+07O_1P&D">E M8>.9G8\,NP2< !LTLV\.<']1)%T^IN*%9JM9B[8KJ^B+$8O%=8ZSSIV'"K!/F:4/6<;*XX C!@C+F@M1I2, MAPT-WTE]Q/1)G$DB4 O-LDA6GA$GEE[P'WF:R7]OO8"2(!>W$>$95>?3C@OZ MF%W%?.4H'MTSO6BD;HD\"!C@U3U>T0RQ>YND[6VT_H8&>43%K8$D?CKC0^V6 M ">R9Y4B>([H)X^%(,,=]W9#B5M%,^2FJ@-6M]/#-HB-5"MJ7PLM"1*@Z+Y< M;1V?L6J^LN&,;%%?__ZXU4SL<:!*]@<6Z;Z@ZRT+MP*@L9+K<2ODUJB!U3S; M:#1!;(FUP *+TS1Q;&A!XHL?6QQAV_T*0[R8'@)VPK+X;L M*,MXT!:[J@GQ2%1Z5UIZEU=Z%^'_HU5%G3 F(-W$OC6P4H"4""AH9EO7+<\O MZ%LC=4Q+F/JIUO4,WD!HDWBPI<&UZY<*QD(J=LX?RIUSA^X(D%;K>*@\]W;\F^Q5HZ..)) [;A^%U+VY2W_$+MX+1F]O M #=/UD2R(R6_!2DXDHHE*7FZ"0?3:@7F)KX&K[,16U2/O>>3*R]8Q?6]\G=6 M(=38'7EHZ*H(_2"O[XLX)'2&,-A^B^!%)#/"9_&-\Q0,$X,1E;%'_2BT !OX MY$N^CO%A-?5$OT(3&:[$>BG- +=XNRFXK:2TTF(+@5E%!QMEZ..#J?=L(H05 MB,%B1,E-Q(2%?/X63Q/GBG_,TM7:UARJ/8AAR"*U'F'55JU M^7XR1>S[]<,![.M!=0G(5HH@'^YCA1!D5T@!F_WKZDU4OQ0$]AS@! U. 2;> MV?_;RD;,4A1]>PI0N=[LH],M%ZH^[)%[YOBC_ MX-/5^A)*,J[6%W3MY=%AB80QZ&,>&L90935*#$D<^X Q"M;>J1:*91+Q0![A MCDDI%/$JJ62;G,LEFU3"B:>N8D)!0O@[D#)./*#\WM3K8,#YO:MXPGV#.[HK M;MG!4!T_P5$I+,8TZS1#I[FBP M+RWD/GV2BNH.WXL0XFAP&I[>9:J *WA.09HDC C:"U+R)H)YK4U:-1JG+KY% M-'&C++YJ]C=P#W\''!:0,$G2C<=<'B)5)& MG!C"KQO90.X3?09+;_)E>E.29RD4F CC)VSCN*FL@[$#O8M[F M+^WS'$U[I(9G#?5H9J-J/)8RM!!!%A/XYB^.YC"C:**:O%P>@!S; M/?_:T3W_.E_W_&L7]_SKC-WS4'8G[OE7#.XYE"9T[OE7;#M?URT%05H[(?7J M;J!;M\"N9U EQ%+P$3;"KEV7#1D9^N5ON2A5% ?DAL*E*3_94O+E=9*F7XD3 M^_N^)_::D?85NMEG(5!&.59^$R+*M$A32\_^5$> MT. ##P%\DK;+I;>LUI<>@[VO])8R,8&^W?+Z@*1O42D%$E./VI"0:=2+*@I)3=8$*2_GJC:]Z]J H8$VG$Y(@\/ M$ZB['BM&9(B$UW8ZPJR5Y>Q?LR_(."$8]\T^D'%BRBR=0RZH%L=-: M'V4-+0'XQSC,TKO['XU/4[;U0>KYG2 W2W\8.B >KNSD[N_K5?4U8<0D!_IN M=LLQ('4^W[2>I%^WI/D,2!YY*!A:D0.N'Z]GD&0T.,2A5X:=]Y2N72&E..(+@ .J\JS2 M95K)@>*(\7*[BY)7RM7#GD.?RHU6R-0 S= X%:I91D(8H:0[ZB=/ISQP$9(8Z/X^+M?0H)S,\>18[3;5'3<0FY!4_% MB\Z7GT"DXA'H.KPN]&Z@%W+J?&9HC M]A8;J?O:?#%OKXB3DKK[4S,-;..165N?>9JS_K#,V&%^)CW0,9G!J$\X(ALJ M/9T/6*OUO1?1U+B+KFJ'W'RUT!H9YX>-$)NI7M;>.>6<(BRS&-1SSUWNC]S1 ME/+?=K.,@PLN3)3LP%6**4[;^8Y%3^2VV@'^P5E/6S?$]MQ%^A-.0P0/,4D. M]EP@*1?8.%TSTX@3??J!QI1Y$=?",H"7@=*,>;"P+Q1ACLM=:2#W@UXJ::Q= MNQ! [!O]:TIN"_(D^0EO\1H<,3C,\L5CP0-G8THZ/6B#W."5D!J;T_4& MB U6+6?O'4Z@1H"<^Y6?9A=HOQ63OG_=MRFV:@2 O4[BX)9KHC7'(JC)K. ;QCR*M39\GVJ4S4H_JIX0J:]2Z)_;D MT>Y >L^<@&2Q2^_7W(QXPM#%VEJ5CR5F6/+?18;IQ(FDTZE(G9!VK "'0_PP MYS[7+9EJPW-!&H9&5FM]3!^8!>+A?"RD#L\GKUWGKZ'3J1A-A 2D+H++-;=$ MSX<)I7**'UFW*+3MC#R0=5-"8_ENU1-QV.D(8.QHXBCM:R(EZ":35 T>VPSI M)HF?^62/R@5D^I#PB%__'J+E39+].\WV<;0^X3PE2@_ &WD0FO0GZ#S'.I4Q MXA X+?[1(F@E(1$B+HCDO"#B%)C+1EYI1O;2NU MO[- +B?$'Q)6? 3M=*\Y3R[$[S6T&W^426*\4H+?8[ W*V*ZJ*^-]E) 44FU M)N)G%OW'^15^IE#P$K8ZGBGSGBA<.2MUR?:,1/U*O$,#O*O\0-FV7EH@S,", M3+V_6\-.]Y3&3].4TA4?G/B0$S]=4R[F!4U]%HKET/(1DKU\ MW35C^][8G:";&AJ.8-<5LS-T1-#;(00?V&0H.!'!:D%JS,@O)3M'YS]3*>- M"4YS*!GUX!S+BRY3N)%RRQ(H>/6JV_G6-T?NY6U &ZG+V%#7GA]&X3$\QT,SS%G@U92XZZA\U!&YJ]J#;QN+F[T0 MNV\'X0MT+L MF09A!YK^R3U8-UXW*KI(^)NO '=*3G?RZD79:SUO7;-0M6B.U)UL@>XSM?5M MT>=F6XC>_S@V@BP=*%W+)!OBU?A,G6(])M("7IVXL^6T$[0C/.]UZS$HH_5S MF&T4:%2@K7MB#CS=X!\]^V7NACT<=41Q^@-1.\F(O'!.&*(4/@4,/WFX#KU' M6.%SMA_R+&?T8QB'VWQ;?%TSUY^BFL-Y2" 9O;J9STRKF'+HKW%=$,F7%(Q) MV:9DO2"2N;M9T+0Z*M2Q+=0AS:,RHM)T'.Z!%&4L+L+4S]-4W*2YI3'\L8R# M5;:A[)8O&AG-0B:&@/>\_3K4+O0&)(LT0@^MN/INS*DT$>_=# :M_P*T)$U* MVKA./)UKZ(]OWWWYZU?DWGN6=9TY&8>!Z8*#BR&K,,Y8^)C#3P02%>F'#-0$ MNDABC[W6&QGKL9],%'E0&D9I]9!T&D7$ 6D@8'V=K6!/ZJ2%RRU(*0)IR-!L MZ?+^AV/-5>KQ:[3%FUA!H=/Z%V2'.HQ]]#)_P\-MXWO*?[$X6ZW%E_U^!"NZ M\PYF]JKK$,_:BV.57;"04,//)]BTXTHI?U35MN*PY)%&L+$469U6#$@; M^R'&&%!/.=O82K+EWO3^J(,VO/A@N04O]Y6.._%A!R8%GC!H2)E((91X1JT4 MR\'I"":EM@T?E<56IEK8KC34NFFZ+$Z]R]Z'4 VOQZC:3LOLS6\!J-J.!]S M':I&^=Y4X9VO7IF.?39>Q%KUGHIS]L'S?Z%U ,;9&:JA7$:O]7UQ#[9FZKW/W3%7=<8)%7 M'L;KA&UE*3JHKE"4-;A;GE^22@3"9?C'Q!NRHRE!@6U#?I'$75RD MFQ+H/_ L5*Y;ZJ\9FB,-3K9 #2N6JBWB4;-5Y.&V,Z]=/Q@R!5:Q1G-Y6T,Q M#;JMSM)7ZY\2N.Q_%7-ET31+B\E+8#^GLB.&W*E/4U++C-F"$N* <"*@8>?6 MMXTL$,F;5,S+J7?@)IPXTE13)RD45R:^?*")>!J%.(@_Y\GV,8R+4LYQ&@:B MSD@2\PE2G*XIXU+J"LQW)#&36--%(:H(8]-_!G&E$XR3HTF-&Q3NJ?$C-89N MX\DB):EBF@J,B4U MBK3HACQ&V *OQX6V/HAC@;7HOHIWVF8"2#.$B<@F;P M>4/!MCF%6%1U+1SE[[M0T3F$E3 6$XA"*7YC7I7OX %M?Q/29WF7GJ]2?+DG M3;9AQ-="2=ROB+;FD$0#^<<=' !58JS6YU*(CY4,\CD9U2[NZ2211IPA%5:= MS)Q(#_L!SE#P3ECPPW-$X$:G^=S$9SZN]:8+VP0D(,NFM@HAR%Z*XDDM!V=( MSA4W3(A?% ]IX9IWUG;KBH*CXAEP^Q%63P!IS.^OC);)I:;WO.:4;2"&G4K6 MLZ/*>K>"'YH)Y%CZJ"-G!7+_$/G?WNREO.9_\0_+CPI"__;_ 5!+ P04 M" !).PE5O?JR%QLW "\O0, %0 &UA)%(D0( 7 80=TU,I2P"(<[Z/!P? P<'?__-M9?=> ?*@Z_SV:?"Y M_ZD''-.UH+/X[5/@'1F>">&G__R/__V__OYO1T?_<_W\T+-<,U@!Q^^9"!@^ ML'H_H;_LS=SUVG!ZCP A:-N]:P2M!>CUKCZ??[X//@^TO-W&KKO-K[_++U9?C_O%Q;]#_]>STU].SWO!Q6_ 1]W(. M2TO:T/GK5_*?%_S('A;7\7Y]\^!OGY:^O_[URY>?/W]^_GGRV44+W$!_\.5_ M'A^FYA*LC"/H>+[AF.!3#Y?_U0N_?'!-PP]UE:K^]H+LI(&3+]MG44N0OXZ2 M8D?DJZ/!\=')X/.;9WV*NTA^YGA(4IS\"AGE4[)$Y7/MQSH87%U=?0E__82U MU^O]';DV> ;S7OC=K_YF#7[[Y,'5VB9MA=\M$9C_]FEE>-X1@:!_?M(GDOS[ M;4R4Y-^A8XT<'_J;>V?NHE6HQT\]TOZWY_M,7Z[ZEQ9XA2;P/IONZ@LI\H6O MM5 Z+KU]J2O>U,<\)3VY<1T+.)C/^(/GVM B_+TV;*+OZ1( W^.74JA1-86= M& B76P(?FH;=BN1[3U!&#=M?O?%\O 8HY*2'B7KCKM8(+'$%^ H>7*\Q0H@\ M44DU37W7_&OIVA8>@D8_ OPZMZ&:HJV>[/5@B2:EQMX5NQ(#Q/ M.J!:;J%GVJX7(/!D^/B_X_EUX$$'>.3MQ=X1Q-V<(.#A[HD.E,(M2Q%[&JQ6 M!MK@EQ,N'.S(F08>TTW3#?"@[BPFS H'W0+QE*6+?&1#]8=@!> 0&^3MD M9!4I*0U)$>K>><5/=Y& \2ZL+*7SF!HH -;H;4UL1B4L3!=18S@%:W MX,6O(D6VOA01HL$9VZDGX-_C>>@J]%TF $V7V%)7$:JL13FVC_@CX128^&F8 M,Y5-/*TE*6+A+JR@'QJBT 4-[2UPJMIQ9G.2QJP7#_P(<(]&KU7M=KX-A8?? M]H=AR<,Q7R=GQHO=IA*2]M7Q2*I+S&Q.KG=27:A<$RIX*M7%H32DX)!?74:^ M=A4:_FL8&69["D]J;X%O0+N2S((/4'AP>8;>7^,Y=F],W.MX!0__C8 %_53% MF\#S,8D1D33U]318KVV(OZZA2SG]5!B2^!OO&9@ OI+WJ'7M,AZIL*)NP1P@ MS(!G@,?'H'TMT9[7'161,=?T@35SKW$'3!?7_!>P#JVXDEXHK,X'K ?LL\03 M0F28_J&X5_YDA=6&RQN+!0(+LA1^L+>5]5!UYCHU],!N3^YLIX98^394F._4 M$(C6D@IBW2P-9P&\>V>"7"LP_3\-A/#KM!F_V'!1UTVN_BSI2]@UI"YL1L'9 M;0T1.1M64.@A'B-NH1WX\!5,@1D@Z,-:+W>MQRFT %#\;?SJUAFL:SQ-M7V$ M&FK@:56)785:?AFE*6'!UJE5E ?\8RP->5Y3H7HIE8$W'S@6L+;?0I\\I]_O M7_5[1[VDH?1'P[%Z4:N]:A& H9Q84MLU,WVQ28BGB[+XD>8\W%[8E@?,SPOW M]8L%( DZ'?PX)1^/HH\AN/C/[S?N*T##%R^<*B2MV<8+L'_[M/?;E[;[$BGJ M&2P@>:3C/QDKL-GYQ?]T\%5JL-IF@Q1MO,&,I-G MX(\YYF1AB4M\68<1.4?F$MI;-LR1N\KI+'Z2*]AS%UD _?9I\*D7>+@_[IKT MG,3^K!%T\=BP"7]K'9"$QC/<:@$0Z9^[ 4!ICV/%'^<4?S!=_W=@(!\@&]-D M[:+]5Y)1LEL(\'0^!N.$\18<'_(MP*^L!TD?2J'9+]HM;+AZ'X-S*N]-P;XS M=/&8;=T:/LL\9AF@PNX,V> I6+P!11^I=D6XHGZO7L=[/ M9>F=3"$1?CGC61*FQPU9UT2;&]>B.TW,6EU"1UR0&+ +68#-C+=["PL\-93R70))1(08GDM9\ PM"Y$-^N@?/)<$ RHT!66[! MO]V-(KB1/0C*= MOL$?QVCF_G3*T-F5[" V)9U/IH=]E: )K? 839#["J,SG$Q\]HIW$"0>"1*D M\C/YPX(S<3W?L/\?7#/=@Z+"6;$N^R?G9ZH#4][_!!8)\WSR:@\1,"A I'_N MANI+>YPH.S^/;UW9Y""\/5FZ#GV.LE^D&TKGZG6B> ES]'@/:S,X?IF15?(" MQ>\7Z8;BN7J=*%["K'R&#)(68[I9O;AV@=8SOW=#Y>5=3O0M83:>\&'T9H91 M"Y0]BZ)BW= ^=\\3$*3-L&\"1"2,UBP)8;#R H_J[!07[P8HPA(DX$B;7]\[ M/B"2P%=P:_A&W'7&0E51\2Z!(R!! DY^IGW 15QT@VA7 MY/[TER3:R'#H[T)AZ2XAPB] @HR$N7+T4YCP]3X!1,)\ M.GZ;E\"VR]Z0=*$N@5#:[T3]$F;5L=OGKE9Q9&08.^J- Y_DS2.3)+JWRZC4 M)7B$Y4C@DK9#?@/(.1S[WK' VW\!^@NS5ZY3H'!T/<%!PAP]]KWOH&<:]C^ M@>@Q([2BW4!#J/<)(!+FZTEXRZZC=_B;(K^74K(;<(AT/D%#P@0]V\W(\>## M(U4V(]0%5MY%7WE$RKJ?8")A7C[$O;3"GMI&T:">^;T;NB_OUPAO^X'CX, MGVY&O>GOH]%L^ND09P+FAO<2-AAX1PO#6(<,_ )LWTN^"8EXU!_$B9[_/?[Z M^U:>\?P..E@I$+\_;C17H1P?$*E*^'!V=C(XQFPX[U]>G%^=U'K+J@LZ]#R, M=8E(V4+*O'^U-;Y[8P4D91Q6B,_S/T3:HTH6BN4#Y(&P9#J,12X-8H>*BPU[ M9;.J&N!1_D0N*3B0I,'/(UJK+*@7YE^=!20%+SF&A_\AYS=?#1N0@WG^C8'0 M!L\XPU/U%%9PU564)3R Y\E276(]34@N6?2NDP;'H+H2P5NT/-K_(*@N[YAYT _DP1Z?%6*LW@ >-;_#!=+ M/)_[AM\%H@X*"9AU%"6%X)1$7,16?0=9[)@@%RO"WTQL(\I=@3WN-9GSTWT) M5A4]N"$L8:M.AC3#L1LIGUS'9(X:A67U( ._:*WZ#+)8$$G.=!;TP)DABY9^ MP0,T7J =)@@CV8MSMX:5K%;R5E>.' VN:M?20:ONA*P91DHC?(O>] I9I1WW M3\XE$Z<6VDSR\$BN]=KFQ-B0Q3N^53..Q*^E&F M@KQ:KI=S#T'O8>P1&W3:F2M+(T(JQWKI6EAQ894)T/T8(R@Y-85PE[>))TG?0V6P M MH+2BI'$$%$BR)(^(1L: &?9CQD+>&GCM[H<8(T,YBMP&':P"FQR4 MO05S:$*:AU%>43^V5)19RU"TO#*Y7=&LDD[[IZ>#CA.#4\96Y[.RSE.6^>\5 M0]:4(TE[:Q_\\E-OU&@T]E%R3H9)",42^-#<.2BE"1K.JB1HZ/V2>=C?/KWK MA VR7%/;=G\2^.]<=.L&+_X\L/-G24O"CD3:4,ZTB.":\5YK2]U"S)H"*Q[X MI1ZC4*E6.-%+;F3F6@2A5=:&-37$;6&S6 &Z1$D'AX&_Q"/AOW:C"Y,F^Y4T MI0>7F"W,C)6AQ;WG!4*4B"IH30>&B"W,=96A CTG*V,&AE-75ZHL)):FQ5<,K:P.ZL& M&YA>!:6TOBQ@R-?4BI=R#"AW)KC3HFO%A3(A&3?8UB/$X5<]M[]ZXWD<>(M_ M#>.<5OBI2UP!OH('=W=[3,DJZ#%OFMKI#/_S.'J:37OCN]YX,GH>SNYQ@=[P MB91\G#R/?L?5[O\8]1[&4]7SV)*+PU=@*W;)2BBUM*1MM+@?,[)45[9X&Q92 M[MTOT7]VHZQ4$L:29,-;71[R4T#AO_9!PE^1]#-68/K8@P6(O-W#-[@?ITDK MEA7OLG]R=JF(D:9K?P>9D%1J@A;NK$4]]V[=E0'W;QAGEE4&/B$D"@'D%(Z* MHAAP*\/S""K'_?.3?H@)^2;IRZXKCZ#@_EY64141X53M#A9A =M%Y0$_/$K& MF)S5H,-"*ZL/+D(24G=#Y'H2V$D%]_@C[3A!OJ R^%4:J 3E8NQAR0ZE>0:O MP G '=9%T<&IT9MI!V1B1+)CX?]9,^.-&ITGW)*Z)&#CF2="4\)KF=#EQO7P M'#U6$77E(55&'UZ4BZ7E8>BOR/4\/"K.J;&\J1+ZH%TF5%.;UDH=+MR>WXYS M;)==>D,MKP\/Q$1L-59;ELU_QFAA39.+/&ZQ];/=,']NK ^J!\&HHQP[Q$ N M%HT&NY+*$:&^[U$B7*L'@P:2./#D.FY6 M_N3B%[9/6EI/'WY4$[6%&"GY%N/>P?T!7HE7NE=*.294 S1/#!XYZWJ@5Q$- M'+ @P0C*'"P-KWB@ZI$VBC K:4N3"F)KZ7.*TN7],:422?3R29^ 7^J-9LHH M1X;J?D:I6$U%VA8B+NLNSB1/0Q)Q?FUXT*0@7UA6'P;PB]="Q*W\=W]?_%MH M!SXU )M2.J.N*W)WT;$F;& )V$+ K7P^_ G('8/ &K[B,7$!G@(2Y#&>YT*0 M619#J U]N%-?[&3BTG\/E(I?+=Z@?\%6M*>5D. )L=K9E-FNH\D]*4#/L%-R M.N"DVNF Z6Q\\U^_CQ]N1\_3_],;_?>W^]D_%#\0D#J,4B%S*E?=3AX64,I M\&##>71@__U7,+1OV_M(4'+"QW7("UUPGH"KCKK TO%A@,HMHL(8I\ZR%<90 M4\NIBR4W+'EH^:1L*+B]W2RI3#29=;(RDV1PJBP@U$!67&*U(N7WTW@RX2TN MK"6N J)2%XCEK.YD92X\ZL4LJR6<_))2@QX[?9!%*1PK.45LN10^R'+OF(A< M('4+HG_OG;RO_^S:]IV+?AJ(M@PKV(JZX+-Q+-K]KR]XJ_&I\F91S22=5H$= M38!<9#NX!&^('6N *4%6IY"O3@PSYTIKR9*BO@SADKNA,!$60:1FKH]2#MT& M""M@$G8RS$T6_C8.A?5&;P"9T*/N$@JW\UX(UHA>6KUM0U9(+$4UT2O9 /<8 M#2E'OF9HPDT_4=6TZC_)XM_0^F?@1=?IS5S*,DZH*+)U$Z:A HX7DN(98&O@ M01_$.14BI3X#TUTX82NLJZ7:?JQRW&['L$I18ZL'(F4%AK%LSVBUMMT-B&S0 M)$#F$FMS8ANT!:5*;;T3QC:GFQ:R!\LWQ\RABJH?^G)8I=:RZC[&ZI:>2K(I MT@@Z!X(ZTM)#8"KH&7@^@J8?Y_T>$DL0IEFHPDAJ8\H1\J"VL8IR6CT0)NWX M8*UP?7UY4RYSJW<:JW,%=L6E7VV)P2EX0_']TR,D?'.SXPJ^^_."2NZ%P M?SH])%XSF ZCO3&\Y9WM_N3-K7U:+7KV9CC]O7?W,/Y3]23:J;C,K6KX0V4+ MJLAR&DA7)LA]A1C%Z\TW3(%[9YN'86CZ\#6Z=+,D"8%P0\I9$1Y$]QR+)D36 M,C%2E$>.X8GN"BC'@X9PS1.F1.96B2#+#$-LCXY#.W&1/4QJ.R M0)U$EQ-K2A"$3\&<;A)1PK.'*13[\5_@]A;8\596CX<'8 MDB=J97UI.= FA].S^U>LF5RN\ >Y*FE(2SOVU8".1Q2,)[[.Z(WH,H#>,O** M;\$+-2-R6;T/DM555MT GY+T5;*VEN^=5RRWBS9_XGZ 6_,#8"OC$0'/%65HU]-#O"0BE,+FJ8/ MS>LC<24@-14YL\Y[I%"9^'7GBLKZ[ON*F""P-J!U&TN5Y-YTK##S*KE BNJ2 M56OL/;*MLEZTG4+F5![G^34#1/ 2Y%UA[:Q"3_LGEY*O<#D T?@547=>V1EF M)<["Q-@03X&L.YLF"G"?H?$"[=#-%?:_6(V]1]Y5UDNKLT]YF?[W]5-T2V.B M&EJ8GV K[Y%VX@I1ZV8)RHW%>4&?2>K(\1S/TW>3]*(A4K2ZOJ1I1!-UXXP[ M,X/<*N.!_"UNF2CU]:57,ZIH-1.YQ&,-G*N+M2,3E>.7Q+77FEIK]7H$68:. MHA.R^.,U$2S+:$@Y:C84+"LJLI9!%WB:DQQ2-W\$$ &L)?R>^1MREM+'LQ]R M@B&\8)6VF\G=@'(\:H@7!3N7]72BZ6H_O[IKFZ[W0[6:.FG*IJEV>5213NZ@ M8V GIOY8R6@HJ^2S_LF%Y"V!AL9*49%;S0C5U.)$8J;O7$267[*RE&B(8CW%BCJZ:/E(4_6!!+KV 3 \NXP "(IPTKK MZ4^J>JIHU5>7=K M?L7BVSA(/@JL7'#C>O180T:5=\0A42VTO%FM@CEZ<+%U M!FCU !U CEACF2!UCE=6[QU1J9(JM Q]?@;K[7OUS?& &6 Y&. 7IQU=_[*]!V[<6C]\.TFCII:I-9J=5* MHA#R_V1/X-6P07@:(,DH2'X8.E;VBU3)* ]A?NO>M .R_#)Z,Y>&LP#/V(2/ M\$M,7>D\;">4([SH*JD"ZFIJ2J'/N] &M=\W4UG$JQOGRKIMY(-^= &[YM_ M@\8"7^E9#R]DN9RN8V(%[/9N'6OK&857DI5M5_+6[[Q5JR>I6CEW:9N3<9M[>+YG'_NW31Z9>Q?WB$G$;:5LYHW10-YFI!2TS#\8:V=>#?V,@M,%V MGW7!&5==Y0C5'D&*R5A-0ZV235;<=T'9=TTF?HVTZCRI09Y= M/@,N_NR*?U"(5RE:WD6K^,+D.^-C\YIK=3.GU4M<;J%GVJX7(/!D^/B_X_EU MX)%X. \KX=KP()XQ3E+M<\T3!WW\?WANN&L<_Q&UWW/G/3SYZR5/Z1F.U0N? M0W[9>Y+*,\,Q6AA.G#)\-]6.THFGQ1C/X]4,P][-PDOF5(VT38AZ=G9^=A)2 M]>KR:B!K6Z:6.#L.S3#;KG$__VI#:P6/R;[IE_V3LRNY-K(]6N1MY$&4>9BY M;;MFT0O]0R5#69>*65WLE K;#E\>G)V>7I\?GQ^)WU]AI4V9YLE;"3 MI;4/G%W?9S MU_O2%/C4&M$PP?E7C^[GCIO_'ZJV5S/D[3: MJ:]VD,9BE=F(9A^2?QK%A=4Q.6G\RBQ'85GE#(" QO-O/;^(.KR\9!/,GY.E_D7^>HW7 G!K?\BD+PVU*MX2U[IRX)= M ]+>4=A@;Z]%I;K;S\ F8.:[3"M;%"D9) MQTD JAONRP!'8 ?T*F_+4HV&/LI^LRH;-(9"N.2IE2V*?N2EYU'HA:7 M8A;VNU-F :CEE7O9RW!)O\1B4AWF *L*<5)"\5*88?WCZO%2O5^23ZJ?0FPP M=$ING-1>OS;1?SDCHDHJ*V25_<9>G^1/;BT_4\N2BQ,T%^AF:S. M!KAGDO-@\!&@47$;.C]%6P^5=6)XA@QK=TUUO-G[#$P 7\E^;V0F*5:"JVY' MN5-?1BUS6Q=%R(JX'-SU.TZ;>G)J>67R,UD$" "Y,G%!DNBZ#A]E2NMUG"K5 MY%/KEN.&*#(RD(.UMMVKY"-(2:V.TZ.*=)U(Y$8&4<>W-T,+]P]8*:T@U\$? MS>BT!)L#-5KJ*"^:EEC3"XI_LG7"9UE$F^DHI1H5-^;359=CR_G65&=D L"W MHGK2/^Z?U%E1C9[UCM93OTM+H>4Z80?(97W)BL#0\P"YGG9[U7L(1_D>JW!+ M'3(@WPLO,FA*9K52BS8] UH9D/ATV*6;NVA%KA49O]AP$0)+CJ&0]"@SN,)% ML G"WWISK%+\&Q?M&GY*%IYC^1EM1"EY"'T<)K_IX>/BC,4"@46IVGEK5I3Q,-BX)I^6%G**3O%-$.3/?%0](L\/SUYMKPR:60MJ:[<^U_Y2'T5074(%MOE A=Y[4_SK_VVH:Z\Z)H>MI^:2V %-DBE M>4_.K8]?DLY[?U=@ M%')\:$$[\.$KF)*[X\-W9O06765%;F\F9PF#)+'J_HZZP&C5T(.4L3B".#.' ML39UH\5!C<*CZ$+&Y[)@$Y%R(+TK[K+")]-)&OKSXW,\]Y-U\>7N[1JMUK:[ M ?C-0H1@NS/0:?&&=MB9>"DZ#"?[%Q8OO,\SE)G?TC7\/&4,7HL,81G'0ZA3 MAS4$OKL2;H%O0)O/:)XV<65"[Y?XD:I;TXY75\>G)^?C$8#&1=0+1[ M.:.!>7-C8V=H5G!M+$>-[ MYVC^YDIS]JSVP6&:.3R\,0Y68FV-9I A>/.S% M&F@S-;8"#=\@[9P;&B.Y]@;Q5/_0DC**^B'4469&UJ8M2-77\X%5J\ D5E/F'5G' K M?%&IY?4C1361&PHKD\F)W87KQ$'A<,%HY=7C1'T73$A6AH&0[8*E^\]TN?(% MU8-5")0\J)PBJN52D61IKA/VF6FQ<^64@X]3_06X<8FF&&PI81^@ ^XQ5#:S?*B7*+S1<)6DM]M<<(_HK*T8,?W!TQ:HJK\LH'4<.]YP7 N@U0=!8& MNE:X'>$]@9_A3W1'BZ=R5B5G_9,SV:E"*S"@ 9'5RBC5%'_"! 0(FM0E\FT! MO7C %NLPAWD.C/4$N28 EDF&>Y*?Q+"S2Q04*G#7UXHI]:1N*&54 M8PX&94&O2$C*^E71\IY =2VXT8C0K::$DA;"QQI?;UP'$]D+-RFCSS[$7OTN MMJR*GU+:J!:,:U$5#>6=:F<.5"=A3"KTD4*L3!FM>%(NF5H9I1K+Q^ ;6%-6 M$HLZ-,U@%80!8+=@#DU("X4IKZ@5/2J*VVIF*:4R 9%LLJ$1+<@T6Y1@=NA8 MJ:^GP7IM0_RU6%S;<=&-"]P9A8YZ/=)K4C3;[_";L.?_-]/(MO-AF%SZEVW_ M.Q,FUV2>HG2,U.7QQ&W?&(\)L!<=94# MG!^IHFE&58G50CU_2P 3:%IQY;!MZ&46DI>ZC:;(D+R9X8>*N6!)#?7QK>E] M,055.3@MIP?\2#&?:U=#?91+@.*94[&E5:'"9994!40"'+'ABHK5[:B?IP-@I=E^+"RF%@9@Z]S;L^40[# :SGVXY M!MM"V8Y>]$\N3SN. 5NT5N<(7.9K>P3@*W 7R%@OH6G8E,&'6E89V&J/06(B M,H*>9 Q%4[#8[SIU***6509+<3CVH!224"U/?_0X&C*=^ET!M? 2TGG>HB,Z(.9:_2E K% M7+'AK*T<#ZI#68$6G;'T19*,?@2&/7._(H!'/S1;&LY5_];8>+%LS(&A?#>#^'+RJR&I=X48APE- S--XOEVI"W><]T4NH@)?S:QF+A6( M ZY%AAI":WE%6D[TW3LQX!TV4E7T84ME:5L]2RGKH$$^Y.$KHI\SH936CQPB M@C9T-%(Q7MBV^Y.%(H,K"K*F1*QN^Z%16MA.O,Q MYG2 *(T-,$W.?-094VYC$>+@;=$!)7^?B60$\8B&_' +:.:$(9G MRZ.>>]2X%6I99< 40J(00$[AV@W@B_NRZPH]C(]25$5$.%6[MW8L(J#\0/)G MPUG0S.#V-V7 :]7Y5!J5S%!7 H_98\0@>N@A45A&-CD?Z]RUB4RJ'6H5&*37XH"2\IJZ8,@@V,/;5D;G7' M4'A HSF"T0V2,X!6WMWN*$0JCJK0)RRMU146L"'<]Q2KB=UJP(FL+<*B3 A# MSP/^$Z"M%;&J9!0WP#)?RK^(M0Y?*LO<:CB*K#LM;Y9D)+UWBK3Q (T7:).+ MOMDKC4)M:$NGVDK0,HZ%J0X!:[2MHQQ_Z@//9YO8&FAH)%M'V7Y] _G*7"' M5$;\MNXNOZ["J5PC'R3C4TE#0R(MM?-Y0Z[T=J[+BCWP*AD^,WM; ]($U/[J%EQ6HTT[AR@V;M?-(MZD7->(+:(2�?_T6/()N!91 M$PP>2;2A)M@-!H_(A%T(B2K!(Z4HJA@\H@@BG*JM$#S2,"JJ#-/A^@VY?)21 MU*39ARA#FX/:[P/J4N'DM[6E+]O7;NX!'S1M48]:[E_4UEFT'$8[VMU4\_H1 MF\VU%LC-TF2K<0*R%BBY-%:'MQ^DK*ZF5H,-5-H,+E1)I',(K'MG@L K=(,X M!97 NKE8PQ]<;4F'A[GI7(6%^0=[DTXP #)3A'6TFG'1#0U5SOK+VTK@)PP%J(+UDI#V.2"M40PA9"H MM&!=AF(C"];Y,9.^8DTKJR(FG,K=6[(6DE"M->M#'%GIN/&L)7.K\T&)UZ:U M=U)!7;*PD>:;F3%E?C?'6AJ,I].;+FRA]3S9(CML_)TPBD\+K2X#R8JGZ\QZ MIMY4;$ SK>:*56J5,H5#Y11LY_6BA=,]>,\KD^H$!K>Z6'G2[U\HNUC)&<0K M+*V:BU_UUR\5 %,8"]'U2Z4A;'+]4B*80DA46K\L0U')@%LU$.%4[=[JI8B M:BU>QCUG7O"5*:,,:,**SP]MY8*I!1;K12LLHQ-8W&]6W4Q6!]NOZ;+%$Y*P M76!FP%PZKNTN-K?A#'&&6RAP\IAEE0&F 4]/7%"."/NFKA KZE>A+U=26AG MQ+7-@90TI^YWP[&6P+;HIBU;0GT8^$T:AV3M*O\6>'_Y[IJN^TP!G51?+EBK M62HY,X;^[90#$16U[;61IH99@@ M\*%IV-?0];?FG;'*4U9)'ZRJB=KN-&AH&A9808,.4+:$/FAPR$4=C@XV DVQ M+@%YN[\"=X&,]9(PA^)%4,LJ@UE#SH28H(R=:AD^Q10L]KM.]2FH995!5!R. M/2B%))1_ <"3B_SE$-L9W%/J+0#Y0FKA):3S/5>03S2U%L!'CZ,A<_5[5T + MH#C%DC\Y'GK0F!@FB7ZAODRY,EE9SOK]3!!(1R#BEZQ5'T3-4PL2,6W 0ZDE M\V$NRI:3-^$.:[@H&G'T9MJ!!9T%"=''_[-FQAN%1Q5:Z@JUV+S(TZLI51PF M4T>[@9QW!D1_&'8 'H%!_B8FV1.+T3SI#_9C-$FKO;#97KK=S@1>;K6RDZHL M]))=18KQV';I>G-MV"1D>;H$P/^*W&"-ZO#L$?@3 ,3>,)'T<-=5%7!1!)AF$Q.\"%XH$*EPY$:BI,A>$ &1005!Z MM:;NA2/[,S #1&Y.8$[J>:JJB[\@:GSXM MAHM5SFKA',_GSA4A0:,#@J@&%$Z@6LCMO'S"HP.U#94I(HHKIZD04H6B-N/> M60>^%ZICP#=6Y&NH"WUEM!@,X)1?+;QO#&])0HKQ/Z,? 7PU;*(2QKA KZ N MVO7' D&I#Q>+56%!$<^'(5((XATT>)BP]I0RV \N@[8 M/!KH+^#?!8[%9D9Q8>4P;QRR/"L$-*$6WCLC6F!"[Z"#OX.&O8UCN#'"[GIE MNUIUFU6.0ZU,/!K43:M))Z2E:2I\,0N6@86_C-<5\\@%[)BQY-!4B6(@R##4-B;->/K@T/>F%*M1DR' \KPKMW M?#><.)P(S+B;>^A[9;<$K6J9:K\-/8X#?SP_^#N1>NK'2W$XM;::L$U63L"J MBMPFNVM_>& ]*@O4!796CS_XWZ0NM?3(F]->>P, \UD?M&];F:W&:1XH:N[> M><6-N&@C%BEWFH^4V[;4F=BXG>Q;.4I"XQ@UMBGQ3OJ7I_WCX\&9+,NU[>2S M\?,1OTP(OU7>$_!)E"EY 0!M*:N\HG(V1120O+FH*+26R<*WNOC317^1#+ N MMAIBU*'7U)D[@E)K.7?>*@,/Y=!; NNKZUIBY*'7U)D\@E)K>6'L5AGT.RS2 M172F TV\IF99KF_8=-S;]3:'IHD"8)$+&!T/")[..,O[G'%[O:3!SKB><<>3 M.0<$WDV ",G*TV*7U9-SNG:UMMT- ,_ )OG)\_VCR%-:3[DWG1NYS"'<2F)J MZ6/&J2/_-!">9ON;4)V&?6,;G@?)Q0-LOG#6SJKSLM^_..L@:^H(JZ6+&6L1 MZV6._>Q0H#M09F+8E?1@2@49M70CQ_X2(*H&*01A5]*#(!5DU')57Y0;FM.B M$B-JKW*G]J"#%1 ^M_B55'Z_M&)JH.Y\^RJBDQ-= -D1N]7 H/>>",0B M3MUY>#3HC9P\=8X/,_-Z<)W%#*#5+7CQQ295Y_F-']+8$6FM1YKKS$PIE)TW MV*BXL#IQ1J1_]P[N54"L'O/6TWQ)Y5YR 6WG7VM> 15.L?2'@2#I]S,>7ABG MYO>+*8DC#Q1Y$+E$ZPB"S*PG^8+*H(+@*>UQRDV:FE-*( M,51?M(A4+IA:@&5-#,-8Y@LJ!UMU<\DIG,(9I+(2D'M$F&:35EQQ3 7,IY"$ M[5XC] Q>7?L5( (=_5J:?"G%P2C1Z0X2$?':1>+!-9SC_N"*<65MID2FBUA9 M_8O+[B+ (9K\&Q2>R6XBY3Z@[6^*P\(S\I3+H]C5@6%GJ9=:I'Y5!IQR%1? M4?YR2+RLYQ$Z:@;5;6V$DG60B?P8\ XAY. N0%!O85W6T*E!OW%>"/OC>>D_6'HB67VHUJ M0IP6E=%J=A?ANUTX$&78HQ77A$B5Q(QY<5&3%Z\ O;@%S#B7M@?NF@!8'KG),M$!T:.7 MS&GIIRW8]33C2C5Y8])7W&PZ=D9O/G06 ?26J]BT4JU* M:3W-*%--WI@R5RW9&6EYULGA^?$\CKL=HV>X6/JC-SP)Q8/V!+N08/NC%__J MT5:'*K6E&;F:TT&R_MAOB7&R?)[TPBS'LK5F_"@5+8&]Y:. [8:VDQL%_,W0 ML9X UA4N (B]G0 T76+]B@6[7^2#W:/F>X9C]? #>M$3>K^09_RMMP:H%SZF M_2!XRAR4+3TER%V@YG=9\6&%QHT5YTZOD.7^L;R#G()ZY[3X=!D;VE:RHS=; M'1JP+I:CE5>&!!6QY"0#551=N<",&F74Z 8?J'!RTH$AJTQ"4 :SQ%F=N9, MF4L\1MZXJY7K3'W7_(L> LE1K1MH,]#:6P*M*K)Z5H KCFR;EWYJ L? 'B8E MX+*P7#>PY['\8B(V% QP<*QCN;XYWAJ88:Z]0AO/+*L,YF*0[4$M))W"]GST MMH;D3I][!Y>Y*#?D1>750E0(&8KMYI:R*\A>"B)[^2Z094FIGHENQBE_*(DH M9E=2AA#M3M78\K80?"5I>I*4O1F,%542\NU)2[U?!?67LX MA0H=![Y'LOG@059DB$E5RRKP!"OPM,/$J25UJW&^2M%&WF:SU@2KI(J&XH<; MVW(N&;ZV*VY+P_\3VG;HX^_O17'4T(L6504^3'ROS(WGH>/#6V@'/GP%4W*I M<9C95W0[.I?0FG,[^JA'GG]DQ1WH>=L>Z+M3+>N$C.K=RF(_> M3#O \)*P0>S!K8.(>./YR$ .'I.WDK!VMYM]2/:=/)67J$,0W_QX= "]J+=G M(DS1FKJYWA0WP-B';_&)RI#W@!S,$__0"M;V+2A-/55633D^'IH:O.0L49G" MVQQM!R0H2YH2R.I&):B+_#CL@RCPY;6TQ+VBV!KL?CUOS[Z&PGYSH.\]3[\Q MDXDRZ^C&C^I"Z[(!5G,T+MM*;:IYY8C71:^:KZR.CAR@WH=_XUT;9R M7&Z55HVSF*'$P^PXM[MN&PY U]A+L8@6@..%[15_&]\;*+9L>YD_112V?A0V MWTNWO_WI)?S)3/\$HF=WYWZ-K<#A3O56D/C>[1O7\[V07Z&LR7T]9?=PU&J4 M<'A[@\3@XA+_1_HB<7(=^10@0M%HRKW/NZ$==B9\/9^!Z2X<$@0R":^1"67F M6RMN\%G*V=06F,%:7FY;E0K?;1&MR6^CF!]B$1FKOXP:6>'/^EC]JOB9;4.< MIY>HGKI'$N;**K..SZ>SF"D>N7%>P9"!1$ K# M):5:"#YC36,M+8>.=0M>@>VNB?BQEUNV:E564TN4J\K=ZLT$XNXGL'&CBZ_ M 2O7C 8;'!0]DGV^1?@B>=>;79EXEA5J9J<>QYK8AE.ZS][&HY0C;#EI M"LS.H12CX#YLT;X1%B;\(]YV9-U0Q5E9.9H<#/*]G=QZ&M,@1JB98:1LTZ[A MIZA'7XG#\B%TJV5F_%@G^-4O5%GLW=+<1*[*RA'U$&0I\!RK*TO+FV*X4'AR MG5<\.H%HA/-FKD]2R>]^)T@\N?X_@+_#*#UNU3'%=9^=A?)J[?"T7J;USL1TL#2TE;8DA$.HC>_24D4#SP-@O 9D+==9/ "# MA/UX)H(ALTMDY*RMG/D2QB9OB^J(WH(W*V?JA(!!3+MACSRRPS!!+M8']:I, M6G'EZ%$'VX)ICXC8:N6V:='(D%M$2 23(VI?LA4UYTY%!6B9$2>K!>+&45B3 M+Z@Y2S@%5BOA#6WGP]T8MK])K_FSDB0PBBL'>@VOHY*LT@]>E.26F1B(!.C_ M"?UE@6A%://55 ;X2JCM@5Y#Y&;WI5I[U1^@\4+N#L?2W04^?@7B^S3CG['IU9UHLN)V%LLJ@-"Q2+X$A I2*1"O*B)B-*(9K!L M:),NQ#PX6*]1Y3C8"H'R/&U!:UI.W$OT]&CX&$MGD?D=(!.0:Q[#'ZNQMKS= M#^(VJ3@MA_WJJFJ5S :$-H4'_8(T -L&>R!LL3,;P?NJ*)D3THI+ MV][=ZQ#S^'Q!4>5,!$O!^?&'6R0-(KCW964?;Z*45AUO.H+EX+-$U!-_]K$C M6GGE.< "DHL&##GU(P+[;&M1V:QB+K%BSI4C /"4@HPI-0 _NO PPZNYPW- M'P'TPDA&QCA *:T\!03& 1$1-3BY6B0N^8@ >SPHK:<<)T2 Y:-%N;P*'A6= M8?\7#'$G-CXTO:^KER7]9"BM;">P+4=G;ZXO)*VB,9E<=P<_DUUCRMW0V]^4 MP[B"32\7J*$UP@8M.#^"A>_MWJ_*H%@.10%LG7*]N("+EP6IT&5^5P\\1K^R M\)7+H1Z =:=.#R7'V6G%E8&Y^544MHPM+'ZKXD/'^U+& H0WE(:W7.-^ L_W M8L>$=JEOM<94YQ";"%SN=E4M:!EID>CGQEV]0"<^J.AXT HCNUT'^[*.%TE' M.Y(JTD16L5?RKV-LB%Z59=2O&H% M([1JA:(X4#_S0B6QQK2S?A5:THU63:G@,"$%-5>A*))]6Y.%FR4$KV'$QGA^ M Y!O0.<1VGB<=[%ZHJ/W18M5-9O4A4ZMZ>(PEQ'+MV IES.=))_?<%$:T(5@ M#4D>T^E<0N33W[]$2,:10O_Q_P%02P,$% @ 23L)55+:[HB%UP$ &T\7 M !4 !M87-S+3(P,C(P-C,P>#$P<2YH=&WLO6=SZLK6(/Q]JM[_H-GWF;GG M5%G>2@C8)TP)$,'D(-(7E4(#0D("!4#\^K=;!(/!WL8F")M3]WJ#:'58>:U> MO?KO_SS_\U^AD<9C__U___XO#/X7_,&P MO_\WCF-:.U$K8*JE>"-@NIAB \D%*C;3W,$OK&&-QY*)%8%M:X:!)6Q-[8/5 M*_%']C%&LM%'BHHR#(;C_VYWFY +!G+I> [ M=%R.Q50:IWL2P!F:BN QAHSA(*Z2<4(B:;H'MGJ"__P]<"%T(81-YY?GX'U) M&O_S8^"ZXU\_?_8D1WZT[/[/U0]H)21.D#A-_EB]8FBFOFD_F\T>Y[)M!.]0 M!$'_1#_+$&+KYG-'VVD]H]=MR9_M8J&N#,!(PC73<253>7X+]JFZFQ>WAXC\ M7/ZX;JK-7=P!RLX@\/MCWYK^U$PX'8#@]M.U)=/I6?9(\=V]\$&'QX F39_#6 DO37'=7,;]%X% M,/L3_KINZ+GVJPWC/^&OV^#4WD#:2_"K0-N%_1J@\(=@?1-FLS;'8B@R^E;G MRQ:K%PX1 QF/QW_.$5EN)KQ'93M-T:_/!/8!^H)$_?P^ I/[[]PBX$J98I@LETS\_7#!W?R[7BU[&P<33IO_\6/V.N_X8 MSO3GOW^[FFN ?__^N?YWV9=LJ?Z_?ZO:%'-$G'[*=K-]0HM7:(KC(DG8[Q?X2!HG%^F9L EVAY<0["B M^;(/SA'+/9$5:4)$O"3.Y[,^KGF2R[?BBB(7AM&![L >3&D$Y[L20+^2UFBD MN4B@.YRI)F%_4 E 9: !YP>FJ?_\R 93%UV[-YYT%3K#4UV=11Z+R H47%#Y K7N6HK>E S4[=;:##&9YU0R11/E&5T'11Q(@]*5 MUG8T G^WN*Y22ZF D4;20:4L]3+=?.2;4)2=2K KJ,)I33#@X;0SMHG1"X[ M4\!L9JVL,]61$,GY3'7*=?%UKM@/Z9^$>%VVKU=:$2:V;IT4*0\%%G MX><[?5#JGYCIB9>+;@&M/X"KY*#C(L$!O9$,[')OM?8 #D[9TJVA&(?,0),,23,T>06 '"T%3@H0@ZIIA&)V2<)7&J1+ MFD6K/X#<045I.L+2QTJ(3P'DHV+AI #IUL18TUBDBCJ[X.KF@,H.B F'*(0F MJ4CDHBSS43EQ4H#$FW67[128%M^JCF=,FXX359\+*"0 R6L @8, 6U/>--U6 M\Q-K8 I,#]2@KZ0A@0;E6>#Y0)>I+!M:/P '/Q\#!4ZWH8U@DW*O#I\ZO>6@ M$,RVFY)G)P!S\VYFZ&_ M)?_68HUZ&1\J$C&*+X;1.._VHHW^1> WZR6=2*4[Y/66..]2_5B122(]^7OX MO=^1O1@TF0":'&\W\;$8HX5629W)LTAFQL9G%X%FD6@F:(5N>7J>)DMLO)K. M10=;SO8G07E!PEPRMBBU&WBSDC;UY BD^L)$L&OD94"9Y^U9OJO@K)"9)M5> MB8IE2^[KH#RAF?+N6,6S89(KI0_%GA"8+45?VB$YQ_%>N#!#KY_I-6L)@RAS M6M&HM5V=:04V&1&-$@1SC GR06MS.6D5:+]XT]51[XR^DV M%#&:4(1J.J\X?-ZI@TYE,6+'3U61$DGH<1$$&8E$J&C\")'[Z?DF/=N&DTUK MCB(9'2#9O*DB@MY,F=&CAC(L]OHZ.TL,ROE,@Z%[?9%&4\9QDL*?W:)+S#>U MVD![GG :/G$VTTW;\^ABKCX-=-!N)&?U18SN:E7D34&;% YQO;DNV7-WMA&" M2W<)WVOIN,O5(G0_.TQ/JV($S;9ZT;ER<*)J,%E#ZF_FUZM,AUU5J^LZJ.1+ M96"6AL-1%78,Y]>#/ L^*$?>"G^>U-?!Z9<2)2UI=A "+0+)\6R UMS2W(%@ M6K(#[*DD&R!GCJ&[4P-P*HIF:,$4X#?(*E#H)B1'JJF% %=HK7[8)9CIE" M]7L1V;N!12E#VQ+8A2M0O?A3E^B*";0;],TIZS4^C+?UFC3P,P*1]-LI24WP M1MW]9O+K_=":]@H6-6V;$7W2?C)RFM@5GVJ?H:TQG*;89V)FV\1'-E].9,U6 M!:NSM)N*S , WDLN;H"3\!3&4PDFP]<#3E%L3PS@ 30 L@4 M 8H)OM53PQ^#G4Z2GN-:T"K8:[OJ:QZW8U:%9A=Z><%EA[,F%VO/#V_H(W-13HYW2WR<''.>3OA8;SU:3A;@R>LH)(-.D*2EKR",^<$PC-$F2K\;&P[;@ MW?R!M]<G/",&+AQR.62T81R-".]N/"NRDFE!: M=5RVO,.K_;F;R!0, AD=./_^C1+&?CE!+AA3N?QNT.3ER^ON'-!',UY^5>%@\[&A*9J[G!JF M:O#7()=W0P)OKO+'OP<$P;*OOW\>'.+?]=PV,_EY:-GC($"PF?4ZM/CO,F63 MP0ERT\_FMPW\U*VF+$X3ST,L?UE_7P_R2Q'4^RF".CU%0)*(/-NYS]_VB")I0/55[@40^0U!;-[U9$=3 M-=2&RJIN:J%"=(C:CKY_,B M;49FH:>JEV#Z"$6]?]37 /SCW\#,?Q/"9Q1Q)/Q?Y'TB;J?I*0B:$J%(@UT3 M*\=M_>V\!+UN49X"FS,,*TB[+H_1E%9]%.8JD1]6_:HN5>QR4]!G-5RZT_-[ MZ7G=Y%4 GXV<";19AC:@?D_.+YJ>@)P/IU=^5F-[0V[ 5)\44J Z)1_/FU9) M6H2?%D.DL=]KU5.GLNI?RRIY'PG4@"MI)E#7F<4K.JAE!@Y%\I:A9^+#MC%] M:ABQ=O_&Z>#P6D])#,MS7^X!_*Y_N31^.575D+R0C(JDJ3DS*8TU5S)6:&:4 M1',9$890']7%Z5K,RVJVC^.YVL(LQ.C^Z,[2*^P M,\_(]IXJ7ZN'U6W5INGFIJ MK5[GNBT=.,T$,#NCU,RZ=:%])6X^#[9K4;>YR'-/3:%.)Z5J4N^4JD;('(T3 M+WYCAQ[8T?F(++,LSR03#3*F2X3CC(E2(C>KWCJ17U26$6=R-(Y%\-O"K#!J MT!P?M5($J-':2"[)SH"Z]>#8-839B=%]NDTM2VY-6XX^S^OY:+:]B)%"RI%N MW?@\ZZ96^"+;^UAM95/=.#?VHWJFVN;HEFO6Y,&MVYH7Q&HH@GS[:'6U<8IO M9U6&S^=R62I2)+K1V*VKW4NA-22QGGVLJFI)JI6CDP[AC[51(5\1&XV;WT^^ M'%9#X?/O8W6N>+$)W7,'.FA96;*ZL"79OXO@VW)_#B1R5UH+U^E'VL*HS=J< ME1F#Y.#.K-=Q>D*4>#N3"YUH6JT[_$1-)3L5MMF.-<.OFL.2J'C9Q-M=JV [ ME_;TCMEU"QA=A?[082[U=3(X+43@$L_3\:-JH7X0D3 X$0U2%\\[TH;$MP 8 M,AB;O-/W[PYO.K8K%J6A9:^+.CG/Y%H92! V"O!<39&, MA&:Y0!F8EF'U_55T#KU=L2W54]RRO;JV;^O]Y2^(>4BH8WMV10W;+F&AVZK*:"* MUZ"Q(II=<-QI\WRT^98\S5A38)MHJ9SG#BP;+O)3].ED5G"CBZ:XT_19[3IU)OL*CX.)'7/3]O&"I/NJ'; MNGN/^-R!QITRKR,].452P4B3/D633V1A/B>G("[4GU*5XJQ*,XE:Z-(RWQ29 MNW"X4^-YJ?$@B6TR&W;E75=/DZW2*"V,2KE:G2PU]=UC/:G]=UQ_D:Y^C7DF6[ M RZXB&9M:Q0;>*SC*)4%D6\4\5Z9R-4*V5 &K-[ ._IY?VUWW&_CGG,TJ2(I M$ '*"O7]1#XO@/[$$B1A1&>(^KVE?4W,'[Z[XAI1;M]M"I&A468( MCR@EBNQ,U!J54)H']RCWD66/+T*SEXIRE_JV.,BWIDD]7TK4\9S/SA+#T!DU MWSO*'3;:O&24>Y LN74]I3*Z1S\IIMCU&Y8;.OJ\1[G#1J,7BG(SV<(BDHI: M=4*JZ\4R(++>A R=@?BMH]QAH\RS1[G'\52I"!@2\!+>M&)B;,0U9J';>?FF M4>XP4N,146Z1CHPU;L$6"&^66\S)]B#9I4))6R&)CW'AA5IEG2;'" M V;*&1EKF--CH71C0Q+E#B.^CXIRQ[.Q1I?.=V="N=ZLXWBU$I>^7CW+?'N[WH]SMZ708UV>)D=": MXDU?K EIU@RE4@]3E/MZF#]\O>8UHMR*R?&ICEFD""^K59-NFS5'_&U%9[Y/ ME/NJ%X >IMF+1;G'O5XQ,FY)0B93>I(K(Y(X1DX$X MKZ47^J0-ZEI'Z?2G>"@U\#>.01B\5Y9:@A]@6^"=A-&[(5C6::*NUT)'G M]XURAY RSQ[E[LJJN0)O-OT6J+8GX[#=_?W=XQRAY0:CXAR%RM^U[-) M9JBWJ!+WU$A[1:"$,A82ABCW+>+[191[H-C9#)25I1FX0WY>) M#Y6%>*66S+"&;@(1Y3[YG#^2I2[4G/=B9GK\\2$ M= MB B<;L\RMX?W"4>Z;Q/U^E%O 2^1@VIDH.EL82WZWE)"S^BVB_G)1[JMB MG@Q-E%L?6_EXOM4KZ$ N2K7DY$G)AR]']A[E7A/B>W=F+D6SEXIRDP;%]3K1 MEJN/*#O.5*M34 S?:97O'>4.&VU>,LK=2U?<452//?&@,Z4<<6J5F%KHZ/,> MY0X;C5XHRMV..YJOE'(1 O2'Q=*P+T]BQ7N4^TZ9'Y.>)XER#_!HC-?I05+ M8SVF,RJ/4F[X+JO^IE'N,%+C$5%N3N$GC53#\01?2XT*GLAZIA)*MR8D4>Z; MP_=NE'N ^YR0R0]THC6(4)0N=V33#%T23(BBW&'$]U%1;M]R>TF@CT9Z66QF MQWT_71:BH<1X:*+U2EG'9URCHI?T3*5Q:WB_?)3[]G"_ M'^4>,Z5.7(\V15X#D;SIV@[[=',L?_$H]_4PSQ[$?#Z2'B089C+BM0D[2CS- M!2*>/3L6/P X]GHL0XD4M;Q]$H)NZ]MY+RUGO! M1-RT.EV$SD4+[1V%ZR8;@)Z-SX-[,BGJ/>3ZHND)R#4JDM'-<9WG+_BXFZNS M3H?1-74RT3-LP9Z>O[S%L9 +;@HAH^^!W(NF9ZOF==R-LS7@2IH)5%ZRT<4/ MSHIU:TR_K73-Q8(8C1BSK?D-L'!#IRR/O';V\%K/QE6AJ?>UOF3Z1+31QD7O MR6@-1CP>&=:?G$4]2UBAVZP(/6T<<4IN^V[JLV6.G(0VRBG!'9GFI$QD&%Z. MEFK#?.$I=)&S<--&:')+-M>8DZ(J)=OY_"29)@ =G5%& A]G*J'3QD?Y*SM7 M@Y\84T!VVO M[)2(/M_]I5LB\ /(HTNM5J+"DSE!HYD$,#Q:ML)W.BP\R'LAE$]PN1LMDMM2 MF7PG+@N69%($&5_AD>HI?;_3UWA>:YB]2JT^JUJ5T,K?5_&XNZIS2EH:)]\O M:I,5AN%+ M9@X=NL-3_>6#POZ XF8'M7G= :"KEUM&L3!7?(KS0DL*5U+<(1'ZSXA&^WXU MR>R#S2Y@43.UD3=ZL8=Q!"$82LVM,FGE-H<'C%=,D%0T[97 M;4V&W?@XE.+K#?2_MKHOC?_WYM&^R?WQK"XZM&2F"=PM+V:M>4>J]F\-_??: M,!_E?MF>BEUEH9>)I-4>RKS=S.+)6T/_Q;D_-+M^G\9_2V6UZ;C3S!)UKC>0 MI-@B,^B'+FP60OQ?/I(B6V"JW.NER?63>\1_"R-ENU/RC MZK[>B%>:3),'?#FKDC6P>"K5.J'+%;N^NM\-9IQEEY+X( H7BV1L2%52%N'; M:3S>E(5R)G%K+'M9%!*GVJM\N77U,0R*K-N$-QG4;5^ICOG-K1M=E M,7CB5(%/Z\U>N6[(<[(^$/+CE-^F2M6I+-P:$UY";UXDW>-C;&BG_#X^Z<6 M[CWEYSP5GR6+^;LN?%L7GE20OAN%K_)AFB](^9DI#G2@2AX9S3"L8]]:\/+" M?'CZS)W7 Y*OE958/RJ;:VY\/LYD0FBXRYYKFJ,G_ 0PE<%(LG?/+M7 %)@> M2-O6: VVEN8.UCW_OMM-[L&FS>K5O;:KOE)SW=/Q;(J>'VY:C:9 MFI+OW*W;N]:\Q8W1%Y&%WS%J8V:%6FWVXJ-T?&HY V'4C/O#GIT ">\V+=H- MJ.]J\Q+L&(XSMD>R8]BMV)+T)/5ZJE CV)%CJ*DBGM7N@: [.]X*.WYA*S;> MK1?]#MW(\E*\2 S)DM]L$:'<6PTG:]ZMV.ND=[UV*'95X*PEV;9DNF6[IO4' M6P=85L^=AE7Q;&4@.6"_'-QXWDZTB=*,U=E80N*,;D\ M8\4WMW]]0F2KY5:^ ?B8(.21>.FX:B'#AB[ %GYDGVNGFQ!KPC23D31;YC-] MI5^8$%8[6@Y#>9Y+)$QM*%UR!FB_&_Z#*L],)0.\K*]3M$S@%Z&" F[:,U7G MA;&0AB!L2H8'$O[F8Q8N58)TXA>@%MNM)[UIDS/'GNL$#5X>^=OJL@@DQ[.# MRCAI&TP\J"S]P_UMM43VK&?;FME?=:PK"EQ7VTGI4KF4,L8:E0MQ+8K7IK$9E?(_A8J';=PD93WTG,GZ.I$HIKEUE MHZ4(+Q&%N5G+X:59]^R&R;&+/ZFJC8GT3I M:"B<]QS=:-B2 CA3,GQ74YS,2!Z\>!N5WP_(R>6G\,]>:/C%[ZNW92E'CUL3 MHJ-3ZF(Q[N8B^>P@=&KQ4'F6;1!^GD%?@?TJT/(:\#\_[BM8V[KX[!#:SF=K MQG""_CP#O+.N_\<(OMX8-AJ=GMDC6J-HG&E-:N.H'-H8WHD)ZP2I8F%+L/X< M-93RY7R+:RJ4+A&97IZ/THR/ATZ A9<:KG12>Z,GA:,7OWWO MSOEKT,)IJ9KAN=H4U)'_ 8D../Q<,3P5J,M-\!'T^8.^RKUU^?L*L.L#R8:^ MSN$.7N1 [!=ZK=6%%8=F(ZU!.MDK#GBVF<@N4IV8'&^$ED//"*_M%(0W /:E M-$4(J/3=&\N+2+F2R=C8+LZRA?!55[T(H5YC:_I.JRM:7=7&?C/A MI9T4,HS=)PB<;(&(DFS6%]PW)M7?@^Q+4^HK=V>%0JJ6K3;YQ'Y!ND6(KFIR%-I+^+MIYQ[+O%'.8 M8I*6XY9[Z.[NM6Q)V97N.)'DBD29M@DAK>]T--K MH;Y*%;I).](D1GU'?R)K4R21P3,,G4J6 M\7'VMFGGREKHEBEF7PN5N;G:U4+8JI!\WDN/:I59_9T MHMVVE+FF%KIQBMG70O/BW$\6Y^F83HU<<>86C7;UZ;9ER^6T4&@*'UU""Q65 M[G3.)$=3@IW1SH(V,\;4O&U*"8T6"NL.Q*FT$"=E9^VVFRGI>%%+5W.-2EDE M;IMVKJR%;IEB]K50@< )F2^T$WRY,AQ$,\Y"X?W;IH^+:J&P[@MM8(1.)KD^ MVGRS3/#R?!>GJD':IV14)$W-F4EIK+F2L:*-(>?&Z"QAB7S967 1M3X;:%1H MXRAOKGBK%M9;2_Z:L=O#E#)A2YV:+')S JA2&?>2,S!2PG" *CR VPX^T:OS MDZ=EL0J=KN;U7J%/:.VGDM&W^OK<"^TF?]A9[(C %'V6:F\O*(6L&97:K&;4 M>;P9RJP)P"A;C,G.FFQNP&I%O#Z.+ M:).L$_;=4#R_2W$>+?:"4F)/3ZDY*25(H2S[G2&=7 Q2\[,+T%L W*'+#3?4 ME0%6WY;& TV1=JO5\$6>>W':,%SEEJTRT_*G<[M"E".]1K[=]*O1<%Y2_2JP MG]GX&=JO\NR[)<>]XO(^$UZT/EJHV&13V48S)5/1S/[S:"BO&:ZU(CENRMOM M]5!KJ(@DHV%E; #)V6X,)#-.I"3?6;V_&L\!4;)-Y@8ZD>=B=='HMK+Q16A# M=5^>5]X]BW?1QU:QGH\2R&UP]58AJGS9U*+E##T2*"U3HH@I,:@/PF!8G/7R MSM%__2MWP9#"]?BW \=COE\D1 MS>*Z(4P:"9T6!_8D$SZW*V38O^X.'D1_Y/F6EN=O.2KJ#T>+KBQ(0ANRLBY7 MTTSH@O%0&,+_1=X'NYVF9[VD\7C..5! 33.W"J@Q?9!+9EOM)I%G>F.2-&+N MI/75.>M=X[TLFK8-MB\ML<]%=SN%^XA"8^J+XI3B\_U.B]6ZW7Z^>:>[CQ;K M^Z)TMXEZU*'#(L&.]\_ \_.QAFI[YDSX5NRE\_OY:R\:V:0S=8?1-*\522]2 MLEPI/PB=+[H3(MH&UHO3[X>@=0+O,UR7;7Q%RHZ>GK*Y6K,Y[6::8[W>[!:B MK0K'5NBO0=G1.V5?T+M[<0=C"(3V,*8(?;,UGO 464AFBM/"1 A?18F[T [] M?8:?).TS2&V\,5>ZI.;QQ(CK9669\KH+X2ZU[Z1]Q"[3?#[KXYHGN7PKKBAR M81@=Z$[(PM$G"\:_,XTXQ#>/*@*Q(*M"KJVW]%C<5>:J6,F$CN6/WPZ[WP@: MCG3I5U(20\P15"M1CLSE#,=/"JTXJ7H@#^0[1WP)C@A-!N%-<40A(9&E>+,W MT\OU5#TV*244/GP7Q]\YXO8V\@YR!#W2%\5Z'T_S6JGDMVLT;]KGOTCDM@!' M;/N1FR^YNBQQB?;$%/QL*TNZEL^Z5!CW/XGW>RG;34\ NV((SGBZAL&G^6(B^0[S^-VS*K0[$(O+[CL M<-;D8NWY%S"F;S3_^"O0_"B0LOF,P-.E,MM,$UJ7X +[JH@ MG!ML(=4%!*7:Y%M3GITFBT/>R'^!4.,WU077VWZC41;T#J&G@.SF3,>U M/;269R\6"BC+F (;-5X??\CTQ$E=*N:)_"R2CN9(T1E'0RN+]Q>V1TWCY,DNXXZ)S"IU*UID3?DI.19PV5"DK.B7S-K9(P%'[YQ";Y8YX<[I M8=L]WO ;&:MK#/5D1#'*'9*-B=W0%22XE/'GF=H2:NA6090H8JJ2K8H.NO/% M$>M")=;,TJ.%(.&CSL+/=_J@],R_H^5M]?^NYAB\LQYG_=OZ.QKH-X..87NQ MS\3,MHF/;+Z9/?JBVZ[CJ0/NN7 M/C&NYH*1&!6K6LHM"2F]+LW=EI'L49G7QD0O?&*\IN4"T8EIZ7:DL"CK?L9J M>1V?])+Z/O$$XZ$7/C&>,^FYXKRO1%D !C0!/+I/,[%VN1'?'\]S[5^H_?'# MI;0I9.F :E;\T4K74M%BEJ_S6J61;Q"5G*4.GXE'#5[8[JP$50N43I;]0?K: M>Q\]3 '3&FGFH6[?RYD[7?S LOPZ I 8B#K[P[]_P M#^:XO@$EY4B:XS--=0>_2(+X/W^-)575S#YN@)[[*_(8BST_LE&FT_J9M0S^ MPF&,H-;H7S]>]&KW-1-WK?$OFAB[?VV- !N.U\UZ4,[A/6FD&?ZO_S:@LG>P M$IAA-6LDF?]]6#Z!_SI0.O;^^U?0VM$6 '8$^UR.\0M^Q-#_Z=4'-("$#6S0 M^^?'?QKE)/SJC"5S9\C@\R_3LD>2L>QV!H+5K1[]^+>!K%;,ZF'(C8,* 2(& M]0(!*,'_CP\ 4C& 9/^2+7?PUTN8[@$+8A$?+$<"91( MO\BM1P@=Z#O2+;AD:'WS%S*0@;U\HIE(%R* _B5;-B27YS[FF&,9FHK]APC^ M6_\>X/<1 7[WYV?4_'40_,%DX8_;H)#91XA%1^+ GT.L"0#R#Y("A^_"N4<@T^A=4;7(.O__U3OB8.CYAV MG4\*M5PCQ]CU7+H5P+0<9[<>_+:Z>S94RC7+I M 4L])A\QBH@P\X)KN@R=;TN^1C(/1 0FYJS"V)B-+BMZW M+<]4<<4R+/O76N:L>T3R;J\[)*B(1Q8.M>R8BCS"GI=2# I]$VS@B$F>:Z$Q MEP)^^??SR&0_C+__0_)$G\%&(,:'JXB,#PT!5NY#S6D C_F:&&F MA-PH%6B_4I82N-HHSO(CD$0ER;9%0T@M%#G>L@R=/_YH<%I.T"!@+(,63(,RY6M^8_SL%S5 MDVPH)@R_!L:6[6YQG]?(/ FL9W7UEB8)94\EAERP?[)GD*PA5 =]"V!"#JO[ M(XCD_P:F1CS*L,^FQ@&>_.FJVSB\&B[>HM6JP-4:?*W0P6I\I5QK8!6A5A>X M4@-KE#&HL1M0+2]%)4ECY1I&1OY0_UP^**>Q1I;'MM3Z1J5SR08&?R;C-+-A M@0 :/Q%9_PRX(41:/GI8R:*7,;$M*B\)T9BWD.BQH$%BP#6QF1_$JTE5W?-I/$:/1&/@LD:?/=:W"+Q<^PY">,NG#Y<4;MB2N=3N>V*XIB:> M&E+O*:UK8BHZ+_F.TV_//B*&F9")X5>P\1:9-FI18=>-0=MW6)I#:HL*,YDJ)*P MG=B/Q4V.3MUU4 _N&/-=$OPERT*:U?U?)F+"0+1HE>EFB_QO=$"=B M6(IOYI)\?B[^/C7W!S^7%#> %]HZL3=PPB0'<\9 0?OL M*J:9F.8ZF#((?)(_3QER/,0[\9OAG56@GXK0!(C$@"C3=$QD(G),E)6X(I)D MCY4)69+9N+H*]"_?:"CBV(V8M11!] G);_<[$2Y5&(QFD,R)ERWMF9Y?)!NZ M1[1$GP&-*E44AGW$$B];UBRKF\#[K*^/W*=%;CJ,\KE45:3W^VSE&:/SI.$S M':^UBV):Z58C9@#KU8/ECF;P9&??85'G)J="67G:J4;4O$@%5'5#:\<-*.P4Y6Z5(K6\)G#;KH)(JEB1QGS:;X_U.M'TI%ESIJ8+,X@D\B@D,1&I.R1IJH&"+$P.IP-L171_T#RP]M4=!V07!X (1)[X513G*K:Z%SR M\I^"9@)RRS&K)/"4VF\^%7@\KB9;.)ARZW]_#A4(A*X@DX<>RW;!FYA986#/>L/,]C9LEV!-BY49=L.O&5G55>F8KX^Z2@L;4_'-5]\)43TREJ*W">!@;U3 M@2Y%R9WGG0HD05#9:I^$/>1\[K<78IG ])?%^3 M= 5B%,T9VY!9M+%D8& .% _%..!C:- Y^O;?)"Z,$1>AVRVT^8"O#>_--1I ML>_GK^=8*IH\&?W+P5Q@@/' ,@%F!J[F P8)S_ 0@6#0C9>@*%'!+^R/<^L, MI#(Y.-ZS6 ET!&@D^4;$&8P$CY_F>ZVI;M+5XW1$+!+]I)+X\^P:LV!!OJT@ M-.QMI*B=)ZL>*U8]@LUIK0I0YF5=/LYLH"(,3D:(UR7K/1GP+,F [^?A.I3Q M-EP&'&(9QP"NB[%@9;H%6N=O2I/^357C[4%6BOFU/<7Z',S/]T M(CY@ 4T3T%[N,4 6&8F@Q9A,1<4H$:')2(^DJ>A>+%W&V>)\R#H-GBHM7+4D M/$EYGEO%,G=:)AG:[IOR4$WC@OL__C84,(PXE'*K+.%'N,GNJ0 MT =D04-SEX>A@*0,, 55P%[90(/3H&:#!SKD>& ?X\P5\6!+@16TS!W[ ]G= M9\$">6PV%H-0R&WGLJSUGZF MDF-+^/KG?[#5D\\ MF.WR'@(LN(C@ 1M+-C:5# ]@_T,\$@2)$A*QX SR$8FH;Q)/"&7YEZ24E598 M*H4-F2@*255*^8HG@'YL2)?\?LO4JZLTC[?(I,C5ZZ5)J]1V%MO+D&2,2Q9,I:?T2DUM!-S:+?LNX3E5@2V.JCQGGG& M@A]SIHHVHP$F^Y@R (J.H4)>V&P @NP#Y,)O)?#]0:Z\^X'D8#W- "HF&09L M@4Y$H!#!Q--0@,"U,!FL&L".=V,$-$H6V,KZ7T4*MD(-:T)#T0/D<*"L?TSU MT#4^0=.Q#100V, DM>PC.*#D8'_ GB%;8(X'/11G8*',PG6.O3N0W)?KF4F[ MDT8S7KZ\6M*?#YADJM@?U-:Z9Q!E7SG$=O-^C[$W6?8*4EZM@TGMCR_@G2%*[F>L\7)B0A?%NL3G].3 M*NC1'2KBZL6#YPFW**@#G./8.+;%QKL0>/]YF?W>=@XQOG?@[;\EZPQ38L+# M[Y\+>MVL4SJJ>,-[ _T8_0OC**IQU4+=Z %V=T\]]HZ9'R=:(!]+F '?!YBD*%"T0":!'(=8S$;VPL&G&*1/_. / MS@C*)#B*O=;+D 5'FV'P,_G7NMEO&[P^OW5#9"*M&K\RUW5+S=P2G20EXQ2V,O^V M;;['6R?:U1:12D79N 0D,09Z49&),+08BQ"4V%-9-B[3:IQAV+U#%)U2V2WE MI[S@YV>+!D<.DD2O?^@(!RW%VI-XNJ_QR?3$(DO)=*QDVZ!J*B.K:](-7NLZR5C4B%$9IB]2^Z-3>-4P<_U< ME)CXM.6T\FRQW9[!EGNC%RVCP]:\@VTGMC6UNZ/ M]X4^F$>6>BO!Y;TQ%";Z2)X_L>N]U=I.DK'[O#B2?63I4T")_$T_X872*A[_ MDM"@Y7@Z6CN)&MU9?.&P>MFQ93Y3 .$(&KH,@VR%]@)I\6[7Y=(<%;?\"[10B31ZJ\Y->&2;.]! MT_5J(RW9.@#E^DK S6I%"7\Q%R6_831YR+(/Z"/DL:_XZG?I./? MG*Q^%3(M.# :W'D)DQ/SXEWRG%GR\(YQ]Z5S7("!YL]%#9?%-[>, M\HBS(&6W7NWQFIBP1J-22#\?H?Q"B8J6N6.AEC2>*^;8?FG9E+(2X[J="9@F$J= ME<9#LS_(AH=V;V!_D OVU3BO[SDNQBRK"#_LZR056U%Z.MCMAHH'W<03$/(Q M=W;ME%\VO9%JN2I0-.AF_< <: ["Q1*[;/*^.^2P52_./S]RI?2!_* @-3C( M#*X'$RQ[;J#WH +J'6Z=586Z[^^))W+S>X.7O=]G M=W6[:;B'[NQY;R[MFYL?UP;.!_'*G&;JJN:,#M=YUJWKK%;3H@)*ZP-\.PYX_/9USOEY'Y5[V,[,78G1$9F5IM7,?AKH"K]91Q9Y+J&Y2,I; #^?4#^!7/J54_'3\X(OF M:<0?J>A;P;0MAMKJVX+]]0QKMH;8^CN.SA3_6@K'&831;^72YG=)AMK6/#DHKM=QTG>RZ']'-MYOY%Q MI]_->SU[Y-UX>5M4_.[D[.72JHZN$%R1^N#8ZK;AY]:-(U?A:HU<.E?B2LD< M5\B5T&6<'+K=2(Q&6))F]DMAO>;BK>$%.UQ=_K#R6Z3;X._S@633%[;5V1&P MN:!H.(V/=4*12!I@O*@MR+AB1T&^'+1V@P@\!T%%B8GJ]FQS4F_U8 MY ?UOMJ'>]P+^MR*;#@OB#8=8]L]8YNNL:#OY;GL/P13\E3(0NJ?QT'S6TJ3 MN\"X-GY"P+S)1.2 M 9D78/4! >BW7=6O;-JV/ 35E:M-^#?(E]JU,OI M@V7:CA/LWJ/$&QL,X&NHTD+!CMQY^29XN<:G>+YX,&7M1+P)\JZ%;<)1V!%1K#LC MAYR18V%FY$^&NJFB9$K])2&F-$?Q' =Z>]#7XTS)\!W-L7KISX:ZJ=L.=9\/ M1,\=;RY+>AX@<+C70R#5_RP[D'!9'H=#;6K \8R7[OI=J(1S/RM5Z-N6*N<#T7;'@8#8ZAK;] W7PZGC_9Y/K"J O&8'2"6KE0SW&Q%F2_>X)=2<%2] 9MM7;7;7?>?Z* M/,\A]S(M*:YE.R+#$E$R]FE^YVZDM0W(7" M72A<<3>@J)F@+O6 ZV_M68E,+$[%#M^,_3YI<.M; :<'"^H16W:YO3UX9_\[ M^U^/_2-E5.@V9RX+:**ZL1&&B%'4)S@_5F8E.XF;I7SEYAY5XY^[>5LZ4X$Y.9 MB*A(E"PRM$J*<88%\%,@%&)!Y68$Q*'IJV9/L8 M.GVV-'AKH"_9B!ZPM&7/X$>\8%DZ^KY]T.P\=?DCC]0^WK >#$DS'71K1K $8[4$9[.$!PPJ/&6 03)"=T9A MEF=CBF?;\#=LJH&9L[P+"AH'8_2S:SU@TLB"75BK>W-0+LQ#\)JU6]KB^:XH M^#SPBDT%/&*<86P-O^DF(-SM<[EPB:YE(_V,]20%/ELM9GG]COL^"*!KLQ3# M4W?7C&XF6>$6S;OG(>,'+7%]ZN?UE:PH_ &35YY4)N1I (,"M+5346.U /80+*A-%S>N>4$ MHJW=2@YAN8>1<9J& \#9CH([P9:#[;Y/\@?>W[[B:-41 ML]W1(]: +Z"2NPZ&=!Q%_"4#0P-3\!!\)?]:/QY)_LM',\TP7CX#CJN-($Q> M/D<$H9G>WG-T6$/1Q@?>T)"(4_?ZGR/2?OG4&5B>L==6.?30A8P*]CH8VT#5 M#O0+@+Y^A"#N:%!@2#8&9P$I<(E(A/+E7-%=;1:4H.@FXI[_!JT\8BU$$E. MR1(Z) N1YKQ%6YB!)@U9!_+,-L\O@;%%_)"^ADNB@-^#\RTK.H8(1?WL,H@+ M.X%XA_SL8C,XER7B(?U"_NCUU@+FN;VR/GCW<)C_#C#: P918[MX,+)AH5M= M@#UZ;O>">9^9\.'%7$VT41]0Z]N00MAPO* ;A P),[V1##D13M36'!WVZT') M9B/AM$D'D!S'&XU72WB60>[ F:!W$%->TO@ MK(GXF0;LY_L.@_Z72@[=X[9\Y0%;WG'U!]M2.I#: M2[[94@(KR_ ]* K6!3TX!QK3D-<#20-9&,VZ#X$",0^V1MFUNQXP \[!".:* MKD:;0F?Y8=MT1,3R*FT?,TED8\ UPU$&:-D!%0;DO2TC3: %EBE< 1)$B)F7 MIBJ-LI@9M7=W1\L1TG8@\0CI"M'K"N-DX.M''PH]N(@0"?K-4$NC$=BH&VSY!%E,P2O+ MNTH#33$>0R\=3>=(J80H YI\D,HA-2]I5;/7[A^R#5;USAZQNF4$DCU0I"9D M3 V9-$N=]&*Z6TLY5O?(*W/)7EK"R!E%-B@:!+:,,G\A^YJ)47\ABJLUBI@3 M7.T9&(XN--N6KNW2W'*VQ:@2]1O"XX]P:HD>> ;G2&)MXR(@/7BV@1 3$P@.! T.!9&F'P M:R#)X /4!J(>,H?L/VR)OLW85^/=G0C7^Q MW7ML]YVQ7965XE&%[(F]" %$AHE+8CS"*B(1EZ*Q2#Q&QTAJ%=M=OO&.NS#. M& C^S;TM6V>= QE+_?7*31N;FQ./*-]_G>L5]\3H6U?3;!\ /:;JVN[= ?(I MA>^Q*-RZZ7*%R>"ZRPW"CBC9?CTZW$P2VYXEMIHFMISGJ17QB>[K/!\IG(WL M_\@APQ1Z!-"*@M8CF"L W0"-[MM>QD'7MV^C_0\/TON?+^Y/A3)/CBED3!9E M"M B0Y- C%&T)-(]*@*4"!F'.FA'##84$?>3;26?3G=TRBSJ3_-F(=N7^B(I M4B];IB-I)MZ,U2R!RCP9+?^)F((.:AEYV;+4<0&M),T,GW06:GY8J#0,MMSK;C(\DR,[;?4R\)$BG7%B4XE*U'/L5@U%ZN*\?V60BXN)%L> M,22HO*EVQ'(M69A"O!/[33.Q9ALD.\FD@*M=R8^FFM- M,@B*;-&T$\'E#@Z;4OM-VRG5FI)#P='+O7HN%Z^ZV6:.$\D#N!\5*&/6[R:; M0KDO>HU$L2746T'3/4056Q%G7.JDBGH9SR9[Z:99+XR#IGN8F@+<+3:91$?P M!A+N5^U>3TC N1X@J<2"?.I+3^D4WVIU&\/44[U#]!4PFE1(\[*,3RD M$LI)JL<>1,U,0M"A1 M$,1DD92+,]1TGZ7RO6AJF" DH=S*-G!>BK0,Q/H'Z"I5:;7X3JX8YR?=K%ZR M%X3&3.&R#A 6/Z,*>4^+IXE1P1/@6X,Y'H43.$!9H 9?6+D_DD(W(#?L(6-4VJ@2CH0T%Q@+(<.:%EQ(F7T@';GDV8071: M E#Z'* LKLWVQF/\228R%F^,LTWM*47#7@]0UK"=;HMZA9GPFC'2,IK9'#70 M! [0@)4JZ0-FY/=YK2,A+T> MH(%%)LNII85A$NS"]L=YU4ZD7F(+SCX:42A"%B4"2"+#]B118J.T&(O3 M<3FB0-W TL>_\8+2WO<._7(13<,L>%1M01#YIM)VGOQ\ITI!C!^@HTZ%*L:3 M!)OC*3D_44="EB09V/0 '9796$?6",$4\E7GB6*+^J!:[8OT 3I2IOWDHI0H MUG5\9NA4B4A2DLB)] $Z*B^*Y7'*Z5H$/B*&0U=[LI@&[/4 ':F#IU15%A*0 M/?J:[0PG(TI*5E'3??Z<\K6JSVLY(9D!68L4!OUY^WN#%;SJFKGNM^AT1SXG+#'E'1 @0$7^DKGD#^QT1=]$4,D3<15-( M$ %%TQT/I\/#[T]:'F>T7F[5L2-6?589?-DE[\5*CX3![\_<_584$N<^B1=[ M:W?T'<'C)\]<'1N@B8?U%K1\IX7ST,)YSQI^EA920 $H/WA%#^1!>KA+P>M3 M?NRH+:TE%O?_[O'YR>3=*OBT/LXXGF/!!BRV3K4(,0]0!$7=B@ ,-1E0MTX& MY"GDWG:FEZ( T.M=6!2^M4C.<8(KV$]([==>[YJD/[V5<0DO.N_KTATSJY.FPI!:KCURU826=GJJ_/017."(J@\A,J*.(/E^3_T 4P\;2H9F[(A7\&NNCR] MAL, ^Y]WK&0$86" VW(1,/HQLG,*"/M;F\-IFVE;6A8H\$S-K:%3*0+\(-9= M2-Z2K8I"/27B]E.TF^L56KI$5Q@33\9XO\+]" [%PR&#MSA'+/=$%N6&H1"1 M.)_/^KCF22[?BBN*7!A&![H#WU&!HHTDP_GG!T[_P)8E5?_YH:TIT5RJ1?%XS)*V\*!!*K"I&4 8=15(/\3CS]\]=2'P=Y^C.Q%_*+[H0 M#Y,4RMI$ 3XQ7S:U:#E#CP1*RY0H8DH,ZH/+,W&I4(^3>#,C\9X[3/-.5X^8 M?0XR,0N9F&(>B"C]!A.'W6M\:5QPBA*<0L%LH (I*#<@@G6E5&L65 R 1W. M5BU/=GN>@6H2+%^!3?[GM@0[MUY1VK)3J_6L(5#; &#E5K^DC1(D')$1![+0 MFM,IWDMIQ:8P>_*[=!\BZK:8X_. H!=]$91+GLI3#3,=+YM%58]7?_Q+/D0C MQ $&.9?:^Q8Z+IR>[_M,TZ^OP\XGKO8XL@3<5Y@2:JZXD(TJ=C=+\Z-TMV[6 MJ\G\4*ZBZ4&V)!^(>.S.AE^0#<,>F[EY2_)(-F0Z2J2OX'53R#_5NBTG S)] M#YT(A08DR3[0TEZ)ULMM-I&*U#@QNC(&R.@9C8%KT^V=7^_QJ-!9$;_AUZ@_ MKAMX-2;P6H+/5.M]BDU6$;]"JR'Z$"??8M=;"SI5;#"6-#6HXV@ZZRJ&R]IP M.RD-=_?D*/%SO0S/\]L.5U[;]273V0R)%3?R2V;D3#6X@G"9COJZEQ.E*=L7 M^M&&X%4:_KAESTV_CFK40/N"?F"(>ZSA.S+S^PR+;\_+Y[,R/L;,\\J3G:T4 MG(R09,?M5H2FBP6>@\P,C0_F(4)%OVK$(A8,T+!<=(?$>4R/:SL%=V?H'KP( MGL"JD2)TF8BU$,L?LMI,[#/\O(^*+./&4!RP,.R M]CYN]?#@AI][O.*+;*?>LQK.K/LWC%1 ?%1#JROW!.BL(!8Z(%D*1+4JB_52 M6O>G73:)MY6DS%=1Y5HZ\$YB;PF6.Q_>*A_>TQK.K-&/Y<,!F]'Q["Q6XB=Y M;M#/=I*SYB+@0ZCB(P]DC/I:48)@HV)U@U%P7>+$T\;HBH(@0?;N;=R]C7M\ MX'Q[$DO&JQB2Z7*FRJ]Y[_#FJ5^V*Z 0L2D=U'.]::7 %10CJ%B/X@4/#!F_ M1PN^+?_>DQVNL0UQ%/_:8MD8-\RN*(PJ,:_2%)/Q6JN/^!?E3#ZPQ*W'#H+< MAN=+IN_1@N^R(7K/;KAVM.%Y_[-DFR[]/]%,.'VM17K+]0E9+R*6IS*&)!28$ M19T^@3*$.0SWW(5S^3:[/$Y#'D<'H@UP'?EUULHA5U_J]>79F1,?#L@O::92 M$TV+3/56U:7G8W$^I =5=)$="F$P[$,\?D8+Y,[HX:'^,CC(E6.(A3K"W'>UXL\QQ09,"WM96QS[J MKJ7H _@;L)W_^Q\Z_A>&8D6N?RMEO\,CR\+I0(4^G>(J&+N3Y2WX]=>ERB]3 MT/*OYTK%QK/T/UVYXFLO+D3&:SB9[19WT*^H%JZ-USL]?[T=Y1/KD^N='=\4 M+!Q+/BK%O(5=9LLOK!SB\9E2+BMJ TS6YT;-!+651 MB;Y(+LO'/5#T&6L7WWGO&KP7=A_H]F. [^4]BAYFND(I4>5!I!!+62GG*!C MC)!I]H85+IUH2W,HF8(Z.2MTA!WYOW:S'N#?O!7L"G>S;QD)N;/B(28 MUR7#5&>+7B:%9P3[$V=.;%=>S(5*@!R @5,P&4V!Z]\! >)V3K[-Y M>.NF0!(.A6;:TMQ!TG,@H0![+5K\UP6+P3>H2DY8)(@1\-6!\%1FG304+$'U M-_8AQKPE6.[L>*OL> \8G/O.HH^Q8TN=9'H1*K'0605J^9;16$CD#+'C\F0V M>^A"EB\4/GA1FF5[E_GNC)P[0_)63G*<*!WZ.Y[NN% IF'=(NL:8+94=ADP+ MP$T8M:KHV*6\GIG&H,.TYS)IO(<'"*8[NP8TS6Q?O MBI$VNHL"WJPT'7VB])_*%$,4QSD.SB>P*"(/S#WOX;MRWW=@OO-I]G=Q7[L. M8GJT4.L3DM.I:YT$F>"B5<1]2)LS#S'Z]&>AKFW'%S9E8%0@W^O(?9O=TGNJ MPQ5, ,AK#LB+B%8[WR*$=)8QZ/A*'9@"Y,@.@GW>/+'Q; MUKTG.ES!?G@OZS:J?$ZL=Y.FT$KY9,06AWT7S!#KLN]@W;"'!-[>W@A*T6)6 M;Q,C&%LV6N#=0_D6'LJW<%$NO?OPIK"Q-'=68QE"UD?-1JLXYI1V9PKM!&IY M[UTT?L9\R#LOAML ^/JL>/%]@#=Y<9HC(NE)RQWI]2:><)+Y=#(VK")>7%Y; M]^8=E+<9.WB9Y'AV_7_M!8?(-;GV-N ][>&K&!YOIGF][>LD0#R]PKW=]EP3T!XG8,GX_+@KBDS&9M)I\A?"?&=*6Q M6V+Y/I(%;" +XI'3VS_73H6XIT!\*;?J'N*X7 K$ 0G"TA&F48WJ:<*+Z]%J M/S%)S(90@C#!S7J1AUCLC)L>=[8+,]M]!ZZ[2.[# ;:+,HF4X]1*68$ULPTG MWJ S[*"*V [%+=@'^LTLYML,7"2MT4AST0U R[*O"!MP1& JJ!#L'R7+!5C\ MS[NK\EUV5&\Q&>(J>+W3\TW0\PUF"&R6=VLE 6&?^U7#05 U_'1%9;\%>X63 MET+O%5Y1$=S),MPB_NO(\W"<\&:#_BOV>M_308+_ ?N?MQW"E#;55!"X@\Y MLH$CMM*U5+28Y>N\5FGD&T0E9ZG#3\=BBKE81:*^*9)=MZ+FZ0&U* MA@19B^J(00@BA"30@X-<_I+D->,N_/QI2.':<*'68086P]Y*"V./]KC[6M99^2_M) M.LGGPF#A>C&"9B?[2XPZ020N-GNS7NW)76I7(;QZ])[=_'[CKV8U'VI]E=_F MUQ3=W@MAFVBJ#6/67B!=((F!HNA/\D)?6\RA"W+*MS<]9=)R$%]30?]%KC?S M->@4D[RI!KA8Z6HY GW)@E),X6%%3-7NJ M>3D"2[Z-?\9/6&GQ S>:M8,!A#L/()R_W?<8.4L%]'_H%@!@Q-@BAS[Y6DG^ M3[9DOL[-L"*!MB-"U)J(IBQ:W.N__:,:'_X)'A1W8Z7BF)^OT1VS+G"TBE;SXRB+R,QZ)//5,A=L MDKG.7:]Q#TWX]86=-MMNZUKL0J*[C=EGQ6:SU2AU[W2!^[N=L N"J(V59 ^M M\P:F[,<+*^90&IFFJ,H;_9WOF_U*=+]+GBB90_IU/I;6N=M2KL7+)/MF2N MIBNZC">"Z<0%14LA[K*,N\\ NTL>G7D7=[OIEJO*K%<5VNUY8Z8T%VV42W!' M Z?FX=)LN?@%H"&*%2\&C1EB.#E561F!8L%PY9V'*Q\ZM?;>78#ON.O$L*LZ M_ %T)QB)SR,4UALL?8$G2=)V];&RJ,:,E"B8$QA[V8M6;VW$$+R?8 OAWOR( MCX.W-&-,UJ3+12$,-[:ADB*'E2( WL2=H)YP[,ZUQCA5#>W0 O'JN#OGAFJ< M3Z'T$[<5?X+Z!4/R(L9*&YK M_-@35+1J.N1R-"LOT;J[KN]"W5:OL=XA[B_A<6MIMJ.O_7BBLX"M!OZYI?Z'E%%5U[;@>.W"6U7$#X-IX\==. MSHB?H'M)RHF7B-$'"\W78GM2PID!-I)B,XD?[!\^)?YWLK\T-QS%48TD[A-_ MD8C#?3EC*_^_TZU-,4#'+;QB[\J5J3L_&,K&>8+3CXSWM=OS ;Z(4=]89A_Y+Y_!+V1ZDI;V2(O.NQ( MAXBES8.OA[]Z_BIALN?O7#_9JOWJ:98"4I3!LW]X:C(J@;NZW)"\_S9_*!W\_I;L/V 9@".A" T!\LT?E(S;Y8Y^>ZBPE(4=Y3K"4 MBL?^%D[,%9G$"$9F4#1VP^;T'*,IE6#GRE^'MYZGUUZV=AKS]L\M^]"7+,KD MBL*@R@OB(4A0;?$'W9!JV2 M;'KYB-56H"3SNF1]UJ8UPA5E 2'S%9>AJE)(?J8O;^;!N+TJ2;PS['N3 MVJ[1JG3CDM3KDFAK55"M0M\SV[(_+J[KQL*0HKADZNW2G%_(SJ2/2+O=C%7I M7HL3+#TNB6&OBTY7ETPU/BJS#9LLTT-IO<]K?'^+ M-TI5\,Q4XREOORWA8K@21$,)O=)^:>MQUY/IQNO-M5K8M:*)5-8M?%0MKZUU M"3PSW7A]V+>]I:#MI?K**,9KB8)7X[HRE6[2-!Q+FDA'JAFJ@2Z7*GE'JG7C M=7&JI$,(G::]V4\DI6%4&X(4NC6%D_/IDBJ%U-TR.C3Y191Q97*R6RZ)%K7]7VOB>BHL:8MQ%8#&1*NJ1 M[G2'XFW#-.J=7A4SIS+!Q$5/&%3@=1QG$^514ZF5A46SR?4P-2YZPJ)40YUP MM3K6E]K"@,TW<9$MUC@9.S%2M"99K;FC971]ZBX!TX,U5J.JZJ7 M=%TRVM%(VTD4V]K&%3@Q5O*\6Y:[/LZD;L",7E)BYZ8K3RUM);SOK;)3H,3;3&>%1)FB:7VZ>*[K8EIS2RBJ$0 M[FHF%PTJW2FK@ULT4T5[PXX2Q6_DT7I9#(->:!7*5%$TA<#R+N^1#N#VK[- M(M-^/KE0(\U *ZD\B82A*JU]M5Y8=X5%7>= T32G:YTAOQ]5:P)?BPBV%#GC MG9-6JJ"UB\X^P:HV[!''++9E%7I0TV M2.IZ@H)[@=FN3ZIK81?[C:NJBDH[DP-ZXVG,FENFV$ KC%#NB,6:RVJ+&1C: M[SA(EL/?EA2'@$>\G+"4E:]]??[P/R7^/H)^P1B6 MP;#\JX7 BT#)<1F0=NH#[[DVQ[=@!S_@8QL&%/Z%?BOH]L+1?O%X-W[DW'*C MY]7C\[\1$!'Z>E@T 3FJ=]-;VY,0,' E+3YQH( M2$T9&0A(31D9"$A-&1D(2$T9&0A(31D9"$A-&1D(2$T9&0CT"P8'XHP#\8M) MVN_%7*_7:.87&GW1Z&:FFZRZ%OCR?_^B_OK=U%;\"T;=]- I:$VCDN^SYX5+=NT/7/81Z"PI^OW>RMY$"S M=IWX86+Z? 8 #1\:/C3\3]1N:/C0\*'A?V;#/ZS.[M8 ,AX6?W6':<=S9Z$: M'&2O-&]CJ%K..ZS7[B$ G@7@OI>PDUD)G&O"L[T&MJN^^ MD*[RO4 ^FG_;$P^VSVT-7[85WW_^#="N.?RJF5S!)V]TT_79_$Q&U[8MY$65 MC+A-] =*Q G62IYK PD)T/*A$2SXT(]M3O.$K6J%8%0XW]?B_\[ZRO:$O6^]X0W1#=W]&-O40W]IOH M9BNF[!.*4T*1H+V/AMNQTM6[-T9W832IAIQ2KDOKBKS:-3O>M%( ^@GT7W_G MG]C+"/%"<$-P9P#V(6X.;8ES;+G+"PN1; M]=FRM4?#L@F$3-AXZF9.7B4 T0W1_5#H/LO4K;ZMVK;H]:"N"9I>Z09;1"%+;@1<%CR&-_&$YR]RF?"M-[@?>TO[50BE$=N@ MXQ\4R=2CJ9P]AG*WX;#SQX%O?4? B?2=L[%^!IN;B8GB=R(X1US&$\4S@1]G M"F7$(9038 44WXS"[G"]G+"K6\\4:%68>KV12)KMP6K#8>,JTM@![3GBK[]) M]H+Q&\@LF8$:9);[B![]E%FFWD:>J'NSC?+N:#D5O$$%X6_-+$$7<08T+_#2 MD-]ZE8CLS?9B%#,+N 27OHC_"9DE8U"#S'(?H:N?,@O/>'AI2^R+Z% >MH?C M4ENT'?W&S**.VM,:ON=DHOO?/Z"86G(+)F!&F26^PB; M_919AC/:V*S&@PHJ8]F&KT.[/ (U,^Y/>?1;O6=&OU+"'8(]I/. M'#4=M*M-S#;-(=E4Q+%;ZB#&K=,,N6V9]? MLWL>L"\8JC4M#"M%:9T7BA55"4EG!B;V8YI2# "8IG1O:4KQ,WG73V[X]: " MQV,<2[U\@/VVITUS\)PU-&AHT-"@H4%#@X8�WZ(0T:[C3?6.%"_7%=!+>? M,WN@[LSL\RD"3QF6NP !B?;\&+0Z$8AJ&\IZ$#9[F%!6'47:T:%>L2.924Y! M/!$T!H/.$+N? +M9%+-X#[M1=5O;28M'8/W(A,OW+N]M<3$I8(8=QN7@H>K MX.&JQY::>&\J<+#.5&3F9@%M5YRR(C;D_FRFR^PA&_^"P1/(&9D!$>2,^XC: M7$M$XCW.4(59?[3@PT!0&J.Q+3@$/_:YF#/HO_ZFH#H$I Q(&5D)%EU+'>(] MREB+0;&RW1,*RH^6S4[%'2^$1C>F#/:OOW'R@J> (&=D!D20,^XC2'4MW8?W M.*/E(^*%TV)$29F&)IBO[HOM&C.QS==&4,/63;D932I/]%NWZU-'<+X)O&>,VLV MO ?CLC:1.RNI+ BB(=C*=) ?]-@(P/B0<'-)T6 (8PCC^X?Q5>08WDUY;1-+ M31+'%7/ME!JK%3&)<$QDGN#4VR$,80QA#&-Q9:> _&,E6L2@6V6T6173]8 M:Z2HYKN)4WU(PZ$( J;AW&T:SC'$4?9308?Z""S"(_LS :+_00,P;Z,_PH.>0 M* M#6US[:):M8QV;Q,!] .A2_0I3U]DW0;AGS$\0/@_:.#F;?BWRA.SP(GC#8K/ MI^T M;T^[7$ _B!LDW_"&9B99*?$SVRL-&)FCY[3M"B1 ^><3O[R/,8(G M5A]U@#[1W@VTP@_6_6:R?- ,H1E",X1F^-G-$&[$7E$/H:?YFN*IBT008:9M M-,M=V9H#]V2AV&R&Q68?;$_U&82<,RM^AZ!P6&Z?NM.U/PLF%& MJY;G3S@9(PYIYS@+ ZT0SQ#/-]LE_54\[REO$2A+0A!LJF:)E8E+&:0.\)SD MGZ,4O >XAGB^6;[GK^*YZ:L.TO:WS<%OH>$*.7[0I-+\)PDHF.7/$]R:[N& M>(9XSOI&YJ_B>2FO\QK/!%6I3DZ*9(/O>P02 3P?,M+12U[J=VO#?M2MS5>! M$%&SK/AM3SE=%KAP:.<*R? !E3-C< M#Y#\.64)TLIGC3(V(?C$P4'-&G/'81SOY$>RBW!@$$^"/$ M2GX;X!*E58+E-B^CH5OJ&JVXZV[@* )T*&Y!-%7$0^"^:77%_+T$TED<,$$WCR!Y[\N9,H MS+%!5,1$&U3K"Q&E(:I\7J,2@(NU!.*PJP42 *0!.XV M4O,1$A!K9AV?\.A:HC>HY8WU3G"<&"H! $H D<+_AG(^00*DB M]6IM6[4%!!EN!KCISM%6X@F R WS1%/0$X D $G@;D,^'R$!:KO0JH&^YP2< MVO-YMLBA?#LA 1#=P=$GZC)78L&DF6M&=QI Q7'NN?9SA,=USA?9N8\1@T'X M>PS" P[^YV/$9*J.ZMH:0&),PW%;X^>T[& M:!">89X(.KU=_C]P.PTB&2+Y>H&5CR%Y7R351G]:7: (IX9"MZ+C\X(.D$P# MG:53^^(0R1#)GQS)UXV.? S)+670#E))F%>,+IRTS+,)OE MTOJ'P4+ST9VO,CV?/-M")O/; /O]M[D$BHQFMQ3_.#YQQ^N-$+)6?O.Y)T ME8W:9]C\_"24W6X7RTO?X\QU(-=FOC4:FCM=QIA#ZCR, 4/D/2CR+KNQ^@'D MV2'2Q+Q67S*H:5NES9#-;Q+D >5%F!(!D?=PR+O*1NC[R,-U0<9*9G,HU?7> MMFHNMLU0Z@+DL3'RX)P'D?>HR+OLON7[R,.*4W=2W,ZK*#YOUA4$EZ/JA@/( M UN5Y(7\3;A/><65^LL]RZ>0#NXVBO'+=+#6PJTC1OI<$/>= M(E56@@9?C0 =@ 3Q"\J>0C;(##P@&SSJ ?Q?98,AQ?6\VH#T!:0YG=67\L*8 M-Q+G@ 6K/0S2 :0#2 ?W&N[Y93I0UH;FSNL[S1RJ(K+9D,O%B$F<@R11G;X( M'\ TC1M(+I[,6S]O-.@^A@\>(;K'(T0/%M3Y)9?-;TZEK:F%$CWOCXHK/EQ% M)3VN5A+/N>0*#@(: OIA 'W9L,RO )IL+^J%O;K92(@\Q/(;;KQJEKL T"#- MY()+,(AGB.?[Q_-5 BN_@F?4*HS[&K;K2V5^I'<*K9I?D!(\@^25/ T!#0%] M?X"^_^27MS#\TZ/[]:U9=YM[6I#J!#OL5AQY$Y$)F!.E0BJM6 SS8;*>#Q,_ MLZ4%.0O($X*+/&-36'G:(C8%8Z,E7\.,F$M'N8F8VV9N.+6TVQ#W_[U>A/L& M37WH(S,Q=C\FN])?-XM,U^\C*,TC?K6%"H.2I\M@9@&JABA[R11^B/SLP $B M_S&.['P8^:4F-9GK]'(H#/=C1FQC4V52C0#R#RJ(^&7<-HC\K,$!(O\QC@Q] M&/D6TZ=[A/*T:'F!N< M9.Z6T\BT^%5AXR?0/ZHL4MAE''Z8P'*M:,U*\W+^0O&T',Q2R>R!S^LW,@LG M0V^EU_7@0POM%]KO/0\MM%]HO_<\M-!^']9^X2;S%447"HIOJ,EN\\RPPD"; MP2UF&'/ZO#&GHK$Q9EH2<4K6\[X\+/6*^69%$ 6CTZ_WT4[5G2W/O<^,_T+< M25 \)^XUOZ-Y(JAB@N!T_ G]%G]2D;H_-V<,+R#%?6VT*DU):M:5<0)L-Z-? M\'3B'PP\0Q* )/"')/#+6\X7)0%[VS,0K*^VI=UNJ@VDR78SH3E G1" GE( M I $( F&NG,(T(D #8CD:_D' S^BXWHX<:L&]M MEE/BBBFZ!HX/V+%%'PPWYX:!#Q(JXDK />K,QI@?2Y08[GU N\R@74*SA&:9 M0;.$= GM,HMV"7> X0XPW %^I)#/^3OF(0-$OZT5R\IB#W> M[^IC76OI9]XZ1G\A5O0<(N .$8)6:$\UKSU/XD9^^WN X#F&]#ITM%J7Y7J7 MWHL"+@\K59^I]A:6+N,4V$DFL"<2(Y[(2RI#04;)#G @H]P'H_SR/O0U&<5B MJU8I\O$-6F;$PLXLEE2BTP6,0@/1R">"H)YH(KTY#1D%,@IDE&LSRN]N:E^3 M4?;2>E/ARV0;73,(VE$KGUR042"C0$:Y$:/\\@[Y M-1FE[M@!-F<"!L5WD2CIBN:Y?,(HB=1>[*3$RQX,O\B%98^P:_ZO0(E-.S,5 M.SN 5 W<7GKXQG#B]P9?"3H=<0/W'!P1U5]H.44%\GZ*LXN'+N>X0?QV<'X\ M;HX1/T[W%"NW4KP@Y\YSP4+SM1AU2C@SP 9_C*09T(=,/B5"G KX>FXXBJ,: M\1_&%AUH=EP1_\L9F_SG)C$S-G__)_[Q_'>JI2D>P,#B^/!OC A>:.#9/SPU&97 75UN M2%[!A/@^ /]1<@L/3!?_W6_SKTSN\!#P.2;,>"*P#H^-#AU^_"I&&J >@"$> MS#XQ(+[9H_(1F_RQ3T]UEI+,$C([G[(TB\WE&:Y1,LE.YS+#H)C,HMJ4(4A6 M417MK\-;S]-K+UL[=:W9SRW[T)4!2$)G?31GRK9.YE+7/?JYEKE^)_M?EZ MI=TH"CT1D!"6_W=.Z$K5_OAJ])]FR^D/;WW9Y+_^_J?TS.S_\Y]_3:\W29T MWXLYZNTJ&TX\*[FA'WM._E-.VZI:_(<'!13%CCDQ\+^WY0@1=3YCYL1L)D\9 M=2Z3!$7)4XQ@97K.DBRKYE&*5H[6I3R[7LAVT!UN"8<0UAW*P6D)"?6='ON, M^=_+/N[BF0L)+2 =/7:7M!E M7,9?EU3W6&KY%F,R7%P2 M0U,UG;5G%E(=HFAY1?JERA1K4F%2-%73J%-7-6E">\(:7_HB7IIJ:Y&3B71- M^QB+3 L&RTLT*V-5>T64U&(W+DF^+JEM:[*#4&,9#<.-'*X-@U\:H&2J3:-^ MJZ5M9YN6-+29?KZA5T<-,XI+IMNTTW!]N<%FDH1/W+R%H'E49Y*BJ3;Y?